You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have some code on Julia 1.3-rc4 that uses threads and does not use PyCall. I can run said code fine with JULIA_NUM_THREADS set to any number. However, if I do a using PyCall before running it, despite that this code ostensibly does not call into PyCall at all, it triggers a segfault whenever I have JULIA_NUM_THREADS set to 2 or more (although its fine with 1).
The error I get looks like:
julia> unrelated_code()
Fatal Python error: Segmentation fault
Thread 0x00002aaaaaae22c0 (most recent call first):
signal (11): Segmentation fault
in expression starting at REPL[5]:1
Segmentation fault
Here's the output I get from gdb.
Thread 3 "julia-debug" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x2aaabda24700 (LWP 9749)]
0x00002aaaaadb02fb in jl_gc_safepoint () at /global/u1/m/marius/src/julia-1.3/src/jlapi.c:432
432 jl_gc_safepoint_(ptls);
(gdb) bt
#0 0x00002aaaaadb02fb in jl_gc_safepoint () at /global/u1/m/marius/src/julia-1.3/src/jlapi.c:432
#1 0x00002aaaaad99ddc in get_next_task (getsticky=0x2aaab87000d0) at /global/u1/m/marius/src/julia-1.3/src/partr.c:378
#2 0x00002aaaaad99ef5 in jl_task_get_next (getsticky=0x2aaab87000d0) at /global/u1/m/marius/src/julia-1.3/src/partr.c:403
#3 0x00002aaab03355fe in japi1_poptaskref_2219 (W=...) at task.jl:660
#4 0x00002aaab033603d in julia_wait_2217 () at task.jl:667
#5 0x00002aaabeae4de8 in japi1_task_done_hook_17285 (t=...) at task.jl:401
#6 0x00002aaaaad413d7 in jl_fptr_args (f=0x2aaab1aa9f70 <jl_system_image_data+13360560>, args=0x2aac48bffd88, nargs=1, m=0x2aaaba166ef0)
at /global/u1/m/marius/src/julia-1.3/src/gf.c:1910
#7 0x00002aaaaad42070 in _jl_invoke (F=0x2aaab1aa9f70 <jl_system_image_data+13360560>, args=0x2aac48bffd88, nargs=1, mfunc=0x2aaab1aa9c30 <jl_system_image_data+13359728>,
world=26805) at /global/u1/m/marius/src/julia-1.3/src/gf.c:2130
#8 0x00002aaaaad42827 in jl_apply_generic (F=0x2aaab1aa9f70 <jl_system_image_data+13360560>, args=0x2aac48bffd88, nargs=1) at /global/u1/m/marius/src/julia-1.3/src/gf.c:2300
#9 0x00002aaaaad61333 in jl_apply (args=0x2aac48bffd80, nargs=2) at /global/u1/m/marius/src/julia-1.3/src/julia.h:1631
#10 0x00002aaaaad61b04 in jl_finish_task (t=0x2aaab87db0d0, resultval=0x2aaab0df0600 <jl_system_image_data+17472>) at /global/u1/m/marius/src/julia-1.3/src/task.c:181
#11 0x00002aaaaad62de6 in start_task () at /global/u1/m/marius/src/julia-1.3/src/task.c:669
#12 0x0000000000000000 in ?? ()
Backtrace stopped: Cannot access memory at address 0x2aac48c00000
Its 100% reproducible on this system, although not on others. The version of Python is 3.6.9 |Anaconda, Inc.| (default, Jul 30 2019, 19:10:26) \n[GCC 7.3.0] and PyCall is either 1.91.2 or master.
Any suggestions tracking this down further, or what I can do to fix it? Thanks.
Edit: Changed gdb output to use julia-debug.
The text was updated successfully, but these errors were encountered:
I have some code on Julia 1.3-rc4 that uses threads and does not use PyCall. I can run said code fine with
JULIA_NUM_THREADS
set to any number. However, if I do ausing PyCall
before running it, despite that this code ostensibly does not call into PyCall at all, it triggers a segfault whenever I haveJULIA_NUM_THREADS
set to 2 or more (although its fine with 1).The error I get looks like:
Here's the output I get from gdb.
Its 100% reproducible on this system, although not on others. The version of Python is
3.6.9 |Anaconda, Inc.| (default, Jul 30 2019, 19:10:26) \n[GCC 7.3.0]
and PyCall is either 1.91.2 or master.Any suggestions tracking this down further, or what I can do to fix it? Thanks.
Edit: Changed gdb output to use
julia-debug
.The text was updated successfully, but these errors were encountered: