mesos-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Joseph Wu (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (MESOS-6919) Libprocess reinit code leaks SSL server socket FD
Date Tue, 07 Mar 2017 00:51:33 GMT

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

Joseph Wu commented on MESOS-6919:
----------------------------------

Looks like this affects Unix sockets too:
{code}
  while (true) {
    Try<unix::Socket> create = unix::Socket::create();
    ASSERT_SOME(create);

    Try<unix::Address> address = unix::Address::create(os::mkdtemp().get() + "/a");
    ASSERT_SOME(address);

    Try<unix::Address> bind = create->bind(address.get());
    ASSERT_SOME(bind);

    Try<Nothing> listen = create->listen(10);
    ASSERT_SOME(listen);

    create->accept().discard();
  }
{code}

> Libprocess reinit code leaks SSL server socket FD
> -------------------------------------------------
>
>                 Key: MESOS-6919
>                 URL: https://issues.apache.org/jira/browse/MESOS-6919
>             Project: Mesos
>          Issue Type: Bug
>          Components: libprocess
>            Reporter: Greg Mann
>              Labels: libprocess, ssl
>
> After [this commit|https://github.com/apache/mesos/commit/789e9f7], it was discovered
that tests which use {{process::reinitialize}} to switch between SSL and non-SSL modes will
leak the file descriptor associated with the server socket {{\_\_s\_\_}}. This can be reproduced
by running the following trivial test in repetition:
> {code}
> diff --git a/src/tests/scheduler_tests.cpp b/src/tests/scheduler_tests.cpp
> index 1ff423f..d5fd575 100644
> --- a/src/tests/scheduler_tests.cpp
> +++ b/src/tests/scheduler_tests.cpp
> @@ -1821,6 +1821,12 @@ INSTANTIATE_TEST_CASE_P(
>  #endif // USE_SSL_SOCKET
> +TEST_P(SchedulerSSLTest, LeakTest)
> +{
> +  ::sleep(1);
> +}
> +
> +
>  // Tests that a scheduler can subscribe, run a task, and then tear itself down.
>  TEST_P(SchedulerSSLTest, RunTaskAndTeardown)
>  {
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message