James Peach created MESOS-9212:
----------------------------------

             Summary: Subprocess tests fail with libev 4.24
                 Key: MESOS-9212
                 URL: https://issues.apache.org/jira/browse/MESOS-9212
             Project: Mesos
          Issue Type: Bug
            Reporter: James Peach


On Fedora 28, building against the system version of libev (version 4.24) 
causes the following tests to fail:

The following tests fail:
{noformat}
[  FAILED  ] ReapTest.NonChildProcess
[  FAILED  ] ReapTest.ChildProcess
[  FAILED  ] ReapTest.TerminatedChildProcess
[  FAILED  ] SubprocessTest.PipeOutputToFileDescriptor
[  FAILED  ] SubprocessTest.PipeOutputToPath
[  FAILED  ] SubprocessTest.EnvironmentEcho
[  FAILED  ] SubprocessTest.Status
[  FAILED  ] SubprocessTest.PipeOutput
[  FAILED  ] SubprocessTest.PipeLargeOutput
[  FAILED  ] SubprocessTest.PipeInput
[  FAILED  ] SubprocessTest.PipeRedirect
[  FAILED  ] SubprocessTest.PathOutput
[  FAILED  ] SubprocessTest.PathInput
[  FAILED  ] SubprocessTest.FdOutput
[  FAILED  ] SubprocessTest.FdInput
[  FAILED  ] SubprocessTest.Default
[  FAILED  ] SubprocessTest.Flags
[  FAILED  ] SubprocessTest.Environment
[  FAILED  ] SubprocessTest.EnvironmentWithSpaces
[  FAILED  ] SubprocessTest.EnvironmentWithSpacesAndQuotes
[  FAILED  ] SubprocessTest.EnvironmentOverride
{noformat}

This build configuration succeeds:
{noformat}
$ ../configure --disable-java --disable-python --enable-silent-rules 
--disable-hardening --disable-werror --disable-libtool-wrappers 
--enable-xfs-disk-isolator --enable-install-module-dependencies 
--enable-port-mapping-isolator --enable-network-ports-isolator 
--with-protobuf=/usr --with-curl=/usr --with-libarchive=/usr 
--with-zookeeper=/usr --prefix=/opt/mesos "CXXFLAGS=-O0 -ggdb3 
-fno-omit-frame-pointer -fvisibility-inlines-hidden -Wno-unused-local-typedefs 
-Wno-deprecated" "CFLAGS=-O0 -ggdb3 -fno-omit-frame-pointer 
-Wno-unused-local-typedefs -Wno-deprecated" LDFLAGS= 
CXX=/home/jpeach/src/asf-mesos/build/c++ CC=/home/jpeach/src/asf-mesos/build/cc 
LD=/home/jpeach/src/asf-mesos/build/ld
{noformat}

This build configuration fails:

{noformat}
  $ ../configure --disable-java --disable-python --enable-silent-rules 
--disable-hardening --disable-werror --disable-libtool-wrappers 
--enable-xfs-disk-isolator --enable-install-module-dependencies 
--enable-port-mapping-isolator --enable-network-ports-isolator 
--with-protobuf=/usr --with-curl=/usr --with-libarchive=/usr 
--with-zookeeper=/usr --prefix=/opt/mesos "CXXFLAGS=-O0 -ggdb3 
-fno-omit-frame-pointer -fvisibility-inlines-hidden -Wno-unused-local-typedefs 
-Wno-deprecated" "CFLAGS=-O0 -ggdb3 -fno-omit-frame-pointer 
-Wno-unused-local-typedefs -Wno-deprecated" LDFLAGS= 
CXX=/home/jpeach/src/asf-mesos/build/c++ CC=/home/jpeach/src/asf-mesos/build/cc 
LD=/home/jpeach/src/asf-mesos/build/ld --with-libev=/usr
{noformat}

I think what happens here is that the child process gets reaped wrongly somehow:
{noformat}
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from SubprocessTest
[ RUN      ] SubprocessTest.EnvironmentWithSpaces
[pid 25909] clone(child_stack=NULL, 
flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, 
child_tidptr=0x7fa11881fcd0) = 25923
strace: Process 25923 attached
[pid 25923] execve("/usr/bin/sh", ["sh", "-c", "echo $MESSAGE"], 0x1ff3950 /* 1 
var */) = 0
[pid 25923] arch_prctl(ARCH_SET_FS, 0x7f24561c5740) = 0
[pid 25923] exit_group(0)               = ?
[pid 25923] +++ exited with 0 +++
[pid 25909] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=25923, 
si_uid=9306, si_status=0, si_utime=0, si_stime=0} ---
[pid 25922] wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 
WNOHANG|WSTOPPED|WCONTINUED, NULL) = 25923
[pid 25922] wait4(-1, 0x7fa10a74da44, WNOHANG|WSTOPPED|WCONTINUED, NULL) = -1 
ECHILD (No child processes)
[pid 25919] wait4(25923, 0x7fa10bf50548, WNOHANG, NULL) = -1 ECHILD (No child 
processes)
../../../3rdparty/libprocess/src/tests/subprocess_tests.cpp:977: Failure
(s->status()).get() is NONE
[  FAILED  ] SubprocessTest.EnvironmentWithSpaces (12 ms)
[----------] 1 test from SubprocessTest (12 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (12 ms total)
[  PASSED  ] 0 tests.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] SubprocessTest.EnvironmentWithSpaces
{noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to