Jump.jl: 0.18 tag (for Julia 1.0) checklist

Created on 13 Sep 2018  路  17Comments  路  Source: jump-dev/JuMP.jl

Hello all, I've been using the release-0.18 branch quite happily with Gurobi on Julia 1.0 for a few weeks now and, for me at least, everything is working just fine. I suspect that very little needs to be done to get release-0.18 in a state where it can be tagged. Among the remaining tasks are tagging the open source solvers that are used in testing.

Could someone with the authority to tag please create a checklist of things we must do in order to tag it?

It would be a shame if lots of people got stuck on Julia 0.6 because they are waiting for JuMP 0.19 to be tagged.

Of course I'm willing to lend help finishing it up. Thanks all.

Most helpful comment

Closed by https://github.com/JuliaLang/METADATA.jl/pull/18532 :)

All 17 comments

At a high level the checklist is simple. If the CI tests are passing on 0.6, 0.7, and 1.0 then I'll do a sanity check and tag. What solvers are currently failing?

SCS is currently making it fail and it we cannot release a version compatible with Julia v1.0 because of missing binaries https://github.com/JuliaOpt/SCS.jl/issues/92

We can replace SCS with another SDP solver for testing if that gets the tests passing.

After a quick look, it seems to me that the package most in need of a tag is Cbc.jl. I assume you wanted to wait for this?

Yes, the updated MOI wrapper is a blocker for tagging Cbc.

I think we need Cbc right? Looks like that's close to being merged though, so once that happens, I'll put together a PR. (Although maybe GLPK is sufficient, I haven't checked.)

SCS can be replaced by CSDP

Cbc is tagged now (https://github.com/JuliaLang/METADATA.jl/pull/18034)

I'm having difficulty getting Clp.jl to work with release-0.18 and Julia 0.7. I'm on release-0.18 ([4076af6c] JuMP v0.18.2+ #release-0.18 (https://github.com/JuliaOpt/JuMP.jl.git)) and ([e2554f3b] Clp v0.5.0), but trying examples/basic.jl gives

using JuMP, Clp

julia> m = Model(solver = ClpSolver())
Feasibility problem with:
 * 0 linear constraints
 * 0 variables
Solver is Error showing value of type Model:
ERROR: BoundsError: attempt to access 1-element Array{SubString{String},1} at index [2]
Stacktrace:
 [1] getindex at ./array.jl:731 [inlined]
 [2] show(::IOContext{REPL.Terminals.TTYTerminal}, ::Model) at /Users/ifiske/.julia/packages/JuMP/6Z1Ly/src/print.jl:167
 [3] show(::IOContext{REPL.Terminals.TTYTerminal}, ::MIME{Symbol("text/plain")}, ::Model) at ./sysimg.jl:195
 [4] display(::REPL.REPLDisplay, ::MIME{Symbol("text/plain")}, ::Any) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v0.7/REPL/src/REPL.jl:131
 [5] display(::REPL.REPLDisplay, ::Any) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v0.7/REPL/src/REPL.jl:135
 [6] display(::Model) at ./multimedia.jl:287
 [7] #invokelatest#1 at ./essentials.jl:691 [inlined]
 [8] invokelatest at ./essentials.jl:690 [inlined]
 [9] print_response(::IO, ::Any, ::Any, ::Bool, ::Bool, ::Any) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v0.7/REPL/src/REPL.jl:154
 [10] print_response(::REPL.AbstractREPL, ::Any, ::Any, ::Bool, ::Bool) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v0.7/REPL/src/REPL.jl:139
 [11] (::getfield(REPL, Symbol("#do_respond#40")){Bool,getfield(REPL, Symbol("##50#59")){REPL.LineEditREPL,REPL.REPLHistoryProvider},REPL.LineEditREPL,REPL.LineEdit.Prompt})(::Any, ::Any, ::Any) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v0.7/REPL/src/REPL.jl:708
 [12] (::getfield(REPL, Symbol("##55#64")))(::Any, ::Any, ::Vararg{Any,N} where N) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v0.7/REPL/src/REPL.jl:971
 [13] #invokelatest#1 at ./essentials.jl:691 [inlined]
 [14] invokelatest at ./essentials.jl:690 [inlined]
 [15] (::getfield(REPL.LineEdit, Symbol("##27#28")){getfield(REPL, Symbol("##55#64")),String})(::Any, ::Any) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v0.7/REPL/src/LineEdit.jl:1319
 [16] prompt!(::REPL.Terminals.TextTerminal, ::REPL.LineEdit.ModalInterface, ::REPL.LineEdit.MIState) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v0.7/REPL/src/LineEdit.jl:2353
 [17] run_interface(::REPL.Terminals.TextTerminal, ::REPL.LineEdit.ModalInterface, ::REPL.LineEdit.MIState) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v0.7/REPL/src/LineEdit.jl:2256
 [18] run_frontend(::REPL.LineEditREPL, ::REPL.REPLBackendRef) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v0.7/REPL/src/REPL.jl:1029
 [19] run_repl(::REPL.AbstractREPL, ::Any) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v0.7/REPL/src/REPL.jl:191
 [20] (::getfield(Base, Symbol("##831#833")){Bool,Bool,Bool,Bool})(::Module) at ./logging.jl:311
 [21] #invokelatest#1 at ./essentials.jl:691 [inlined]
 [22] invokelatest at ./essentials.jl:690 [inlined]
 [23] macro expansion at ./logging.jl:308 [inlined]
 [24] run_main_repl(::Bool, ::Bool, ::Bool, ::Bool, ::Bool) at ./client.jl:340
 [25] exec_options(::Base.JLOptions) at ./client.jl:252
 [26] _start() at ./client.jl:432

The error seems to come from JuMP's show method, so I wasn't sure whether I need to report in JuMP or Clp.jl.

Ah, I know exactly what happened. In 0.6 stuff prints with the module name by default (e.g. JuMP.VariableRef) but in 1.0 the module is omitted if it's in scope. The show method you are referring to was trying to split a string showing such a name on . and was throwing an error when the result had no second element. This is the kind of thing that I haven't seen yet that I'll be fixing once I try passing tests with the solvers. Really the printing is much in need of a careful cleanup, but that won't be happening for 0.18.

By the way, we really should make sure all the solvers are able to use the OS binaries, the build process takes forever and there's really no reason for it as seemingly everybody has Cbc in their repos (at least debian and arch). Maybe I'll make a PR for that as well 馃檪

I have added a milestone that can serve as checklist: https://github.com/JuliaOpt/JuMP.jl/milestone/19

Great work on the segfault everyone, glad to see this is moving along. Sorry I wasn't more helpful on some of the most painful parts.

Milestones are all closed now, how close are we?

Closed by https://github.com/JuliaLang/METADATA.jl/pull/18532 :)

Awesome! Congrats all!

I am getting the same error as @ianfiske on every solver I tried (SCS, Clp, Mosek, CSDP)
I'm on MacOS 10.13.6 and JuMP 0.18.3, Julia 1.0.

@nrontsis this has been fixed by https://github.com/JuliaOpt/JuMP.jl/pull/1528. A new version of JuMP has been tagged; just wait for https://github.com/JuliaLang/METADATA.jl/pull/18711 to be merged.

JuMP v0.18.4 has new been released

Was this page helpful?
0 / 5 - 0 ratings

Related issues

mlubin picture mlubin  路  5Comments

chriscoey picture chriscoey  路  3Comments

angeris picture angeris  路  6Comments

igormcoelho picture igormcoelho  路  3Comments

martinbiel picture martinbiel  路  8Comments