Skip to content

jl_yield() causes segfault from c #15301

Closed

Description

I'm inserting a jl_yield so that my hungry process permits @parallel and @spawnat - but alas it doesn't look possible. It sometimes allows me to @spawnat but mostly it just crashes.

I tried: uv_async_send using multiple threads and it was about 1000 times slower than what I'm doing at present in a single thread (must be due to lib_uv joins).

If I leave the yield out it works fine :(

Not sure about this one!

signal (11): Segmentation fault
unknown function (ip: 0x7faadaf6ea0c)
unknown function (ip: 0x7faadaf73b0c)
unknown function (ip: 0x7faadaf7e64c)
jl_apply_generic at /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so (unknown line)
wait at ./task.jl:369
yield at task.jl:355
jlcall_yield_21543 at  (unknown line)
jl_apply_generic at /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so (unknown line)
jl_call0 at /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so (unknown line)
processmusesync at libmse.so.0.0.1 (unknown line)
anonymous at /home/a/projects/bxi/server/pipeline.jl:50
jl_f_apply at /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so (unknown line)
anonymous at multi.jl:904
run_work_thunk at multi.jl:645
run_work_thunk at multi.jl:654
jlcall_run_work_thunk_21275 at  (unknown line)
jl_apply_generic at /usr/bin/../lib/x86_64-linux-gnu/julia/libjulia.so (unknown line)
anonymous at task.jl:58
unknown function (ip: 0x7faadafe0f83)
unknown function (ip: (nil))
Worker 2 terminated.
ERROR (unhandled task failure): EOFError: read end of file

Place of the call looks like:

    while(1) {
        if ((size_t)d[4] % 100 == 0) {
            jl_yield();
            usleep(30000);
        }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    needs more infoClarification or a reproducible example is required

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions