Closed jbergstroem closed 10 years ago
How are you running your tests? This one is a bit sensitive to the environment, I'm afraid.
make check
from a bash shell
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=
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!
Confirmed! Thanks.
@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.
@ff2000 Make sure you're pulling from the libuv/libuv repo and not this one.
@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.
@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.
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.
Bisected again and now the first bad revision is the one that introduced this specific test. c7e4b31444c946230609
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.
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
=============================================================
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: