Skip to content

AssertionError: k == rinfo.nnz + N #2897

@basberr

Description

@basberr

Hi all,

After the update from v1.46 to v.1.47, some of my codes now trigger this error.

This might be related to this recent change: #2882
(which btw has sped up the resolution of some of my problems by a factor ~2, so that's very nice!)

I did not manage to isolate a MWE yet but I verified that my code works with v.1.46.

Here is the stacktrace in case it evokes something to you (it's with Ipopt but I get the same with MadNLP)

ERROR: AssertionError: k == rinfo.nnz + N Stacktrace: [1] _indirect_recover_structure(rinfo::MathOptInterface.Nonlinear.ReverseAD.Coloring.RecoveryInfo) @ MathOptInterface.Nonlinear.ReverseAD.Coloring ~/.julia/packages/MathOptInterface/9lCV5/src/Nonlinear/ReverseAD/Coloring/Coloring.jl:447 [2] hessian_color_preprocess(edgelist::Set{…}, num_total_var::Int64, seen_idx::MathOptInterface.Nonlinear.ReverseAD.Coloring.IndexedSet) @ MathOptInterface.Nonlinear.ReverseAD.Coloring ~/.julia/packages/MathOptInterface/9lCV5/src/Nonlinear/ReverseAD/Coloring/Coloring.jl:489 [3] MathOptInterface.Nonlinear.ReverseAD._FunctionStorage(nodes::Vector{…}, const_values::Vector{…}, num_variables::Int64, coloring_storage::MathOptInterface.Nonlinear.ReverseAD.Coloring.IndexedSet, want_hess::Bool, subexpressions::Vector{…}, dependent_subexpressions::Vector{…}, subexpression_linearity::Vector{…}, subexpression_edgelist::Vector{…}, subexpression_variables::Vector{…}, moi_index_to_consecutive_index::Dict{…}) @ MathOptInterface.Nonlinear.ReverseAD ~/.julia/packages/MathOptInterface/9lCV5/src/Nonlinear/ReverseAD/types.jl:97 [4] initialize(d::MathOptInterface.Nonlinear.ReverseAD.NLPEvaluator, requested_features::Vector{Symbol}) @ MathOptInterface.Nonlinear.ReverseAD ~/.julia/packages/MathOptInterface/9lCV5/src/Nonlinear/ReverseAD/mathoptinterface_api.jl:123 [5] initialize(evaluator::MathOptInterface.Nonlinear.Evaluator{…}, features::Vector{…}) @ MathOptInterface.Nonlinear ~/.julia/packages/MathOptInterface/9lCV5/src/Nonlinear/evaluator.jl:105 [6] _setup_model(model::IpoptMathOptInterfaceExt.Optimizer) @ IpoptMathOptInterfaceExt ~/.julia/packages/Ipopt/qJgV6/ext/IpoptMathOptInterfaceExt/MOI_wrapper.jl:1341 [7] optimize!(model::IpoptMathOptInterfaceExt.Optimizer) @ IpoptMathOptInterfaceExt ~/.julia/packages/Ipopt/qJgV6/ext/IpoptMathOptInterfaceExt/MOI_wrapper.jl:1356 [8] optimize! @ ~/.julia/packages/MathOptInterface/9lCV5/src/Bridges/bridge_optimizer.jl:367 [inlined] [9] optimize! @ ~/.julia/packages/MathOptInterface/9lCV5/src/MathOptInterface.jl:122 [inlined] [10] optimize!(m::MathOptInterface.Utilities.CachingOptimizer{…}) @ MathOptInterface.Utilities ~/.julia/packages/MathOptInterface/9lCV5/src/Utilities/cachingoptimizer.jl:370 [11] optimize!(model::JuMP.Model; ignore_optimize_hook::Bool, _differentiation_backend::MathOptInterface.Nonlinear.SparseReverseMode, kwargs::@Kwargs{}) @ JuMP ~/.julia/packages/JuMP/e83v9/src/optimizer_interface.jl:609 [12] optimize! @ ~/.julia/packages/JuMP/e83v9/src/optimizer_interface.jl:560 [inlined]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions