-
Notifications
You must be signed in to change notification settings - Fork 105
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
Test util_ipc_reliable_mq.cpp gets undetermized result #162
Comments
I use valgrind to detect errors in multithreads and this is what I get:
Command:
|
The valgrind errors seem to be bogus. I commented in the Boost.Thread ticket. As for the test failure, I have never seen it happen. If you can reproduce it, please collect the backtrace of the crash. It is not possible to know what is happening from the output alone. Also, what are your Boost, system and compiler versions? |
Change BOOST_VERIFY in line 148 to assert and running the binary:
The backtrace looks like:
|
Boost 1.75 is used. |
The latest released clang is 12.0.1, I'm not sure where 14 comes from. Does it reproduce with gcc or an officially released clang? Could you show the backtrace of the other threads (i.e. the output of Also, can you show what
|
Also, what other processes? Do you mean you're running multiple instances of the same test? |
clang-14 is clang trunk(developing version). It can be reproduced with gcc too.
Whatever processes. To make the reproducing easier, I am running multiple instances of the same test. |
There are always some other processes running when you run the test, and arbitrary processes don't make the test crash. Some specific ones that do specific things may affect the test, that's why I'm asking. The test creates an interprocess queue with a fixed name, which can be opened and affected by another process. Running multiple instances of the test is one example of this - the processes will access the same IPC queue and conflict with each other, that is expected behavior and should be avoided during testing. If your other processes are using the same name for shared memory segments, they will also conflict with the test. |
After updating the test to use unique IPC queue names I'm seeing errors similar to yours. I don't understand why this happens yet, but it looks like |
Should be fixed now. Thank you for the report. |
When running test util_ipc_reliable_mq.cpp with other processes, sometimes it is failed in line 324 BOOST_TEST_PASSPOINT().
log/test/run/util_ipc_reliable_mq.cpp
Lines 308 to 324 in d989c47
Latest version of clang++ is used to build the binary of the test.
The output of the binary looks like:
Could test owner please help to take a look?
The text was updated successfully, but these errors were encountered: