Recurrent intermittent travis test failure · Issue #4016 · JuliaLang/julia (original) (raw)
Happens both on clang (here and here) and gcc (here)
$ cd /tmp/julia/share/julia/test && /tmp/julia/bin/julia runtests.jl all From worker 4: * numbers From worker 5: * strings From worker 3: * keywordargs From worker 6: * unicode From worker 2: * core From worker 7: * collections From worker 9: * remote From worker 8: * hashing From worker 9: * iostring From worker 3: * arrayops From worker 9: * linalg From worker 8: * blas From worker 6: * fft From worker 2: * dsp From worker 7: * sparse From worker 5: * bitarray From worker 8: * random Worker 2 terminated. ERROR: read: end of file in read at iobuffer.jl:68 in read at stream.jl:609 in anonymous at task.jl:797
ERROR: ProcessExitedException() in yield at multi.jl:1490 in wait at task.jl:105 in wait_full at multi.jl:545 in remotecall_fetch at multi.jl:645 in remotecall_fetch at multi.jl:650 in anonymous at multi.jl:1332 at /tmp/julia/share/julia/test/runtests.jl:20 The command "/tmp/julia/bin/julia runtests.jl all" exited with 1.
It's also unclear where task.jl:797
is, since task.jl only has 164 lines, but possibly from stream.jl:797.
Other backtrace locations are iobuffer.jl:68 and stream.jl:609
I was looking to see if there might be a race condition in IOBuffer
, e.g., where isopen()
becomes false in wait_nb
before data is written, or the readnotify
condition is notified before the buffer is filled, etc., but didn't see anything obvious.