phrb / NODAL.jl

NODAL is an Open Distributed Autotuning Library in Julia
Other
36 stars 5 forks source link

Segfault with multiple processes on v0.4. #4

Closed phrb closed 9 years ago

phrb commented 9 years ago

Obtaining results using multiple processes causes a segfault in Julia v0.4. In v0.3 (or v0.4 with a single process) there is no segfault. Also, check a similar issue: JuliaLang/julia/issues/12558

Output:

% julia0.4 -p 2 examples/sorting.jl
WARNING: replacing module StochasticSearch
WARNING: replacing module StochasticSearch

signal (11): Segmentation fault
unknown function (ip: 0x7f1fb9245e68)
jl_module_export at /home/phrb/.bin/julia-f2bd731327/bin/../lib/julia/libjulia.so (unknown line)
unknown function (ip: 0x7f1fb921ba46)
unknown function (ip: 0x7f1fb921bfc5)
unknown function (ip: 0x7f1fb921bc2d)
unknown function (ip: 0x7f1fb921c4ac)
jl_load_file_string at /home/phrb/.bin/julia-f2bd731327/bin/../lib/julia/libjulia.so (unknown line)
include_string at loading.jl:226
jl_apply_generic at /home/phrb/.bin/julia-f2bd731327/bin/../lib/julia/libjulia.so (unknown line)
include_from_node1 at ./loading.jl:267
jl_apply_generic at /home/phrb/.bin/julia-f2bd731327/bin/../lib/julia/libjulia.so (unknown line)
unknown function (ip: 0x7f1fb9207e13)
unknown function (ip: 0x7f1fb9207199)
unknown function (ip: 0x7f1fb921b89c)
jl_toplevel_eval_in at /home/phrb/.bin/julia-f2bd731327/bin/../lib/julia/libjulia.so (unknown line)
require at ./loading.jl:201
unknown function (ip: 0x7f1fb65e2dbc)
jl_apply_generic at /home/phrb/.bin/julia-f2bd731327/bin/../lib/julia/libjulia.so (unknown line)
unknown function (ip: 0x7f1fb921aa9d)
unknown function (ip: 0x7f1fb921bb4b)
jl_toplevel_eval_in at /home/phrb/.bin/julia-f2bd731327/bin/../lib/julia/libjulia.so (unknown line)
eval at ./sysimg.jl:14
jl_apply_generic at /home/phrb/.bin/julia-f2bd731327/bin/../lib/julia/libjulia.so (unknown line)
anonymous at multi.jl:1349
jl_f_apply at /home/phrb/.bin/julia-f2bd731327/bin/../lib/julia/libjulia.so (unknown line)
anonymous at multi.jl:889
run_work_thunk at multi.jl:642
jlcall_run_work_thunk_21278 at  (unknown line)
jl_apply_generic at /home/phrb/.bin/julia-f2bd731327/bin/../lib/julia/libjulia.so (unknown line)
anonymous at task.jl:889
unknown function (ip: 0x7f1fb920d770)
unknown function (ip: (nil))
Worker 2 terminated.
ERROR (unhandled task failure): EOFError: read end of file
 in yieldto at ./task.jl:75
 in wait at ./task.jl:371
 in wait at ./task.jl:286
 in wait at ./task.jl:112
 in sync_end at ./task.jl:400
 in anonymous at multi.jl:422
 in include at ./boot.jl:254
 in include_from_node1 at ./loading.jl:264
 in process_options at ./client.jl:308
 in _start at ./client.jl:411
ERROR: LoadError: ProcessExitedException()
 in yieldto at ./task.jl:75
 in wait at ./task.jl:371
 in wait at ./task.jl:286
 in wait at ./channels.jl:93
 in take! at ./channels.jl:82
 in take! at ./multi.jl:789
 in remotecall_fetch at multi.jl:726
 in anonymous at task.jl:447
 in sync_end at ./task.jl:413
 in anonymous at multi.jl:422
 in include at ./boot.jl:254
 in include_from_node1 at ./loading.jl:264
 in process_options at ./client.jl:308
 in _start at ./client.jl:411
while loading /home/phrb/.julia/v0.3/StochasticSearch/examples/sorting.jl, in expression starting on line 1
phrb commented 9 years ago

Update:

The segfault also happens in 331cd7c786e172ea2c53ab40bc3333491dd24713, without calling 'measure_mean!'. This is probably happening because the importing syntax/usage changed in v0.4.

Output:

% julia0.4 -p 2 examples/rosenbrock.jl
WARNING: replacing module StochasticSearch
WARNING: replacing module StochasticSearch

signal (11): Segmentation fault
unknown function (ip: 0x7fb9aa79de68)
jl_module_export at /home/phrb/.bin/julia-f2bd731327/bin/../lib/julia/libjulia.so (unknown line)
unknown function (ip: 0x7fb9aa773a46)
unknown function (ip: 0x7fb9aa773fc5)
unknown function (ip: 0x7fb9aa773c2d)
unknown function (ip: 0x7fb9aa7744ac)
jl_load_file_string at /home/phrb/.bin/julia-f2bd731327/bin/../lib/julia/libjulia.so (unknown line)
include_string at loading.jl:226
jl_apply_generic at /home/phrb/.bin/julia-f2bd731327/bin/../lib/julia/libjulia.so (unknown line)
include_from_node1 at ./loading.jl:267
jl_apply_generic at /home/phrb/.bin/julia-f2bd731327/bin/../lib/julia/libjulia.so (unknown line)
unknown function (ip: 0x7fb9aa75fe13)
unknown function (ip: 0x7fb9aa75f199)
unknown function (ip: 0x7fb9aa77389c)
jl_toplevel_eval_in at /home/phrb/.bin/julia-f2bd731327/bin/../lib/julia/libjulia.so (unknown line)
require at ./loading.jl:201
unknown function (ip: 0x7fb9a7b5adbc)
jl_apply_generic at /home/phrb/.bin/julia-f2bd731327/bin/../lib/julia/libjulia.so (unknown line)
unknown function (ip: 0x7fb9aa772a9d)
unknown function (ip: 0x7fb9aa773b4b)
jl_toplevel_eval_in at /home/phrb/.bin/julia-f2bd731327/bin/../lib/julia/libjulia.so (unknown line)
eval at ./sysimg.jl:14
jl_apply_generic at /home/phrb/.bin/julia-f2bd731327/bin/../lib/julia/libjulia.so (unknown line)
anonymous at multi.jl:1349
jl_f_apply at /home/phrb/.bin/julia-f2bd731327/bin/../lib/julia/libjulia.so (unknown line)
anonymous at multi.jl:889
run_work_thunk at multi.jl:642
jlcall_run_work_thunk_21278 at  (unknown line)
jl_apply_generic at /home/phrb/.bin/julia-f2bd731327/bin/../lib/julia/libjulia.so (unknown line)
anonymous at task.jl:889
unknown function (ip: 0x7fb9aa773fc5)
unknown function (ip: 0x7fb9aa773c2d)
unknown function (ip: 0x7fb9aa7744ac)
jl_load_file_string at /home/phrb/.bin/julia-f2bd731327/bin/../lib/julia/libjulia.so (unknown line)
include_string at loading.jl:226
jl_apply_generic at /home/phrb/.bin/julia-f2bd731327/bin/../lib/julia/libjulia.so (unknown line)
include_from_node1 at ./loading.jl:267
jl_apply_generic at /home/phrb/.bin/julia-f2bd731327/bin/../lib/julia/libjulia.so (unknown line)
unknown function (ip: 0x7fb9aa75fe13)
unknown function (ip: 0x7fb9aa75f199)
unknown function (ip: 0x7fb9aa77389c)
jl_toplevel_eval_in at /home/phrb/.bin/julia-f2bd731327/bin/../lib/julia/libjulia.so (unknown line)
require at ./loading.jl:201
unknown function (ip: 0x7fb9a7b5adbc)
jl_apply_generic at /home/phrb/.bin/julia-f2bd731327/bin/../lib/julia/libjulia.so (unknown line)
unknown function (ip: 0x7fb9aa772a9d)
unknown function (ip: 0x7fb9aa773b4b)
jl_toplevel_eval_in at /home/phrb/.bin/julia-f2bd731327/bin/../lib/julia/libjulia.so (unknown line)
eval at ./sysimg.jl:14
jl_apply_generic at /home/phrb/.bin/julia-f2bd731327/bin/../lib/julia/libjulia.so (unknown line)
anonymous at multi.jl:1349
jl_f_apply at /home/phrb/.bin/julia-f2bd731327/bin/../lib/julia/libjulia.so (unknown line)
anonymous at multi.jl:889
run_work_thunk at multi.jl:642
jlcall_run_work_thunk_21278 at  (unknown line)
jl_apply_generic at /home/phrb/.bin/julia-f2bd731327/bin/../lib/julia/libjulia.so (unknown line)
anonymous at task.jl:889
unknown function (ip: 0x7fb9aa765770)
unknown function (ip: (nil))
Worker 2 terminated.
ERROR (unhandled task failure): EOFError: read end of file
 in yieldto at ./task.jl:75
 in wait at ./task.jl:371
 in wait at ./task.jl:286
 in wait at ./task.jl:112
 in sync_end at ./task.jl:400
 in anonymous at multi.jl:422
 in include at ./boot.jl:254
 in include_from_node1 at ./loading.jl:264
 in process_options at ./client.jl:308
 in _start at ./client.jl:411
ERROR: LoadError: ProcessExitedException()
 in yieldto at ./task.jl:75
 in wait at ./task.jl:371
 in wait at ./task.jl:286
 in wait at ./channels.jl:93
 in take! at ./channels.jl:82
 in take! at ./multi.jl:789
 in remotecall_fetch at multi.jl:726
 in anonymous at task.jl:447
 in sync_end at ./task.jl:413
 in anonymous at multi.jl:422
 in include at ./boot.jl:254
 in include_from_node1 at ./loading.jl:264
 in process_options at ./client.jl:308
 in _start at ./client.jl:411
while loading /home/phrb/.julia/v0.3/StochasticSearch/examples/rosenbrock.jl, in expression starting on line 1
phrb commented 9 years ago

JuliaLang/julia#12558 was closed, an fixes this.

phrb commented 9 years ago

Related to this issue.