Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issues with new versions of Convex and SCS #117

Closed
ilopezgp opened this issue Mar 3, 2022 · 6 comments
Closed

Issues with new versions of Convex and SCS #117

ilopezgp opened this issue Mar 3, 2022 · 6 comments
Assignees
Labels
help wanted Extra attention is needed stale dependencies

Comments

@ilopezgp
Copy link
Contributor

ilopezgp commented Mar 3, 2022

I tried updating to Convex 0.15 and SCS 1.0, and I ran into the warnings and errors below. In order to update, I followed the release notes of Convex v0.15, which make the change

instead of `() -> SCS.Optimizer(verbose = 0)`, use `MOI.OptimizerWithAttributes(SCS.Optimizer, "verbose" => 0)`.

However, this leads to errors in the tests,


┌ Warning: Problem status ALMOST_OPTIMAL; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status ALMOST_OPTIMAL; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status ALMOST_OPTIMAL; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status ALMOST_OPTIMAL; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status ALMOST_OPTIMAL; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status ALMOST_OPTIMAL; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status ALMOST_OPTIMAL; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status ALMOST_OPTIMAL; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status ALMOST_OPTIMAL; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status ALMOST_OPTIMAL; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status ALMOST_OPTIMAL; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status ALMOST_OPTIMAL; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status ALMOST_OPTIMAL; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status ALMOST_OPTIMAL; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status ALMOST_OPTIMAL; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status ALMOST_OPTIMAL; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status ALMOST_OPTIMAL; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: New ensemble covariance determinant is less than 0.01 times its previous value.
│ Consider reducing the EK time step.
└ @ EnsembleKalmanProcesses ~/EnsembleKalmanProcesses.jl/src/SparseEnsembleKalmanInversion.jl:169
┌ Warning: Problem status DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status ALMOST_DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status ALMOST_DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status ALMOST_DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status ALMOST_DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status ALMOST_DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status ALMOST_DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status ALMOST_DUAL_INFEASIBLE; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: New ensemble covariance determinant is less than 0.01 times its previous value.
│ Consider reducing the EK time step.
└ @ EnsembleKalmanProcesses ~/EnsembleKalmanProcesses.jl/src/SparseEnsembleKalmanInversion.jl:169
┌ Warning: Problem status ALMOST_OPTIMAL; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
┌ Warning: Problem status ALMOST_OPTIMAL; solution may be inaccurate.
└ @ Convex ~/.julia/packages/Convex/o98db/src/solution.jl:342
SparseInversion: Error During Test at /Users/ilopezgo/EnsembleKalmanProcesses.jl/test/EnsembleKalmanProcess/runtests.jl:367
  Got exception outside of a @test
  SingularException(3)
  Stacktrace:
    [1] checknonsingular
      @ /Applications/Julia-1.7.app/Contents/Resources/julia/share/julia/stdlib/v1.7/LinearAlgebra/src/factorization.jl:19 [inlined]
    [2] checknonsingular
      @ /Applications/Julia-1.7.app/Contents/Resources/julia/share/julia/stdlib/v1.7/LinearAlgebra/src/factorization.jl:21 [inlined]
    [3] #lu!#146
      @ /Applications/Julia-1.7.app/Contents/Resources/julia/share/julia/stdlib/v1.7/LinearAlgebra/src/lu.jl:82 [inlined]
    [4] #lu#153
      @ /Applications/Julia-1.7.app/Contents/Resources/julia/share/julia/stdlib/v1.7/LinearAlgebra/src/lu.jl:279 [inlined]
    [5] lu (repeats 2 times)
      @ /Applications/Julia-1.7.app/Contents/Resources/julia/share/julia/stdlib/v1.7/LinearAlgebra/src/lu.jl:278 [inlined]
    [6] \(A::Matrix{Float64}, B::Diagonal{Float64, Vector{Float64}})
      @ LinearAlgebra /Applications/Julia-1.7.app/Contents/Resources/julia/share/julia/stdlib/v1.7/LinearAlgebra/src/generic.jl:1142
    [7] update_ensemble!(ekp::EnsembleKalmanProcess{Float64, Int64, SparseInversion{Float64, Int64}}, g::Matrix{Float64}; cov_threshold::Float64, Δt_new::Float64, deterministic_forward_map::Bool, failed_ens::Nothing)
      @ EnsembleKalmanProcesses ~/EnsembleKalmanProcesses.jl/src/SparseEnsembleKalmanInversion.jl:142
    [8] macro expansion
      @ ~/EnsembleKalmanProcesses.jl/test/EnsembleKalmanProcess/runtests.jl:408 [inlined]
    [9] macro expansion
      @ /Applications/Julia-1.7.app/Contents/Resources/julia/share/julia/stdlib/v1.7/Test/src/Test.jl:1283 [inlined]
   [10] macro expansion
      @ ~/EnsembleKalmanProcesses.jl/test/EnsembleKalmanProcess/runtests.jl:369 [inlined]
   [11] macro expansion
      @ /Applications/Julia-1.7.app/Contents/Resources/julia/share/julia/stdlib/v1.7/Test/src/Test.jl:1283 [inlined]
   [12] top-level scope
      @ ~/EnsembleKalmanProcesses.jl/test/EnsembleKalmanProcess/runtests.jl:14
   [13] include
      @ ./client.jl:451 [inlined]
   [14] macro expansion
      @ ./timing.jl:299 [inlined]
   [15] include_test(_module::String)
      @ Main ~/EnsembleKalmanProcesses.jl/test/runtests.jl:11
   [16] macro expansion
      @ ~/EnsembleKalmanProcesses.jl/test/runtests.jl:29 [inlined]
   [17] macro expansion
      @ /Applications/Julia-1.7.app/Contents/Resources/julia/share/julia/stdlib/v1.7/Test/src/Test.jl:1283 [inlined]
   [18] top-level scope
      @ ~/EnsembleKalmanProcesses.jl/test/runtests.jl:17
   [19] include(mod::Module, _path::String)
      @ Base ./Base.jl:418
   [20] exec_options(opts::Base.JLOptions)
      @ Base ./client.jl:292
   [21] _start()
      @ Base ./client.jl:495

I am not sure whether the tests were ill-posed or there is an error upstream. However, we will need to resolve these issues before updating dependencies.

@jinlong83
Copy link
Contributor

I hope that Convex will become as stable as CVXOPT in the near future... I'll take a look at this issue.

@odunbar
Copy link
Collaborator

odunbar commented Mar 15, 2022

@bielim also found issues with Convex, is it related to this?

@ilopezgp ilopezgp added stale dependencies help wanted Extra attention is needed labels Apr 7, 2022
@ilopezgp
Copy link
Contributor Author

ilopezgp commented Apr 9, 2022

Is there any other package that we could use? We should either enable updating to the new version or ditch Convex.

@jinlong83
Copy link
Contributor

Is there any other package that we could use? We should either enable updating to the new version or ditch Convex.

I'll try to get it ready to update soon.

@jinlong83
Copy link
Contributor

Is there any other package that we could use? We should either enable updating to the new version or ditch Convex.

It seems that I didn't run into errors using Convex v0.15.1 and SCS v1.1.1 at local. I'll create a PR to update the package dependencies.

@ilopezgp
Copy link
Contributor Author

Fixed with #201 and #202

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed stale dependencies
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants