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

make stacktrace lookup and unwinding more threadsafe #35117

Closed
vtjnash opened this issue Mar 15, 2020 · 1 comment · Fixed by #37002 or #37101
Closed

make stacktrace lookup and unwinding more threadsafe #35117

vtjnash opened this issue Mar 15, 2020 · 1 comment · Fixed by #37002 or #37101
Assignees
Labels
bug Indicates an unexpected problem or unintended behavior multithreading Base.Threads and related functionality

Comments

@vtjnash
Copy link
Member

vtjnash commented Mar 15, 2020

in particular, this is broken on Windows due to the jl_in_stackwalk global variable

@JeffBezanson JeffBezanson added the multithreading Base.Threads and related functionality label Mar 16, 2020
@vchuravy
Copy link
Member

I observed this failure on CI.

Assertion failed: !jl_in_stackwalk, file /cygdrive/d/buildbot/worker/package_win32/build/src/stackwalk.c, line 77
signal (22): SIGABRT
in expression starting at D:\buildbot\worker-tabularasa\tester_win32\build\share\julia\test\threads_exec.jl:538
Allocations: 8837471 (Pool: 8837213; Big: 258); GC: 63
threads: Error During Test at D:\buildbot\worker-tabularasa\tester_win32\build\share\julia\test\testdefs.jl:22
  Got exception outside of a @test
  LoadError: failed process: Process(setenv(`'D:\buildbot\worker-tabularasa\tester_win32\build\bin\julia.exe' -Cnative '-JD:\buildbot\worker-tabularasa\tester_win32\build\lib\julia\sys.dll' -g1 --depwarn=error --startup-file=no threads_exec.jl`,["JULIA_NUM_THREADS=4"]), ProcessExited(3)) [3]
  
  Stacktrace:
   [1] pipeline_error at .\process.jl:525 [inlined]
   [2] run(::Base.CmdRedirect; wait::Bool) at .\process.jl:440
   [3] run(::Base.CmdRedirect) at .\process.jl:438
   [4] top-level scope at D:\buildbot\worker-tabularasa\tester_win32\build\share\julia\test\threads.jl:5
   [5] include(::Function, ::Module, ::String) at .\Base.jl:382
   [6] include at .\Base.jl:370 [inlined]
   [7] include at D:\buildbot\worker-tabularasa\tester_win32\build\share\julia\test\testdefs.jl:13 [inlined]
   [8] macro expansion at D:\buildbot\worker-tabularasa\tester_win32\build\share\julia\test\testdefs.jl:25 [inlined]
   [9] macro expansion at D:\buildbot\worker\package_win32\build\usr\share\julia\stdlib\v1.5\Test\src\Test.jl:1114 [inlined]
   [10] macro expansion at D:\buildbot\worker-tabularasa\tester_win32\build\share\julia\test\testdefs.jl:24 [inlined]
   [11] macro expansion at .\timing.jl:310 [inlined]
   [12] top-level scope at D:\buildbot\worker-tabularasa\tester_win32\build\share\julia\test\testdefs.jl:22
   [13] eval at .\boot.jl:331 [inlined]
   [14] runtests(::String, ::String, ::Bool; seed::UInt128) at D:\buildbot\worker-tabularasa\tester_win32\build\share\julia\test\testdefs.jl:28
   [15] (::var"#30#41"{String})() at D:\buildbot\worker-tabularasa\tester_win32\build\share\julia\test\runtests.jl:261
   [16] top-level scope at none:1
   [17] eval at .\boot.jl:331 [inlined]
   [18] eval(::Expr) at .\client.jl:452
   [19] (::var"#23#32")() at D:\buildbot\worker-tabularasa\tester_win32\build\share\julia\test\runtests.jl:261
   [20] cd(::var"#23#32", ::String) at .\file.jl:93
   [21] top-level scope at D:\buildbot\worker-tabularasa\tester_win32\build\share\julia\test\runtests.jl:75
   [22] include(::Function, ::Module, ::String) at .\Base.jl:382
   [23] include(::Module, ::String) at .\Base.jl:370
   [24] exec_options(::Base.JLOptions) at .\client.jl:289
   [25] _start() at .\client.jl:491
  in expression starting at D:\buildbot\worker-tabularasa\tester_win32\build\share\julia\test\threads.jl:3

@JeffBezanson JeffBezanson added this to the 1.5 milestone Apr 29, 2020
@StefanKarpinski StefanKarpinski added the bug Indicates an unexpected problem or unintended behavior label Apr 30, 2020
@KristofferC KristofferC modified the milestones: 1.5, 1.x Jun 16, 2020
vtjnash added a commit that referenced this issue Aug 11, 2020
This should make this previously non-atomic mutex threadsafe.

Fixes #35117
JeffBezanson pushed a commit that referenced this issue Aug 14, 2020
This should make this previously non-atomic mutex threadsafe.

Fixes #35117
vtjnash added a commit that referenced this issue Aug 18, 2020
vtjnash added a commit that referenced this issue Aug 18, 2020
vtjnash added a commit that referenced this issue Aug 18, 2020
vtjnash added a commit that referenced this issue Aug 21, 2020
vtjnash added a commit that referenced this issue Aug 24, 2020
vtjnash added a commit that referenced this issue Aug 26, 2020
vtjnash added a commit that referenced this issue Aug 26, 2020
simeonschaub pushed a commit to simeonschaub/julia that referenced this issue Aug 29, 2020
This should make this previously non-atomic mutex threadsafe.

Fixes JuliaLang#35117
staticfloat pushed a commit that referenced this issue Sep 1, 2020
Sacha0 pushed a commit that referenced this issue Oct 23, 2020
This should make this previously non-atomic mutex threadsafe.

Fixes #35117
Sacha0 pushed a commit that referenced this issue Oct 23, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Indicates an unexpected problem or unintended behavior multithreading Base.Threads and related functionality
Projects
None yet
5 participants