Closed Bug 1948417 Opened 1 month ago Closed 25 days ago

Intermittent TV leakcheck | default 1232 bytes leaked (CondVar, MozPromise::ThenValueBase::ResolveOrRe, MozPromiseRefcountable, Mutex, StringBuffer, ...)

Categories

(Firefox :: Data Loss Prevention, defect, P5)

defect

Tracking

()

RESOLVED FIXED
137 Branch
Tracking Status
firefox-esr128 --- unaffected
firefox135 --- unaffected
firefox136 --- unaffected
firefox137 --- fixed

People

(Reporter: intermittent-bug-filer, Assigned: gstoll)

References

(Regression)

Details

(Keywords: intermittent-failure, regression, test-verify-fail)

Attachments

(1 file)

Filed by: agoloman [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer?job_id=495058656&repo=autoland
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/W0xWtt5NTpOgzKotEvqs0w/runs/0/artifacts/public/logs/live_backing.log
Reftest URL: https://hg.mozilla.org/mozilla-central/raw-file/tip/layout/tools/reftest/reftest-analyzer.xhtml#logurl=https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/W0xWtt5NTpOgzKotEvqs0w/runs/0/artifacts/public/logs/live_backing.log&only_show_unexpected=1


[task 2025-02-14T21:59:26.911Z] 21:59:26     INFO - TEST-INFO | leakcheck | utility process: leak threshold set at 0 bytes
[task 2025-02-14T21:59:26.912Z] 21:59:26     INFO - leakcheck | Processing leak log file C:\Users\task_173956610911756\AppData\Local\Temp\tmpz2zm7fxc.mozrunner\runtests_leaks.log
[task 2025-02-14T21:59:26.913Z] 21:59:26     INFO - 
[task 2025-02-14T21:59:26.913Z] 21:59:26     INFO - == BloatView: ALL (cumulative) LEAK AND BLOAT STATISTICS, default process 8612
[task 2025-02-14T21:59:26.914Z] 21:59:26     INFO - 
[task 2025-02-14T21:59:26.914Z] 21:59:26     INFO -      |<----------------Class--------------->|<-----Bytes------>|<----Objects---->|
[task 2025-02-14T21:59:26.914Z] 21:59:26     INFO -      |                                      | Per-Inst   Leaked|   Total      Rem|
[task 2025-02-14T21:59:26.915Z] 21:59:26     INFO -    0 |TOTAL                                 |       29     1232| 5996759       68|
[task 2025-02-14T21:59:26.915Z] 21:59:26     INFO -  198 |CondVar                               |       36       36|    1102        1|
[task 2025-02-14T21:59:26.916Z] 21:59:26     INFO -  645 |MozPromise::ThenValueBase::ResolveOrRe|       20      400|    1374       20|
[task 2025-02-14T21:59:26.917Z] 21:59:26     INFO -  646 |MozPromiseRefcountable                |        8      168|    3538       21|
[task 2025-02-14T21:59:26.917Z] 21:59:26     INFO -  650 |Mutex                                 |       44      132|   12758        3|
[task 2025-02-14T21:59:26.918Z] 21:59:26     INFO - 1251 |StringBuffer                          |        8      160| 1023374       20|
[task 2025-02-14T21:59:26.918Z] 21:59:26     INFO - 1304 |ThreadEventTarget                     |       24       24|      70        1|
[task 2025-02-14T21:59:26.919Z] 21:59:26     INFO - 1309 |ThreadTargetSink                      |        8        8|      70        1|
[task 2025-02-14T21:59:26.919Z] 21:59:26     INFO - 2049 |nsThread                              |      304      304|      85        1|
[task 2025-02-14T21:59:26.920Z] 21:59:26     INFO - 
[task 2025-02-14T21:59:26.920Z] 21:59:26     INFO - nsTraceRefcnt::DumpStatistics: 2154 entries
[task 2025-02-14T21:59:26.921Z] 21:59:26     INFO - TEST-INFO | leakcheck | default leaked 1 CondVar
[task 2025-02-14T21:59:26.922Z] 21:59:26     INFO - TEST-INFO | leakcheck | default leaked 20 MozPromise::ThenValueBase::ResolveOrRe
[task 2025-02-14T21:59:26.922Z] 21:59:26     INFO - TEST-INFO | leakcheck | default leaked 21 MozPromiseRefcountable
[task 2025-02-14T21:59:26.923Z] 21:59:26     INFO - TEST-INFO | leakcheck | default leaked 3 Mutex
[task 2025-02-14T21:59:26.923Z] 21:59:26     INFO - TEST-INFO | leakcheck | default leaked 20 StringBuffer
[task 2025-02-14T21:59:26.924Z] 21:59:26     INFO - TEST-INFO | leakcheck | default leaked 1 ThreadEventTarget
[task 2025-02-14T21:59:26.924Z] 21:59:26     INFO - TEST-INFO | leakcheck | default leaked 1 ThreadTargetSink
[task 2025-02-14T21:59:26.925Z] 21:59:26     INFO - TEST-INFO | leakcheck | default leaked 1 nsThread
[task 2025-02-14T21:59:26.925Z] 21:59:26     INFO - TEST-UNEXPECTED-FAIL | leakcheck | default 1232 bytes leaked (CondVar, MozPromise::ThenValueBase::ResolveOrRe, MozPromiseRefcountable, Mutex, StringBuffer, ...)
[task 2025-02-14T21:59:26.926Z] 21:59:26     INFO - 
[task 2025-02-14T21:59:26.926Z] 21:59:26     INFO - leakcheck | Processing leak log file C:\Users\task_173956610911756\AppData\Local\Temp\tmpz2zm7fxc.mozrunner\runtests_leaks_gpu_pid3468.log
[task 2025-02-14T21:59:26.927Z] 21:59:26     INFO - TEST-PASS | leakcheck | gpu no leaks detected!

:gstoll, since you are the author of the regressor, bug 1938188, could you take a look?

For more information, please visit BugBot documentation.

Flags: needinfo?(gstoll)

Set release status flags based on info from the regressing bug 1938188

I can reproduce this by just running the testClipboardWithContentAnalysisBlockCheckAllFormats() task.

I'm a bit surprised that bug 1938188 caused this - I'd be more suspicious of bug 1936020, and indeed it looks like it had a similar test-verify leak on autoland.

Anyway, I'll take a look.

Assignee: nobody → gstoll
Status: NEW → ASSIGNED
Component: Storage: IndexedDB → Data Loss Prevention
Flags: needinfo?(gstoll)
Product: Core → Firefox

My guess is this has something to do with the way we cancel other requests when we get a BLOCK response, since the testClipboardWithContentAnalysisBlockCheckAllFormats() task is the only one that triggers that behavior. It looks like we're leaking a MozPromise somehow.

Indeed, if I instead early return from MultipartRequestCallback::ContentResult() if there are requests outstanding even if the response is BLOCK, the leak goes away. So this is tied up in CancelRequests() somehow.

This also checks that it is called in the clipboard test. (Other tests could
be made to check this as well. This is future work.)

Pushed by daparks@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/22962c25d0e8 Delegate CancelRequests call to mock content analysis service in tests r=dlp-reviewers,gstoll
Status: ASSIGNED → RESOLVED
Closed: 25 days ago
Resolution: --- → FIXED
Target Milestone: --- → 137 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: