joyent / libuv

Go to
https://github.com/libuv/libuv
3.27k stars 653 forks source link

1.0.0-rc2 failed test: spawn_reads_child_path #1539

Closed jbergstroem closed 10 years ago

jbergstroem commented 10 years ago

Fails both running as root and user (if relevant). This is linux 3.17.1 x86_64 with glibc 2.19 and built with gcc 4.8.3:

`spawn_reads_child_path` failed: exit code 6
Output from process `spawn_reads_child_path`:
exit_cb
Assertion failed in test/test-spawn.c on line 66: exit_status == 1
saghul commented 10 years ago

How are you running your tests? This one is a bit sensitive to the environment, I'm afraid.

jbergstroem commented 10 years ago

make check from a bash shell

laszlo-kiss commented 10 years ago

FYI: Still occuring on Yosemite (Mac OS 10.10, XCode 6.1)

=============================================================
[%  72|+ 177|-   0|T   0|S   0]: spawn_reads_child_path
`spawn_reads_child_path` failed: exit code 6
Output from process `spawn_reads_child_path`:
exit_cb
Assertion failed in test/test-spawn.c on line 66: exit_status == 1
=============================================================
Apple LLVM version 6.0 (clang-600.0.54) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin14.0.0
Thread model: posix
Darwin selene 14.0.0 Darwin Kernel Version 14.0.0: Fri Sep 19 00:26:44 PDT 2014; root:xnu-2782.1.97~2/RELEASE_X86_64 x86_64
selene$ locale
LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL=
saghul commented 10 years ago

This one was also reported recently on libuv/libuv and a fix landed for it there (v1.x branch). Please try it out and if it's still a problem for you open an issue there. Thanks!

jbergstroem commented 10 years ago

Confirmed! Thanks.

ff2000 commented 9 years ago

@jbergstroem is this really fixed for you? I checked out v1.x branch, ran git clean -dfx. Built with ./autogen.sh ./configure make check-TESTS and spawn_reads_child_path still fails.

jbergstroem commented 9 years ago

@ff2000 Make sure you're pulling from the libuv/libuv repo and not this one.

ff2000 commented 9 years ago

@jbergstroem did you in the meantime install libuv-1.0.1 systemwide? Because I just did it, and I couldn't believe it - tests passed. Uninstalled it again, did the whole git clean -> build -> runtests-procedure -- and that one test failed again! Also reverting (manually) the commit I bisected in lubuv/libuv#40 makes it work again.

Well, and now I know why :/ I have installed neovim+pyuv against libuv-0.11.29. I created an ebuild for libuv-1.0.1 and gave it a new SLOT ("1/0", 0.11 has "0/11"). Installing that preserved system-libuv from 0.11 in order to not break neovim/pyuv. I simply removed them and now - tada - spawn_reads_child_path also fails with v0.11.29 branch!

So @devs - remove all system libuv instances so that tests really use the libuv from the current build.

jbergstroem commented 9 years ago

@ff2000 Although I do tests with the libuv packaged in gentoo, I try to not throw portage/emerge into the mix while investigating libuv test issus (well, no package in general). As for gentoo my goal is to bump the package shortly and remove the slot since the abi isn't really to be trusted before 1.0.0 (even -rc's are breaking). If you like to talk further about gentoo, lets keep this out of libuv land - just ping me on freenode.

ff2000 commented 9 years ago

I mentioned portage/preserved_libs only because that was the reason for libuv.so.11 still being present in /usr/lib64. As soon as I remove them tests also fail with v0.11.29 branch, so this issue should not be limited to Gentoo/portage, but it should affect every system. Just to make it clear: I am currently building+running tests solely in $HOME/src/libuv, no portage+FEATURES="test"/... involved.

ff2000 commented 9 years ago

Bisected again and now the first bad revision is the one that introduced this specific test. c7e4b31444c946230609

ff2000 commented 9 years ago

One last note: Building with gyp results in test SUCCESS for spawn_reads_child_path:

./out/Debug/run-tests spawn_reads_child_path spawn_reads_child_path
exit_cb
close_cb

So this might (should) be an autotools issue. I use autoconf-2.69 and automake 1.13.4. Now I only experience this issue: https://github.com/libuv/libuv/issues/43.

frqnck commented 9 years ago

Failling one assertion here with autotools on Darwin Kernel Version 14.0.0 (Mac OS 10.10):

=============================================================
[%  72|+ 177|-   0|T   0|S   0]: spawn_reads_child_path
`spawn_reads_child_path` failed: exit code 6
Output from process `spawn_reads_child_path`:
exit_cb
Assertion failed in test/test-spawn.c on line 66: exit_status == 1
=============================================================