DynamoRIO / DynamoRIO/drmemory
HANG unit_tests ExtensionServiceTest.ExternalExtensionAutoAcknowledgement
- Dominant language
- C
- Stars
- 2.7k
- Forks
- 290
- PR merge metrics
- No merged PRs in 30d
Description
_From [bruen...@google.com](https://code.google.com/u/109494838902877177630/) on January 31, 2014 14:05:19_
On the FYI bots after switching to Release, full mode unit_tests #3_of_6
was timing out several times in a row: http://build.chromium.org/p/chromium.fyi/builders/Windows%20Unit%20%28DrMemory%20full%29%20%284%29/builds/150/steps/memory%20test%3A%20unit_3/logs/stdio [ RUN ] ExtensionServiceTest.ExternalExtensionAutoAcknowledgement
[1284:3316:0129/215647:24584743:ERROR:ipc_channel_win.cc(405)] pipe error: 232
command timed out: 1200 seconds without output, attempting to kill
program finished with exit code 1
elapsedTime=1661.696000
Worked fine in my local runs prior to FYI change:
e:/derek/chromium/src/RUNLOG-unit-full-release:
[ RUN ] ExtensionServiceTest.ExternalExtensionAutoAcknowledgement
[ OK ] ExtensionServiceTest.ExternalExtensionAutoAcknowledgement (1222 ms)
Yet now when I run it by itself directly (no script) it does hang w/ that
same pipe error.
Attach windbg: ony 4 app threads. No DR or DrMem frames.
Actually it hangs under plain DR:
% ~/dr/git/exports/bin32/drrun -- ./unit_tests.exe --gtest_filter=ExtensionServiceTest.ExternalExtensionAutoAcknowledgement
Valgrind detected, switching to single process mode.
Pass --test-launcher-debug-launcher to valgrind the launcher itself.
Note: Google Test filter = ExtensionServiceTest.ExternalExtensionAutoAcknowledgement
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from ExtensionServiceTest
[ RUN ] ExtensionServiceTest.ExternalExtensionAutoAcknowledgement
[20736:30184:0130/173757:1374966073:ERROR:ipc_channel_win.cc(405)] pipe error: 232
Works natively (I even tried 100x in a loop):
% ./unit_tests.exe --gtest_filter=ExtensionServiceTest.ExternalExtensionAutoAcknowledgement
Valgrind detected, switching to single process mode.
Pass --test-launcher-debug-launcher to valgrind the launcher itself.
Note: Google Test filter = ExtensionServiceTest.ExternalExtensionAutoAcknowledgement
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from ExtensionServiceTest
[ RUN ] ExtensionServiceTest.ExternalExtensionAutoAcknowledgement
[ OK ] ExtensionServiceTest.ExternalExtensionAutoAcknowledgement (437 ms)
// The pipe is being closed.
//
#define ERROR_NO_DATA 232L
Debug and logging shows nothing unusual.
It turns it it's flaky natively:
chromium/src/chrome/browser/extensions/extension_service_unittest.cc
// Flaky on windows; http://crbug.com/309833 In that issue it shows this happening natively:
[3104:1980:1021/145120:1036829:ERROR:ipc_channel_win.cc(405)] pipe error: 232
There's a code change meant to disable it on Windows that has a mistake. So probably we should just properly disable it and just assume DR triggers the flakiness somehow in a timing-related or other way and it's not a DR bug?
_Original issue: http://code.google.com/p/drmemory/issues/detail?id=1434_
Contributor guide
Assessment
This issue has not been assessed yet.