MiniFB.jl icon indicating copy to clipboard operation
MiniFB.jl copied to clipboard

malloc error and crash

Open JeffBezanson opened this issue 5 years ago • 3 comments

julia> using MiniFB

julia> include(joinpath(pathof(MiniFB),"..","..","example","Plasma.jl"))
Window created using X11 API

# closed the window with esc after a couple seconds

julia> macro m()
       end
malloc(): mismatching next->prev_size (unsorted)

signal (6): Aborted
in expression starting at none:0

JeffBezanson avatar Sep 12 '20 18:09 JeffBezanson

I ran into this and had to pkill julia:

julia> plasma()
Window created using X11 API

julia> malloc(): mismatching next->prev_size (unsorted)

signal (6): Aborted
in expression starting at none:0

^C


^C^C^C^C
signal (15): Terminated
in expression starting at none:0
__lll_lock_wait_private at /usr/lib/libc.so.6 (unknown line)
__libc_calloc at /usr/lib/libc.so.6 (unknown line)
jl_getFunctionInfo at /buildworker/worker/package_linux64/build/src/debuginfo.cpp:1230
jl_print_native_codeloc at /buildworker/worker/package_linux64/build/src/stackwalk.c:652
jl_critical_error at /buildworker/worker/package_linux64/build/src/signal-handling.c:239 [inlined]
sigdie_handler at /buildworker/worker/package_linux64/build/src/signals-unix.c:204
_IO_funlockfile at /usr/lib/libpthread.so.0 (unknown line)
gsignal at /usr/lib/libc.so.6 (unknown line)
abort at /usr/lib/libc.so.6 (unknown line)
__libc_message at /usr/lib/libc.so.6 (unknown line)
malloc_printerr at /usr/lib/libc.so.6 (unknown line)
_int_malloc at /usr/lib/libc.so.6 (unknown line)
__libc_malloc at /usr/lib/libc.so.6 (unknown line)
operator new at /src/gcc-7.3.0/libstdc++-v3/libsupc++/new_op.cc:50
allocate at /usr/local/include/c++/7.3.0/ext/new_allocator.h:111 [inlined]
allocate at /usr/local/include/c++/7.3.0/bits/alloc_traits.h:436 [inlined]
_M_get_node at /usr/local/include/c++/7.3.0/bits/stl_tree.h:588 [inlined]
_M_create_node<int const&> at /usr/local/include/c++/7.3.0/bits/stl_tree.h:642 [inlined]
operator()<int const&> at /usr/local/include/c++/7.3.0/bits/stl_tree.h:556 [inlined]
_M_insert_<int const&, std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>, std::allocator<int> >::_Alloc_node> at /usr/local/include/c++/7.3.0/bits/stl_tree.h:1753 [inlined]
_M_insert_unique<int const&> at /usr/local/include/c++/7.3.0/bits/stl_tree.h:2096
insert at /usr/local/include/c++/7.3.0/bits/stl_set.h:501 [inlined]
emit_function at /buildworker/worker/package_linux64/build/src/codegen.cpp:5848
jl_emit_code at /buildworker/worker/package_linux64/build/src/codegen.cpp:6431
jl_emit_codeinst at /buildworker/worker/package_linux64/build/src/codegen.cpp:6465
_jl_compile_codeinst at /buildworker/worker/package_linux64/build/src/jitlayers.cpp:97
jl_generate_fptr at /buildworker/worker/package_linux64/build/src/jitlayers.cpp:302
jl_compile_method_internal at /buildworker/worker/package_linux64/build/src/gf.c:1964
jl_compile_method_internal at /buildworker/worker/package_linux64/build/src/gf.c:1919 [inlined]
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2224 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2398
prompt! at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/REPL/src/LineEdit.jl:2447
run_interface at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/REPL/src/LineEdit.jl:2350
jfptr_run_interface_70362.clone_1 at /home/miguel/bin/julia-1.5.1/lib/julia/sys.so (unknown line)
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2214 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2398
run_frontend at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/REPL/src/REPL.jl:1144
#38 at ./task.jl:356
jfptr_YY.38_71508.clone_1 at /home/miguel/bin/julia-1.5.1/lib/julia/sys.so (unknown line)
_jl_invoke at /buildworker/worker/package_linux64/build/src/gf.c:2214 [inlined]
jl_apply_generic at /buildworker/worker/package_linux64/build/src/gf.c:2398
jl_apply at /buildworker/worker/package_linux64/build/src/julia.h:1690 [inlined]
start_task at /buildworker/worker/package_linux64/build/src/task.c:707
unknown function (ip: (nil))
unknown function (ip: (nil))
Allocations: 11500038 (Pool: 11495503; Big: 4535); GC: 12

mbaz avatar Sep 15 '20 02:09 mbaz

I might need some help debugging this. I can't replicate this on mac or windows, and I haven't been able to access a linux machine with a GUI terminal (and attempts to set up VNC on a few machines that I do have access to haven't yet suceeded 😞 ) . Might help to create an rr trace?

aviks avatar Oct 11 '20 15:10 aviks

I'm having trouble getting a trace. It seems that Julia crashes so bad that the trace is not created before Julia terminates. I'm getting this stacktrace. Notes:

  • I exit the plasma window by hitting ESC after a few seconds.
  • I got the malloc() error immediately after hitting macro m()<enter>.
  • Then Julia was stuck after the signal (6). The stacktrace appeared after I hit Ctrl-C.

Any suggestion on how to get a trace under these conditions? I'll be happy to run any tests you need.


$ julia --bug-report=rr
[ Info: Loading BugReporting package...
rr: Saving execution to trace directory `/home/miguel/.julia/artifacts/jl_x1ZhGZ/julia-0'.
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.5.1 (2020-08-25)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

julia> using MiniFB

julia> include(joinpath(pathof(MiniFB),"..","..","example","Plasma.jl"))
Window created using X11 API

julia> macro m()malloc(): mismatching next->prev_size (unsorted)

signal (6): Aborted
in expression starting at none:0

^CERROR: InterruptException:
Stacktrace:
 [1] poptask(::Base.InvasiveLinkedListSynchronized{Task}) at ./task.jl:704
 [2] wait at ./task.jl:712 [inlined]
 [3] wait(::Base.GenericCondition{Base.Threads.SpinLock}) at ./condition.jl:106
 [4] wait(::Base.Process) at ./process.jl:622
 [5] success at ./process.jl:483 [inlined]
 [6] run(::Cmd; wait::Bool) at ./process.jl:440
 [7] run at ./process.jl:438 [inlined]
 [8] (::BugReporting.var"#4#5"{String,Tuple{Cmd,Array{Any,1}},Array{SubString{String},1}})(::String) at /home/miguel/.julia/packages/BugReporting/DYZaI/src/BugReporting.jl:84
 [9] #2 at /home/miguel/.julia/packages/JLLWrappers/m1BKg/src/runtime.jl:47 [inlined]
 [10] withenv(::JLLWrappers.var"#2#3"{BugReporting.var"#4#5"{String,Tuple{Cmd,Array{Any,1}},Array{SubString{String},1}},String}, ::Pair{String,String}, ::Vararg{Pair{String,String},N} where N) at ./env.jl:161
 [11] withenv_executable_wrapper(::BugReporting.var"#4#5"{String,Tuple{Cmd,Array{Any,1}},Array{SubString{String},1}}, ::String, ::String, ::String, ::Bool, ::Bool) at /home/miguel/.julia/packages/JLLWrappers/m1BKg/src/runtime.jl:46
 [12] #invokelatest#1 at ./essentials.jl:710 [inlined]
 [13] invokelatest at ./essentials.jl:709 [inlined]
 [14] #rr#7 at /home/miguel/.julia/packages/JLLWrappers/m1BKg/src/products/executable_generators.jl:7 [inlined]
 [15] rr at /home/miguel/.julia/packages/JLLWrappers/m1BKg/src/products/executable_generators.jl:7 [inlined]
 [16] rr_record(::Cmd, ::Vararg{Any,N} where N; trace_dir::String) at /home/miguel/.julia/packages/BugReporting/DYZaI/src/BugReporting.jl:74
 [17] (::BugReporting.var"#15#16"{Array{Any,1},Cmd})(::String) at /home/miguel/.julia/packages/BugReporting/DYZaI/src/BugReporting.jl:130
 [18] create_artifact(::BugReporting.var"#15#16"{Array{Any,1},Cmd}) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/Pkg/src/Artifacts.jl:214
 [19] make_interactive_report(::String, ::Array{Any,1}) at /home/miguel/.julia/packages/BugReporting/DYZaI/src/BugReporting.jl:129
 [20] make_interactive_report(::String) at /home/miguel/.julia/packages/BugReporting/DYZaI/src/BugReporting.jl:123
 [21] #invokelatest#1 at ./essentials.jl:710 [inlined]
 [22] invokelatest at ./essentials.jl:709 [inlined]
 [23] report_bug(::String) at /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.5/InteractiveUtils/src/InteractiveUtils.jl:379
 [24] exec_options(::Base.JLOptions) at ./client.jl:244
 [25] _start() at ./client.jl:506
0[~] $ 

mbaz avatar Oct 11 '20 16:10 mbaz