Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

possibly fix a libuv assertion failure on shutdown #12110

Closed
wants to merge 1 commit into from

Conversation

JeffBezanson
Copy link
Member

On Keno's branch kf/stderrpipe (#11919) I reliably see this assertion failure:

jeff@gurren:~/src/julia/test$ ../julia runtests.jl file examples
    From worker 2:       * file                 in   9.90 seconds
julia: src/unix/stream.c:1166: int uv_shutdown(uv_shutdown_t *, uv_stream_t *, uv_shutdown_cb): Assertion `((stream)->io_watcher.fd) >= 0' failed.

signal (6): Aborted
gsignal at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
abort at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
unknown function (ip: 0x7f5a200f9b86)
unknown function (ip: 0x7f5a200f9c32)
julia: src/unix/stream.c:1166: int uv_shutdown(uv_shutdown_t *, uv_stream_t *, uv_shutdown_cb): Assertion `((stream)->io_watcher.fd) >= 0' failed.

signal (6): Aborted
unknown function (ip: 0x7f5a20862deb)
jl_close_uv at /home/jeff/src/julia/usr/bin/../lib/libjulia.so (unknown line)
jl_atexit_hook at /home/jeff/src/julia/usr/bin/../lib/libjulia.so (unknown line)
jl_exit at /home/jeff/src/julia/usr/bin/../lib/libjulia.so (unknown line)
exit at client.jl:39
gsignal at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
abort at /lib/x86_64-linux-gnu/libc.so.6 (unknown line)
unknown function (ip: 0x7f86420d0b86)
unknown function (ip: 0x7f86420d0c32)
unknown function (ip: 0x7f8642839deb)
jl_close_uv at /home/jeff/src/julia/usr/bin/../lib/libjulia.so (unknown line)
jl_atexit_hook at /home/jeff/src/julia/usr/bin/../lib/libjulia.so (unknown line)
jl_exit at /home/jeff/src/julia/usr/bin/../lib/libjulia.so (unknown line)
exit at client.jl:39
    From worker 3:       * examples             in  19.12 seconds
    SUCCESS

This change makes it go away. cc @vtjnash

@vtjnash
Copy link
Member

vtjnash commented Jul 11, 2015

this change doesn't look valid

@vtjnash vtjnash self-assigned this Jul 11, 2015
@JeffBezanson
Copy link
Member Author

Agreed; I strongly suspect this is not the right thing. All I know is it fixed this particular assertion failure.

@vtjnash
Copy link
Member

vtjnash commented Jul 11, 2015

is the handle object value when you reach that point?

the symptoms of this looks like #4229 and #7275

@JeffBezanson
Copy link
Member Author

By that do you mean handle->data is non-NULL?

@vtjnash
Copy link
Member

vtjnash commented Jul 12, 2015

s/value/valid

does the rest of it (including but not limited to ->data look like a well-formed object?

@Keno
Copy link
Member

Keno commented Jul 14, 2015

The thing that's failing here is actually the simple cluster manager test. The reason the output is duplicated is because both of them are failing.

@Keno
Copy link
Member

Keno commented Jul 14, 2015

This is fixed on that branch and was caused by initializing pipes that server as unix domain sockets as readable&writable. This isn't the right way to use that libuv API however, which expects both of those to be unset and will set them itself once the accept/connect has gone though.

@Keno Keno closed this Jul 14, 2015
@Keno Keno deleted the jb/fdassertfail branch July 14, 2015 22:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants