mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mesos Reviewbot Windows <revi...@mesos.apache.org>
Subject Re: Review Request 65183: Fixed a libprocess finalization deadlock due to Queue discard support.
Date Tue, 16 Jan 2018 22:31:50 GMT

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/65183/#review195509
-----------------------------------------------------------



FAIL: Some Mesos libprocess-tests failed.

Reviews applied: `['65150', '65151', '65183']`

Failed command: `D:\DCOS\mesos\3rdparty\libprocess\src\tests\Debug\libprocess-tests.exe`

All the build artifacts available at: http://dcos-win.westus.cloudapp.azure.com/mesos-build/review/65183

Relevant logs:

- [libprocess-tests-stdout.log](http://dcos-win.westus.cloudapp.azure.com/mesos-build/review/65183/logs/libprocess-tests-stdout.log):

```
[ RUN      ] SSLVerifyIPAdd/SSLTest.RequireCertificate/0
D:\DCOS\mesos\mesos\3rdparty\libprocess\src\tests\ssl_tests.cpp(446): error: (await_subprocess(client.get(),
0)).failure(): 
[++++++++++] Subprocess output.
[==========] Running 1 test from 1 test case.

[----------] Global test environment set-up.

[----------] 1 test from SSLClientTest

[ RUN      ] SSLClientTest.client

[       OK ] SSLClientTest.client (19 ms)

[----------] 1 test from SSLClientTest (19 ms total)



[----------] Global test environment tear-down

[==========] 1 test from 1 test case ran. (20 ms total)

[  PASSED  ] 1 test.

[++++++++++]

[  FAILED  ] SSLVerifyIPAdd/SSLTest.RequireCertificate/0, where GetParam() = "false" (1066
ms)
[ RUN      ] SSLVerifyIPAdd/SSLTest.RequireCertificate/1
[       OK ] SSLVerifyIPAdd/SSLTest.RequireCertificate/1 (949 ms)
[----------] 4 tests from SSLVerifyIPAdd/SSLTest (2840 ms total)

[----------] Global test environment tear-down
[==========] 225 tests from 35 test cases ran. (36412 ms total)
[  PASSED  ] 224 tests.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] SSLVerifyIPAdd/SSLTest.RequireCertificate/0, where GetParam() = "false"

 1 FAILED TEST
  YOU HAVE 19 DISABLED TESTS

```

- [libprocess-tests-stderr.log](http://dcos-win.westus.cloudapp.azure.com/mesos-build/review/65183/logs/libprocess-tests-stderr.log):

```
I0116 22:31:33.861932  8428 process.cpp:913] Stopped the socket accept loop
I0116 22:31:33.890940  6868 process.cpp:913] Stopped the socket accept loop
I0116 22:31:34.267000  8428 openssl.cpp:514] Will not verify peer certificate!
NOTE: Set LIBPROCESS_SSL_VERIFY_CERT=1 to enable peer certificate verification
I0116 22:31:34.267000  8428 openssl.cpp:534] LIBPROCESS_SSL_REQUIRE_CERT implies peer certificate
verification.
LIBPROCESS_SSL_VERIFY_CERT set to true
I0116 22:31:34.267000  8428 openssl.cpp:563] Using CA file: C:\Users\mesos\AppData\Local\Temp\M424M0\cert.pem
I0116 22:31:34.267000  8428 openssl.cpp:566] Using CA dir: C:\Users\mesos\AppData\Local\Temp\M424M0
I0116 22:31:34.710069  8428 openssl.cpp:514] Will not verify peer certificate!
NOTE: Set LIBPROCESS_SSL_VERIFY_CERT=1 to enable peer certificate verification
I0116 22:31:34.710069  8428 openssl.cpp:526] Will use IP address verification in subject alternative
name certificate extension.
I0116 22:31:34.710069  8428 openssl.cpp:534] LIBPROCESS_SSL_REQUIRE_CERT implies peer certificate
verification.
LIBPROCESS_SSL_VERIFY_CERT set to true
I0116 22:31:34.710069  8428 openssl.cpp:563] Using CA file: C:\Users\mesos\AppData\Local\Temp\oQBF9N\cert.pem
I0116 22:31:34.711082  8428 openssl.cpp:566] Using CA dir: C:\Users\mesos\AppData\Local\Temp\oQBF9N
I0116 22:31:35.024188  8428 openssl.cpp:509] CA directory path unspecified! NOTE: Set CA directory
path with LIBPROCESS_SSL_CA_DIR=<dirpath>
I0116 22:31:35.024188  8428 openssl.cpp:514] Will not verify peer certificate!
NOTE: Set LIBPROCESS_SSL_VERIFY_CERT=1 to enable peer certificate verification
I0116 22:31:35.024188  8428 openssl.cpp:534] LIBPROCESS_SSL_REQUIRE_CERT implies peer certificate
verification.
LIBPROCESS_SSL_VERIFY_CERT set to true
I0116 22:31:35.024188  8428 openssl.cpp:563] Using CA file: C:\Users\mesos\AppData\Local\Temp\2N2hmo\cert.pem
I0116 22:31:36.095188  8428 openssl.cpp:509] CA directory path unspecified! NOTE: Set CA directory
path with LIBPROCESS_SSL_CA_DIR=<dirpath>
I0116 22:31:36.095188  8428 openssl.cpp:514] Will not verify peer certificate!
NOTE: Set LIBPROCESS_SSL_VERIFY_CERT=1 to enable peer certificate verification
I0116 22:31:36.095188  8428 openssl.cpp:526] Will use IP address verification in subject alternative
name certificate extension.
I0116 22:31:36.095188  8428 openssl.cpp:534] LIBPROCESS_SSL_REQUIRE_CERT implies peer certificate
verification.
LIBPROCESS_SSL_VERIFY_CERT set to true
I0116 22:31:36.096200  8428 openssl.cpp:563] Using CA file: C:\Users\mesos\AppData\Local\Temp\K7RjeD\cert.pem
I0116 22:31:36.763298  8832 process.cpp:913] Stopped the socket accept loop
```

- Mesos Reviewbot Windows


On Jan. 16, 2018, 9:41 p.m., Benjamin Mahler wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/65183/
> -----------------------------------------------------------
> 
> (Updated Jan. 16, 2018, 9:41 p.m.)
> 
> 
> Review request for mesos and Benjamin Hindman.
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> Once discard support for Queue::get was introduced, this makes it
> possible for the finalization logic in libprocess to try to acquire
> the `socket_mutex` recursively:
> 
>   (1) process::finalize acquires socket_mutex, and discards __s__.
>   (2) The get from LibeventSSLSocket::accept_queue gets discarded.
>   (3) This then executes the process.cpp logic in on_accept, which
>       will always re-aquire the `socket_mutex`, even though the
>       accepted socket came out as discarded.
> 
> The fix applied here is to also stop the accept loop when the socket
> was discarded. This avoids acquiring the `socket_mutex` in the
> discarded case.
> 
> Also, this avoids logging a failure message in the discarded case,
> and instead consistently logs when the accept loop is stopped.
> 
> Also, wrote a comment within `LibeventSSLSocket::accept` that
> explains a potential issue due to MESOS-8448.
> 
> 
> Diffs
> -----
> 
>   3rdparty/libprocess/src/libevent_ssl_socket.cpp 1c95ebabfefd07aaeb053b965ab8e4550dfccaef

>   3rdparty/libprocess/src/process.cpp 2126c272a69bfa53b4b3cbbb1a55a3f81a5da8ad 
> 
> 
> Diff: https://reviews.apache.org/r/65183/diff/1/
> 
> 
> Testing
> -------
> 
> make check
> 
> 
> Thanks,
> 
> Benjamin Mahler
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message