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)