Skip to content

Yielding to finished task results in fatal exception  #41347

@omus

Description

@omus

Behaviour on Julia 1.5.3, 1.6.1, and 1.7.0-beta2:

julia> t = @async true
Task (done) @0x00007fba6f5fb730

julia> yield(t)
ERROR: fatal: error thrown and no exception handler available.
TypeError(func=:typeassert, context="", expected=Int32, got=nothing)
jl_type_error_rt at /home/omus/julia/1.6/src/rtutils.c:119
jl_type_error at /home/omus/julia/1.6/src/rtutils.c:127
uv_write at ./stream.jl:992
unsafe_write at ./stream.jl:1064
write at ./strings/io.jl:185 [inlined]
print at ./strings/io.jl:187 [inlined]
#with_output_color#814 at ./util.jl:91
with_output_color##kw at ./util.jl:71 [inlined]
#printstyled#815 at ./util.jl:105 [inlined]
printstyled##kw at ./util.jl:105 [inlined]
display_error at ./client.jl:102
display_error at ./client.jl:107
jl_apply at /home/omus/julia/1.6/src/julia.h:1703 [inlined]
jl_f__call_latest at /home/omus/julia/1.6/src/builtins.c:714
#invokelatest#2 at ./essentials.jl:708 [inlined]
invokelatest at ./essentials.jl:706 [inlined]
_start at ./client.jl:487
jfptr__start_28164 at /home/omus/julia/1.6/usr/lib/julia/sys.so (unknown line)
jl_apply at /home/omus/julia/1.6/src/julia.h:1703 [inlined]
true_main at /home/omus/julia/1.6/src/jlapi.c:560
repl_entrypoint at /home/omus/julia/1.6/src/jlapi.c:702
main at julia-1.6 (unknown line)
__libc_start_main at /usr/lib/libc.so.6 (unknown line)
_start at julia-1.6 (unknown line)

The behaviour on Julia 1.4.2 didn't result in this fatal exception:

julia> t = @async true
Task (done) @0x00007fbaaa8109d0

julia> yield(t)

WARNING: Workqueue inconsistency detected: popfirst!(Workqueue).state != :runnable

Metadata

Metadata

Assignees

Labels

bugIndicates an unexpected problem or unintended behaviorparallelismParallel or distributed computation

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions