JuliaLang / Distributed.jl

Create and control multiple Julia processes remotely for distributed computing. Ships as a Julia stdlib.
https://docs.julialang.org/en/v1/stdlib/Distributed/
MIT License
23 stars 9 forks source link

interrupt() on a freshly opened julia crashes workers #34

Open thraen opened 8 years ago

thraen commented 8 years ago

when I issue interrupt() directly after opening Julia with ~/julia/julia -p2

I always get an error and some of the workers get terminated:

julia> interrupt()
fatal: error thrown and no exception handler available.
InterruptException()
rec_backtrace at /root/Julia/usr/bin/../lib/libjulia.so (unknown line)
jl_throw at /root/Julia/usr/bin/../lib/libjulia.so (unknown line)
unknown function (ip: 0x7f168ca7b30f)
unknown function (ip: 0x7f168ca7b379)
unknown function (ip: 0x7f168c313690)
syscall at /lib64/libc.so.6 (unknown line)
uv__epoll_wait at /root/Julia/usr/bin/../lib/libjulia.so (unknown line)
uv__io_poll at /root/Julia/usr/bin/../lib/libjulia.so (unknown line)
uv_run at /root/Julia/usr/bin/../lib/libjulia.so (unknown line)
process_events at ./stream.jl:713
wait at ./task.jl:360
task_done_hook at task.jl:174
jl_apply_generic at /root/Julia/usr/bin/../lib/libjulia.so (unknown line)
unknown function (ip: 0x7f168ca68eca)
unknown function (ip: (nil))
fatal: error thrown and no exception handler available.
InterruptException()
rec_backtrace at /root/Julia/usr/bin/../lib/libjulia.so (unknown line)
jl_throw at /root/Julia/usr/bin/../lib/libjulia.so (unknown line)
unknown function (ip: 0x7f8ae739b30f)
unknown function (ip: 0x7f8ae733f3f9)
jl_trampoline at /root/Julia/usr/bin/../lib/libjulia.so (unknown line)
jl_apply_generic at /root/Julia/usr/bin/../lib/libjulia.so (unknown line)
jl_uv_closeHandle at /root/Julia/usr/bin/../lib/libjulia.so (unknown line)
uv_run at /root/Julia/usr/bin/../lib/libjulia.so (unknown line)
process_events at ./stream.jl:713
wait at ./task.jl:360
task_done_hook at task.jl:174
jl_apply_generic at /root/Julia/usr/bin/../lib/libjulia.so (unknown line)
unknown function (ip: 0x7f8ae7388eca)
unknown function (ip: (nil))
Worker 2 terminated.
julia> Worker 3 terminated.ERROR (unhandled task failure): EOFError: read end of file
julia> 
ERROR (unhandled task failure): EOFError: read end of file

versioninfo:

Julia Version 0.4.4-pre+35 Commit 1a9429e (2016-02-12 13:21 UTC) Platform Info: System: Linux (x86_64-pc-linux-gnu) CPU: AMD Phenom(tm) II X4 955 Processor WORD_SIZE: 64 BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NOAFFINITY Barcelona) LAPACK: libopenblas64 LIBM: libopenlibm LLVM: libLLVM-3.3

amitmurthy commented 8 years ago

interrupt sends a SIGINT to all the workers.

Currently sending a kill -2 to a running Julia process terminates it. This was not the way SIGINT was handled before. When did the SIGINT handling change? Shouldn't a Ctrl-C from the REPL have the same effect as a kill -2 to the running julia process?