[tsan] perma comm/mailnews/base/test/unit/test_folderCompact2.js | ThreadSanitizer: data race /builds/worker/workspace/obj-build/dist/include/nsTArray.h:397:37 in Length
Categories
(Thunderbird :: General, defect)
Tracking
(thunderbird_esr128 affected, thunderbird135 fixed)
People
(Reporter: intermittent-bug-filer, Assigned: mkmelin)
References
Details
(Keywords: intermittent-failure, intermittent-testcase)
Attachments
(3 files, 1 obsolete file)
48 bytes,
text/x-phabricator-request
|
corey
:
approval-comm-beta+
|
Details | Review |
48 bytes,
text/x-phabricator-request
|
corey
:
approval-comm-beta+
|
Details | Review |
48 bytes,
text/x-phabricator-request
|
corey
:
approval-comm-beta+
|
Details | Review |
Filed by: mkmelin [at] iki.fi
Parsed log: https://treeherder.mozilla.org/logviewer?job_id=483104043&repo=comm-central
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/KcpdKawwS0uy4E_SyKq4iA/runs/0/artifacts/public/logs/live_backing.log
Assignee | ||
Updated•3 months ago
|
Assignee | ||
Updated•2 months ago
|
Assignee | ||
Comment 1•2 months ago
|
||
Comment hidden (Intermittent Failures Robot) |
Assignee | ||
Comment 3•2 months ago
|
||
Updated•2 months ago
|
Updated•26 days ago
|
Assignee | ||
Updated•26 days ago
|
Comment 4•26 days ago
|
||
Wow. This is an incedibly useful report.
I think we should investigate this concurrency more deeply.
Comment 5•26 days ago
|
||
I'd prefer to implement more complete protection of member variables before committing.
Comment 6•26 days ago
|
||
Comment 7•25 days ago
|
||
OK, I've managed to catch a concrete case of the asyncpump causing reentrancy to MboxParser->Feed()
, so this isn't a speculative issue any more.
(I just added a bool member var to MboxParser which I set while inside Feed(), and asserted if it was already set at the start).
I think Kai's patch is the way to go (and should probably be uplifted, once landed).
I think Bug 1917447 might be down to this, but I'm still following up.
That bug deals with NNTP and messages with large, mime-encoded attachments. My theory is that line lengths on such NNTP messages tends to be longer than for email messages, and that difference causes enough change in timing for the STS and main thread to step on each other's toes.
Bug 1917447 tends to cause a hard crash, which is kind of comforting - less chance for unnoticed weirdness.
Anyway, I'll test this patch against that bug and report back.
Comment 8•25 days ago
|
||
Reporting back: Kai's patch seemed to fix the crashing in Bug 1917447 - hooray!
(I'll add my STR over there, but I suspect you could replicate it on a local folder (rather than NNTP) with some fake emails with big attachments and long line lengths)
Pushed by kaie@kuix.de:
https://hg.mozilla.org/comm-central/rev/564a0a9d4682
V2: Fix [tsan] perma comm/mailnews/base/test/unit/test_folderCompact2.js | ThreadSanitizer: data race /builds/worker/workspace/obj-build/dist/include/nsTArray.h:397:37 in Length. r=BenC
https://hg.mozilla.org/comm-central/rev/e64e5d561ed8
Additional locking for MboxMsgInputStream. r=mkmelin
Updated•24 days ago
|
Comment 11•24 days ago
|
||
Prevent namespace pollution as per
https://firefox-source-docs.mozilla.org/code-quality/coding-style/coding_style_cpp.html#c-namespaces
Also minor tweak to remove locking in the constructor (no other thread can access the object during construction).
Updated•24 days ago
|
Comment 12•24 days ago
|
||
Pushed by kaie@kuix.de:
https://hg.mozilla.org/comm-central/rev/8513f49ad8b0
Remove mozilla namespace pollution from MboxMsgInputStream header. r=kaie,mkmelin
Assignee | ||
Comment 13•23 days ago
|
||
Comment on attachment 9444263 [details]
Bug 1931863 - V2: Fix [tsan] perma comm/mailnews/base/test/unit/test_folderCompact2.js | ThreadSanitizer: data race /builds/worker/workspace/obj-build/dist/include/nsTArray.h:397:37 in Length. r=BenC
[Approval Request Comment] (all the 3 patches)
User impact if declined: unexpected behavior, and potential crash
Testing completed (on c-c, etc.): c-c
Risk to taking this patch (and alternatives if risky): not risk free, so good to bake on beta before potential uplift
Comment 14•18 days ago
|
||
Comment on attachment 9444263 [details]
Bug 1931863 - V2: Fix [tsan] perma comm/mailnews/base/test/unit/test_folderCompact2.js | ThreadSanitizer: data race /builds/worker/workspace/obj-build/dist/include/nsTArray.h:397:37 in Length. r=BenC
[Triage Comment]
Approved for beta
Let's keep an eye on these in beta as release of 135.0 in 3 weeks is slated to be the default download on tb.net.
Comment 15•18 days ago
|
||
Comment on attachment 9446026 [details]
Bug 1931863 - Additional locking for MboxMsgInputStream. r=mkmelin
[Triage Comment]
Approved for beta
Comment 16•18 days ago
|
||
Comment on attachment 9446403 [details]
Bug 1931863 - Remove mozilla namespace pollution from MboxMsgInputStream header. r=#thunderbird-back-end-reviewers
[Triage Comment]
Approved for beta
Comment 17•17 days ago
|
||
bugherder uplift |
Description
•