oscar-system / Singular.jl

Julia package for the Singular library
Other
32 stars 33 forks source link

Building Singular.jl sometimes segfaults #249

Closed fingolfin closed 3 years ago

fingolfin commented 4 years ago

On occasion, the GAP Travis CI cron job suddenly fails when it passed just fine the day before (and usually it passes again the day after). Example: https://travis-ci.com/github/oscar-system/GAP.jl/jobs/359721362 which shows this error (note that Singular.jl is being built in isolation, and in particular before GAP.jl is loaded, so this is not caused by the Julia GC hooks in GAP.jl):

  Building Singular ─→ `~/.julia/packages/Singular/GGfzi/deps/build.log`
┌ Error: Error building `Singular`: 
│ 
│ signal (11): Segmentation fault
│ in expression starting at /home/travis/.julia/packages/Singular/GGfzi/deps/build.jl:3
│ gc_get_stack_addr at /buildworker/worker/package_linux64/build/src/gc.c:1484 [inlined]
│ gc_read_stack at /buildworker/worker/package_linux64/build/src/gc.c:1491 [inlined]
│ gc_mark_loop at /buildworker/worker/package_linux64/build/src/gc.c:2015
│ _jl_gc_collect at /buildworker/worker/package_linux64/build/src/gc.c:2703
│ jl_gc_collect at /buildworker/worker/package_linux64/build/src/gc.c:2903
│ maybe_collect at /buildworker/worker/package_linux64/build/src/gc.c:781 [inlined]
│ jl_gc_pool_alloc at /buildworker/worker/package_linux64/build/src/gc.c:1096
│ jl_gc_alloc_ at /buildworker/worker/package_linux64/build/src/julia_internal.h:233 [inlined]
│ jl_gc_alloc at /buildworker/worker/package_linux64/build/src/gc.c:2940
│ jl_new_bits at /buildworker/worker/package_linux64/build/src/datatype.c:611
│ get_module_functions at /home/travis/.julia/artifacts/d54a2909808f0f05123ef98f8eef4fcde1073e52/lib/libcxxwrap_julia.so.0 (unknown line)
│ get_module_functions at /home/travis/.julia/packages/CxxWrap/94t40/src/CxxWrap.jl:419 [inlined]
│ initialize_julia_module at /home/travis/.julia/packages/CxxWrap/94t40/src/CxxWrap.jl:408
│ __init__ at /home/travis/.julia/packages/CxxWrap/94t40/src/StdLib.jl:20
│ unknown function (ip: 0x7fa5d437b43d)
│ _jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2141 [inlined]
│ jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2305
│ jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1631 [inlined]
│ jl_module_run_initializer at /buildworker/worker/package_linux64/build/src/toplevel.c:74
│ jl_init_restored_modules at /buildworker/worker/package_linux64/build/src/dump.c:2477
│ _include_from_serialized at ./loading.jl:692
│ _require_from_serialized at ./loading.jl:743
│ _require at ./loading.jl:1034
│ require at ./loading.jl:922
│ require at ./loading.jl:917
│ _jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2141 [inlined]
│ jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2305
│ jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1631 [inlined]
│ call_require at /buildworker/worker/package_linux64/build/src/toplevel.c:399 [inlined]
│ eval_import_path at /buildworker/worker/package_linux64/build/src/toplevel.c:436
│ jl_toplevel_eval_flex at /buildworker/worker/package_linux64/build/src/toplevel.c:696
│ jl_parse_eval_all at /buildworker/worker/package_linux64/build/src/ast.c:873
│ jl_load at /buildworker/worker/package_linux64/build/src/toplevel.c:878
│ include at ./boot.jl:328 [inlined]
│ include_relative at ./loading.jl:1105
│ include at ./Base.jl:31
│ _jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2135 [inlined]
│ jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2305
│ include at ./client.jl:424
│ _jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2135 [inlined]
│ jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2305
│ jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1631 [inlined]
│ do_call at /buildworker/worker/package_linux64/build/src/interpreter.c:328
│ eval_value at /buildworker/worker/package_linux64/build/src/interpreter.c:417
│ eval_stmt_value at /buildworker/worker/package_linux64/build/src/interpreter.c:368 [inlined]
│ eval_body at /buildworker/worker/package_linux64/build/src/interpreter.c:778
│ jl_interpret_toplevel_thunk_callback at /buildworker/worker/package_linux64/build/src/interpreter.c:888
│ unknown function (ip: 0xfffffffffffffffe)
│ unknown function (ip: 0x7fa5d5fef98f)
│ unknown function (ip: 0xffffffffffffffff)
│ jl_interpret_toplevel_thunk at /buildworker/worker/package_linux64/build/src/interpreter.c:897
│ jl_toplevel_eval_flex at /buildworker/worker/package_linux64/build/src/toplevel.c:814
│ jl_toplevel_eval_flex at /buildworker/worker/package_linux64/build/src/toplevel.c:764
│ jl_toplevel_eval_in at /buildworker/worker/package_linux64/build/src/toplevel.c:843
│ eval at ./boot.jl:330
│ _jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2135 [inlined]
│ jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2305
│ exec_options at ./client.jl:263
│ _start at ./client.jl:460
│ jfptr__start_2084.clone_1 at /home/travis/julia/lib/julia/sys.so (unknown line)
│ _jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2135 [inlined]
│ jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2305
│ jl_apply at /buildworker/worker/package_linux64/build/ui/../src/julia.h:1631 [inlined]
│ true_main at /buildworker/worker/package_linux64/build/ui/repl.c:96
│ main at /buildworker/worker/package_linux64/build/ui/repl.c:217
│ __libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
│ _start at /home/travis/julia/bin/julia (unknown line)
│ Allocations: 4224289 (Pool: 4223357; Big: 932); GC: 3
└ @ Pkg.Operations /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.3/Pkg/src/backwards_compatible_isolation.jl:649
ERROR: LoadError: Singular.jl needs to be compiled; please run `using Pkg; Pkg.build("Singular")`
Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] top-level scope at /home/travis/.julia/packages/Singular/GGfzi/src/Singular.jl:58
 [3] include at ./boot.jl:328 [inlined]
 [4] include_relative(::Module, ::String) at ./loading.jl:1105
 [5] include(::Module, ::String) at ./Base.jl:31
 [6] top-level scope at none:2
 [7] eval at ./boot.jl:330 [inlined]
 [8] eval(::Expr) at ./client.jl:425
 [9] top-level scope at ./none:3
in expression starting at /home/travis/.julia/packages/Singular/GGfzi/src/Singular.jl:57
ERROR: Failed to precompile Singular [bcd08a7b-43d2-5ff7-b6d4-c458787f915c] to /home/travis/.julia/compiled/v1.3/Singular/9fz0y_gzmWh.ji.
Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] compilecache(::Base.PkgId, ::String) at ./loading.jl:1283
 [3] _require(::Base.PkgId) at ./loading.jl:1024
 [4] require(::Base.PkgId) at ./loading.jl:922
 [5] require(::Module, ::Symbol) at ./loading.jl:917
 [6] top-level scope at util.jl:155
fingolfin commented 4 years ago

Stack traces involve CxxWrap, so I submitted https://github.com/JuliaInterop/CxxWrap.jl/issues/259

fingolfin commented 3 years ago

This should be resolved now, thanks to a new CxxWrap release