Intermittent Assertion failure: pthread_mutex_destroy(&mMutex) == 0 (pthread_mutex_destroy failed), at /builds/worker/checkouts/gecko/xpcom/threads/RecursiveMutex.cpp:63 in docshell/test/unit/test_privacy_transition.js
Categories
(Core :: Graphics: Text, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr91 | --- | unaffected |
firefox100 | --- | unaffected |
firefox101 | --- | unaffected |
firefox102 | --- | fixed |
People
(Reporter: intermittent-bug-filer, Assigned: jfkthame)
References
Details
(Keywords: assertion, intermittent-failure, regression, Whiteboard: [stockwell unknown])
Attachments
(1 file)
Filed by: mlaza [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer?job_id=378731205&repo=autoland
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/XIfjihmMQ7WSCtwnlZhyHQ/runs/0/artifacts/public/logs/live_backing.log
[task 2022-05-20T04:17:08.699Z] 04:17:08 INFO - TEST-START | docshell/test/unit/test_privacy_transition.js
[task 2022-05-20T04:17:09.047Z] 04:17:09 WARNING - TEST-UNEXPECTED-FAIL | docshell/test/unit/test_privacy_transition.js | xpcshell return code: 1
[task 2022-05-20T04:17:09.047Z] 04:17:09 INFO - TEST-INFO took 347ms
[task 2022-05-20T04:17:09.048Z] 04:17:09 INFO - >>>>>>>
[task 2022-05-20T04:17:09.048Z] 04:17:09 INFO - PID 8699 | [Parent 8699, Main Thread] WARNING: Couldn't get the user appdata directory. Crash events may not be produced.: file /builds/worker/checkouts/gecko/toolkit/crashreporter/nsExceptionHandler.cpp:2981
[task 2022-05-20T04:17:09.048Z] 04:17:09 INFO - (xpcshell/head.js) | test MAIN run_test pending (1)
[task 2022-05-20T04:17:09.048Z] 04:17:09 INFO - TEST-PASS | docshell/test/unit/test_privacy_transition.js | run_test - [run_test : 20] 2 == 2
[task 2022-05-20T04:17:09.049Z] 04:17:09 INFO - (xpcshell/head.js) | test MAIN run_test finished (1)
[task 2022-05-20T04:17:09.049Z] 04:17:09 INFO - exiting test
[task 2022-05-20T04:17:09.049Z] 04:17:09 INFO - PID 8699 | Couldn't convert chrome URL: chrome://branding/locale/brand.properties
[task 2022-05-20T04:17:09.049Z] 04:17:09 INFO - PID 8699 | [Parent 8699, Main Thread] WARNING: Could not get the program name for a cubeb stream.: 'NS_SUCCEEDED(rv)', file /builds/worker/checkouts/gecko/dom/media/CubebUtils.cpp:413
[task 2022-05-20T04:17:09.050Z] 04:17:09 INFO - "CONSOLE_MESSAGE: (info) No chrome package registered for chrome://branding/locale/brand.properties"
[task 2022-05-20T04:17:09.050Z] 04:17:09 INFO - PID 8699 | GL_VENDOR: Intel Inc.
[task 2022-05-20T04:17:09.050Z] 04:17:09 INFO - PID 8699 | mVendor: Intel
[task 2022-05-20T04:17:09.050Z] 04:17:09 INFO - PID 8699 | GL_RENDERER: Intel(R) UHD Graphics 630
[task 2022-05-20T04:17:09.050Z] 04:17:09 INFO - PID 8699 | mRenderer: Unknown
[task 2022-05-20T04:17:09.050Z] 04:17:09 INFO - PID 8699 | mIsMesa: 0
[task 2022-05-20T04:17:09.051Z] 04:17:09 INFO - PID 8699 | [Parent 8699, Main Thread] WARNING: NS_ENSURE_TRUE(currentInner) failed: file /builds/worker/checkouts/gecko/dom/base/WindowDestroyedEvent.cpp:113
[task 2022-05-20T04:17:09.051Z] 04:17:09 INFO - PID 8699 | [Parent 8699, Main Thread] WARNING: Extra shutdown CC: 'i < NORMAL_SHUTDOWN_COLLECTIONS', file /builds/worker/checkouts/gecko/xpcom/base/nsCycleCollector.cpp:3359
[task 2022-05-20T04:17:09.051Z] 04:17:09 INFO - PID 8699 | [Parent 8699, Main Thread] WARNING: NS_ENSURE_TRUE(InitStaticMembers()) failed: file /builds/worker/workspace/obj-build/dist/include/mozilla/Preferences.h:129
[task 2022-05-20T04:17:09.052Z] 04:17:09 INFO - PID 8699 | Assertion failure: pthread_mutex_destroy(&mMutex) == 0 (pthread_mutex_destroy failed), at /builds/worker/checkouts/gecko/xpcom/threads/RecursiveMutex.cpp:63
[task 2022-05-20T04:17:09.052Z] 04:17:09 INFO - PID 8699 | #01: mozilla::RecursiveMutex::~RecursiveMutex() [xpcom/threads/RecursiveMutex.cpp:58]
[task 2022-05-20T04:17:09.052Z] 04:17:09 INFO - PID 8699 | #02: gfxPlatformFontList::~gfxPlatformFontList() [gfx/thebes/gfxPlatformFontList.cpp:324]
[task 2022-05-20T04:17:09.052Z] 04:17:09 INFO - PID 8699 | #03: gfxMacPlatformFontList::~gfxMacPlatformFontList() [gfx/thebes/gfxMacPlatformFontList.mm:1003]
[task 2022-05-20T04:17:09.053Z] 04:17:09 INFO - PID 8699 | #04: gfxPlatform::Shutdown() [gfx/thebes/gfxPlatform.cpp:1221]
[task 2022-05-20T04:17:09.053Z] 04:17:09 INFO - PID 8699 | #05: nsLayoutModuleDtor() [layout/build/nsLayoutModule.cpp:250]
[task 2022-05-20T04:17:09.053Z] 04:17:09 INFO - PID 8699 | #06: nsComponentManagerImpl::Shutdown() [xpcom/components/nsComponentManager.cpp:862]
[task 2022-05-20T04:17:09.053Z] 04:17:09 INFO - PID 8699 | #07: mozilla::ShutdownXPCOM(nsIServiceManager*) [xpcom/build/XPCOMInit.cpp:721]
[task 2022-05-20T04:17:09.053Z] 04:17:09 INFO - PID 8699 | #08: XRE_XPCShellMain(int, char**, char**, XREShellData const*) [js/xpconnect/src/XPCShellImpl.cpp:1434]
[task 2022-05-20T04:17:09.054Z] 04:17:09 INFO - PID 8699 | #09: main [js/xpconnect/shell/xpcshell.cpp:82]
Updated•2 years ago
|
Updated•2 years ago
|
Comment hidden (Intermittent Failures Robot) |
Updated•2 years ago
|
Comment hidden (Intermittent Failures Robot) |
Updated•2 years ago
|
Assignee | ||
Comment 3•2 years ago
|
||
I suspect neither bug 1770423 nor bug 1681495 is really at fault here; they're just getting unlucky, depending how timing works out during the test runs.
The real issue is that the browser is being launched and then shut down very quickly, and we end up trying to destroy the gfxPlatformFontList
while the InitFontList
thread (thread 7 in the comment 0 log) that runs early during startup on macOS is still busy. That thread calls gfxPlatformFontList::InitFontList()
, which holds the gfxPlatformFontList
lock; but then, while that is still running (and holding the lock), the shutdown process tries to destroy the mutex.
We should be able to fix this by explicitly joining the InitFontList
thread at the beginning of the font-list destructor, if it is still in existence at that time. (In normal use, it'll be long gone, but a test that launches and immediately quits the browser could hit this, and that's what I think must be happening in CI.)
Assignee | ||
Comment 4•2 years ago
|
||
Updated•2 years ago
|
Pushed by jkew@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/6b90d439f932 Ensure the InitFontList thread is joined before destroying gfxPlatformFontList. r=lsalzman
Comment 6•2 years ago
|
||
bugherder |
Updated•2 years ago
|
Assignee | ||
Comment 8•2 years ago
|
||
Yes, it should do - although the current fix isn't quite sufficient, it turns out; I'll be fixing it better in bug 1770832.
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Description
•