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

GLPK-related segfault during testing on Julia 1.11 #73

Closed
maleadt opened this issue Jan 8, 2024 · 4 comments
Closed

GLPK-related segfault during testing on Julia 1.11 #73

maleadt opened this issue Jan 8, 2024 · 4 comments

Comments

@maleadt
Copy link

maleadt commented Jan 8, 2024

This package generates a segfault during daily PkgEval, and the segfault looks related to the use of an external library, and not a bug in Julia:

glp_delete_prob: operation not allowed
Error detected in file api/prob1.c at line 1580

[17] signal 6 (-6): Aborted
in expression starting at /home/pkgeval/.julia/packages/Pavito/mIeqA/test/runtests.jl:27
gsignal at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
abort at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
errfunc at /workspace/srcdir/glpk-5.0/src/env/error.c:53
glp_delete_prob at /workspace/srcdir/glpk-5.0/src/api/prob1.c:1580
glp_delete_prob at /home/pkgeval/.julia/packages/GLPK/usyvi/src/gen/libglpk_api.jl:98 [inlined]
#2 at /home/pkgeval/.julia/packages/GLPK/usyvi/src/MOI_wrapper/MOI_wrapper.jl:189
unknown function (ip: 0x7fb2d2a79375)
_jl_invoke at /source/src/gf.c:2921 [inlined]
ijl_apply_generic at /source/src/gf.c:3098
run_finalizer at /source/src/gc.c:299
jl_gc_run_finalizers_in_list at /source/src/gc.c:389
run_finalizers at /source/src/gc.c:435
jl_mutex_unlock at /source/src/julia_locks.h:80 [inlined]
jl_generate_fptr_impl at /source/src/jitlayers.cpp:532
jl_compile_method_internal at /source/src/gf.c:2510 [inlined]
jl_compile_method_internal at /source/src/gf.c:2398
_jl_invoke at /source/src/gf.c:2913 [inlined]
ijl_apply_generic at /source/src/gf.c:3098
macro expansion at /home/pkgeval/.julia/packages/MathOptInterface/yczX1/src/Test/Test.jl:272 [inlined]
macro expansion at /source/usr/share/julia/stdlib/v1.11/Test/src/Test.jl:1598 [inlined]
#runtests#2 at /home/pkgeval/.julia/packages/MathOptInterface/yczX1/src/Test/Test.jl:267
runtests at /home/pkgeval/.julia/packages/MathOptInterface/yczX1/src/Test/Test.jl:224 [inlined]
_run_moi_tests at /home/pkgeval/.julia/packages/Pavito/mIeqA/test/MOI_wrapper.jl:28
macro expansion at /home/pkgeval/.julia/packages/Pavito/mIeqA/test/MOI_wrapper.jl:17 [inlined]
macro expansion at /source/usr/share/julia/stdlib/v1.11/Test/src/Test.jl:1687 [inlined]
runtests at /home/pkgeval/.julia/packages/Pavito/mIeqA/test/MOI_wrapper.jl:16
unknown function (ip: 0x7fb2ecb6f939)

Example log: https://s3.amazonaws.com/julialang-reports/nanosoldier/pkgeval/by_date/2024-01/07/Pavito.primary.log

It's possible that this isn't an issue with Pavito.jl, but rather with GLPK.jl, but I'm not familiar with either package so filing this as an issue here first. In any. case, it doesn't seem like a Julia issue (correct me if I'm wrong though), so I'll be blacklisting testing of Pavito.jl to avoid this crash sitting at the top of every PkgEval report.

If this issue gets fixed, or if it turns out this is a legitimate Julia issue, please ping me (or open a PR on PkgEval.jl) to remove the blacklist.

@odow
Copy link
Member

odow commented Jan 8, 2024

Issue is because Pavito throws MOI.LowerBoundAlreadySet from a callback, but GLPK expects a subtype of Exception.

Fix is: jump-dev/MathOptInterface.jl#2397

@odow
Copy link
Member

odow commented Jan 8, 2024

I don't understand why this is suddenly an issue now though.

@maleadt
Copy link
Author

maleadt commented Jan 9, 2024

Thanks! Can you ping me when this is part of a released version? I'll remove the blacklist then.

@odow
Copy link
Member

odow commented Jan 11, 2024

Closed by #74

@maleadt, it should work now. This package is passing tests on nightly: https://github.com/jump-dev/Pavito.jl/actions/runs/7482996566/job/20367537545

@odow odow closed this as completed Jan 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants