You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Jie Yu (JIRA)" <ji...@apache.org> on 2016/12/09 01:32:58 UTC

[jira] [Comment Edited] (MESOS-6759) IOSwitchboardServerTest.AttachOutput has CHECK failure if run it multiple times.

    [ https://issues.apache.org/jira/browse/MESOS-6759?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15733955#comment-15733955 ] 

Jie Yu edited comment on MESOS-6759 at 12/9/16 1:32 AM:
--------------------------------------------------------

Current hypothesis:

1) we don't discard the socket.accept() if the io switchboard server terminates, which is a bug
2) after discard the future returned by socket.accept() in finalize, the tests passed
3) I suspect that Linux has a bug when there are multiple thread listening on different domain sockets. `accept` on one domain socket might accidentally accept a connection trying to connect to the other one. Also, io:poll on both sockets will return (which is not correct). (PS: I cannot repro this bug on OSX)


was (Author: jieyu):
Current hypothesis:

1) we don't discard the socket.accept() if the io switchboard server terminates, which is a bug
2) after discard the future returned by socket.accept() in finalize, the tests passed
3) I suspect that Linux has a bug when there are multiple thread listening on different domain sockets. `accept` on one domain socket might accidentally accept a connection trying to connect to the other one. Also, io:poll on both sockets will return (which is not correct).

> IOSwitchboardServerTest.AttachOutput has CHECK failure if run it multiple times.
> --------------------------------------------------------------------------------
>
>                 Key: MESOS-6759
>                 URL: https://issues.apache.org/jira/browse/MESOS-6759
>             Project: Mesos
>          Issue Type: Bug
>            Reporter: Jie Yu
>
> I can easily repo this issue on my dev centos7 box with the following command:
> {noformat}
> GLOG_v=1 bin/mesos-tests.sh --gtest_filter=IOSwitchboardServerTest.AttachOutput --verbose --gtest_repeat=2
> ....
> [==========] Running 1 test from 1 test case.
> [----------] Global test environment set-up.
> [----------] 1 test from IOSwitchboardServerTest
> [ RUN      ] IOSwitchboardServerTest.AttachOutput
> I1208 10:46:31.574084 41813 poll_socket.cpp:209] Socket error while sending: Broken pipe
> /home/jie/workspace/mesos/src/tests/containerizer/io_switchboard_tests.cpp:265: Failure
> (response).failure(): Disconnected
> /home/jie/workspace/mesos/src/tests/containerizer/io_switchboard_tests.cpp:266: Failure
> (response).failure(): Disconnected
> F1208 10:46:31.574919 41751 future.hpp:1137] Check failed: !isFailed() Future::get() but state == FAILED: Disconnected
> *** Check failure stack trace: ***
>     @     0x7fc3f35a633a  google::LogMessage::Fail()
>     @     0x7fc3f35a6299  google::LogMessage::SendToLog()
>     @     0x7fc3f35a5caa  google::LogMessage::Flush()
>     @     0x7fc3f35a89de  google::LogMessageFatal::~LogMessageFatal()
>     @           0xb6a352  process::Future<>::get()
>     @          0x1a050fe  mesos::internal::tests::IOSwitchboardServerTest_AttachOutput_Test::TestBody()
>     @          0x1c54ce2  testing::internal::HandleSehExceptionsInMethodIfSupported<>()
>     @          0x1c4fe00  testing::internal::HandleExceptionsInMethodIfSupported<>()
>     @          0x1c31491  testing::Test::Run()
>     @          0x1c31c14  testing::TestInfo::Run()
>     @          0x1c3225a  testing::TestCase::Run()
>     @          0x1c38b34  testing::internal::UnitTestImpl::RunAllTests()
>     @          0x1c55907  testing::internal::HandleSehExceptionsInMethodIfSupported<>()
>     @          0x1c50948  testing::internal::HandleExceptionsInMethodIfSupported<>()
>     @          0x1c3787a  testing::UnitTest::Run()
>     @          0x11cc653  RUN_ALL_TESTS()
>     @          0x11cc209  main
>     @     0x7fc3ecb61b15  __libc_start_main
>     @           0xab5e89  (unknown)
> Aborted (core dumped)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)