MiniFB.jl
MiniFB.jl copied to clipboard
malloc error and crash
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
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
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?
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
ESCafter a few seconds. - I got the
malloc()error immediately after hittingmacro m()<enter>. - Then Julia was stuck after the
signal (6). The stacktrace appeared after I hitCtrl-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[~] $