Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"io_async_notification_queue_test.NotificationQueueTest.UseAfterFork" test crashes intermittently #2366

Open
sin-ack opened this issue Jan 12, 2025 · 0 comments

Comments

@sin-ack
Copy link

sin-ack commented Jan 12, 2025

Contrary to the information message, the parent can also crash because the messages put on the queue by the parent don't seem to be available in the consumer for some reason. The specific crashing line is:

EXPECT_EQ(1234, consumer.messages.front());

Test output:

1574/3359 Testing: io_async_notification_queue_test.NotificationQueueTest.UseAfterFork
1574/3359 Test: io_async_notification_queue_test.NotificationQueueTest.UseAfterFork
Command: "/var/tmp/portage/dev-cpp/folly-2025.01.06.00/work/folly-2025.01.06.00_build/io_async_notification_queue_test" "--gtest_filter=NotificationQueueTest.UseAfterFork"
Directory: /var/tmp/portage/dev-cpp/folly-2025.01.06.00/work/folly-2025.01.06.00
"io_async_notification_queue_test.NotificationQueueTest.UseAfterFork" start time: Jan 12 15:04 CET
Output:
----------------------------------------------------------
Note: Google Test filter = NotificationQueueTest.UseAfterFork
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from NotificationQueueTest
[ RUN      ] NotificationQueueTest.UseAfterFork
I20250112 15:04:36.172443  6319 NotificationQueueTest.cpp:582] This test makes sure the child process crashes.  Error log messagges and a backtrace are expected.
terminate called after throwing an instance of 'std::runtime_error'
  what():  Pid mismatch. Pid = 6322. Expecting 6319
/var/tmp/portage/dev-cpp/folly-2025.01.06.00/work/folly-2025.01.06.00/folly/io/async/test/NotificationQueueTest.cpp:630: Failure
Expected equality of these values:
  2
  consumer.messages.size()
    Which is: 0

/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/bits/stl_deque.h:1446: std::deque<_Tp, _Alloc>::reference std::deque<_Tp, _Alloc>::front() [with _Tp = int; _Alloc = std::allocator<int>; reference = int&]: Assertion '!this->empty()' fai
led.
*** Aborted at 1736690676 (Unix time, try 'date -d @1736690676') ***
*** Signal 6 (SIGABRT) (0xfa000018af) received by PID 6319 (pthread TID 0x7fd61da2c2c0) (linux TID 6319) (maybe from PID 6319, UID 250) (code: -6), stack trace: ***
/var/tmp/portage/dev-cpp/folly-2025.01.06.00/work/folly-2025.01.06.00_build/libfolly.so.0.58.0-dev(_ZN5folly10symbolizer17getStackTraceSafeEPmm+0x72) [0x7fd61eab9982]
/var/tmp/portage/dev-cpp/folly-2025.01.06.00/work/folly-2025.01.06.00_build/libfolly.so.0.58.0-dev(_ZN5folly10symbolizer21SafeStackTracePrinter15printStackTraceEb+0x40) [0x7fd61eabbe70]
/var/tmp/portage/dev-cpp/folly-2025.01.06.00/work/folly-2025.01.06.00_build/libfolly.so.0.58.0-dev(+0x2b8dd7) [0x7fd61eab8dd7]
/lib64/libc.so.6(+0x40ccf) [0x7fd61e263ccf]
/lib64/libc.so.6(+0x97ccc) [0x7fd61e2baccc]
/lib64/libc.so.6(gsignal+0x15) [0x7fd61e263c25]
/lib64/libc.so.6(abort+0xd6) [0x7fd61e24b8f9]
/usr/lib/gcc/x86_64-pc-linux-gnu/14/libstdc++.so.6(_ZSt21__glibcxx_assert_failPKciS0_S0_+0x6e) [0x7fd61e4db54e]
/var/tmp/portage/dev-cpp/folly-2025.01.06.00/work/folly-2025.01.06.00_build/io_async_notification_queue_test(_ZN39NotificationQueueTest_UseAfterFork_Test8TestBodyEv+0x8be) [0x55c1bffad24e]
/usr/lib64/libgtest.so.1.14.0(_ZN7testing8internal35HandleExceptionsInMethodIfSupportedINS_4TestEvEET0_PT_MS4_FS3_vEPKc+0x96) [0x7fd61f06cf86]
/usr/lib64/libgtest.so.1.14.0(_ZN7testing4Test3RunEv+0xd5) [0x7fd61f051bb5]
/usr/lib64/libgtest.so.1.14.0(_ZN7testing8TestInfo3RunEv+0x194) [0x7fd61f051d84]
/usr/lib64/libgtest.so.1.14.0(_ZN7testing9TestSuite3RunEv+0x2cc) [0x7fd61f05207c]
/usr/lib64/libgtest.so.1.14.0(_ZN7testing8internal12UnitTestImpl11RunAllTestsEv+0x337) [0x7fd61f0601c7]
/usr/lib64/libgtest.so.1.14.0(_ZN7testing8internal35HandleExceptionsInMethodIfSupportedINS0_12UnitTestImplEbEET0_PT_MS4_FS3_vEPKc+0x96) [0x7fd61f06d6f6]
/usr/lib64/libgtest.so.1.14.0(_ZN7testing8UnitTest3RunEv+0x77) [0x7fd61f052197]
/var/tmp/portage/dev-cpp/folly-2025.01.06.00/work/folly-2025.01.06.00_build/libfolly_test_support.so(main+0x5b) [0x7fd61f0be9fb]
/lib64/libc.so.6(+0x2a3ed) [0x7fd61e24d3ed]
/lib64/libc.so.6(__libc_start_main+0x88) [0x7fd61e24d4a8]
/var/tmp/portage/dev-cpp/folly-2025.01.06.00/work/folly-2025.01.06.00_build/io_async_notification_queue_test(_start+0x24) [0x55c1bffa8134]
(safe mode, symbolizer not available)
<end of output>
Test time =   0.03 sec
----------------------------------------------------------
Test Failed.
"io_async_notification_queue_test.NotificationQueueTest.UseAfterFork" end time: Jan 12 15:04 CET
"io_async_notification_queue_test.NotificationQueueTest.UseAfterFork" time elapsed: 00:00:00
----------------------------------------------------------

System information

OS: Gentoo Linux amd64 (x86_64-pc-linux-gnu)
Compiler: gcc (Gentoo Hardened 14.2.1_p20241221 p7) 14.2.1 20241221
C++ stdlib implementation: stdlibc++
Folly version: 2025.01.06.00

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant