Closed Bug 1803233 Opened 2 years ago Closed 2 years ago

Frequent Assertion failure: ok, at /builds/worker/checkouts/gecko/js/src/gc/Scheduling.cpp:746

Categories

(Core :: JavaScript: GC, defect, P5)

defect

Tracking

()

RESOLVED FIXED
109 Branch
Tracking Status
firefox-esr102 --- unaffected
firefox107 --- unaffected
firefox108 --- unaffected
firefox109 --- fixed

People

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

References

(Regression)

Details

(Keywords: assertion, intermittent-failure, regression, Whiteboard: [retriggered])

Attachments

(1 file)

Filed by: imoraru [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer?job_id=398104690&repo=autoland
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/MkqSC9AUQOihaGddYVSDCA/runs/0/artifacts/public/logs/live_backing.log


[task 2022-11-29T22:42:37.523Z] TEST-PASS | js/src/jit-test/tests/gc/bug-1016016.js | Success (code 3, args "--baseline-eager") [1.4 s]
[task 2022-11-29T22:42:37.607Z] uncaught exception: out of memory
[task 2022-11-29T22:42:37.607Z] Missing calls to JS::RemoveAssociatedMemory:
[task 2022-11-29T22:42:37.607Z]   0x1fa01eb3d030 0x638 GlobalObjectData
[task 2022-11-29T22:42:37.607Z] Missing calls to Zone::decNonGCMemory:
[task 2022-11-29T22:42:37.607Z]   0x7f2bcb237f00 0x0
[task 2022-11-29T22:42:37.607Z] Assertion failure: ok, at /builds/worker/checkouts/gecko/js/src/gc/Scheduling.cpp:746
[task 2022-11-29T22:42:37.607Z] #01: ???[/builds/worker/workspace/obj-spider/dist/bin/js +0xcc84e1]
[task 2022-11-29T22:42:37.607Z] #02: ???[/builds/worker/workspace/obj-spider/dist/bin/js +0xd11529]
[task 2022-11-29T22:42:37.607Z] #03: JS::Zone::~Zone()[/builds/worker/workspace/obj-spider/dist/bin/js +0xd1397f]
[task 2022-11-29T22:42:37.607Z] #04: JS::Zone::destroy(JS::GCContext*)[/builds/worker/workspace/obj-spider/dist/bin/js +0xc42201]
[task 2022-11-29T22:42:37.607Z] #05: ???[/builds/worker/workspace/obj-spider/dist/bin/js +0xc42cf5]
[task 2022-11-29T22:42:37.607Z] #06: ???[/builds/worker/workspace/obj-spider/dist/bin/js +0xc4f694]
[task 2022-11-29T22:42:37.607Z] #07: ???[/builds/worker/workspace/obj-spider/dist/bin/js +0xc52901]
[task 2022-11-29T22:42:37.607Z] #08: ???[/builds/worker/workspace/obj-spider/dist/bin/js +0xc53aa6]
[task 2022-11-29T22:42:37.607Z] #09: ???[/builds/worker/workspace/obj-spider/dist/bin/js +0xc216f8]
[task 2022-11-29T22:42:37.607Z] #10: JSRuntime::destroyRuntime()[/builds/worker/workspace/obj-spider/dist/bin/js +0x712c43]
[task 2022-11-29T22:42:37.607Z] #11: ???[/builds/worker/workspace/obj-spider/dist/bin/js +0x5c4075]
[task 2022-11-29T22:42:37.607Z] #12: ???[/builds/worker/workspace/obj-spider/dist/bin/js +0x29d359]
[task 2022-11-29T22:42:37.607Z] #13: __libc_start_main[/lib/x86_64-linux-gnu/libc.so.6 +0x26d0a]
[task 2022-11-29T22:42:37.608Z] #14: ???[/builds/worker/workspace/obj-spider/dist/bin/js +0x28e809]
[task 2022-11-29T22:42:37.608Z] #15: ??? (???:???)
[task 2022-11-29T22:42:37.608Z] Exit code: -11
[task 2022-11-29T22:42:37.608Z] FAIL - gc/bug-1109913.js
[task 2022-11-29T22:42:37.608Z] TEST-UNEXPECTED-FAIL | js/src/jit-test/tests/gc/bug-1109913.js | uncaught exception: out of memory (code -11, args "") [0.1 s]
[task 2022-11-29T22:42:37.609Z] INFO exit-status     : -11
[task 2022-11-29T22:42:37.609Z] INFO timed-out       : False
[task 2022-11-29T22:42:37.610Z] INFO stderr         2> uncaught exception: out of memory
[task 2022-11-29T22:42:37.610Z] INFO stderr         2> Missing calls to JS::RemoveAssociatedMemory:
[task 2022-11-29T22:42:37.610Z] INFO stderr         2> 0x1fa01eb3d030 0x638 GlobalObjectData
[task 2022-11-29T22:42:37.610Z] INFO stderr         2> Missing calls to Zone::decNonGCMemory:
[task 2022-11-29T22:42:37.610Z] INFO stderr         2> 0x7f2bcb237f00 0x0
[task 2022-11-29T22:42:37.610Z] INFO stderr         2> Assertion failure: ok, at /builds/worker/checkouts/gecko/js/src/gc/Scheduling.cpp:746
[task 2022-11-29T22:42:37.610Z] INFO stderr         2> #01: ???[/builds/worker/workspace/obj-spider/dist/bin/js +0xcc84e1]
[task 2022-11-29T22:42:37.610Z] INFO stderr         2> #02: ???[/builds/worker/workspace/obj-spider/dist/bin/js +0xd11529]
[task 2022-11-29T22:42:37.610Z] INFO stderr         2> #03: JS::Zone::~Zone()[/builds/worker/workspace/obj-spider/dist/bin/js +0xd1397f]
[task 2022-11-29T22:42:37.610Z] INFO stderr         2> #04: JS::Zone::destroy(JS::GCContext*)[/builds/worker/workspace/obj-spider/dist/bin/js +0xc42201]
[task 2022-11-29T22:42:37.610Z] INFO stderr         2> #05: ???[/builds/worker/workspace/obj-spider/dist/bin/js +0xc42cf5]
[task 2022-11-29T22:42:37.610Z] INFO stderr         2> #06: ???[/builds/worker/workspace/obj-spider/dist/bin/js +0xc4f694]
[task 2022-11-29T22:42:37.610Z] INFO stderr         2> #07: ???[/builds/worker/workspace/obj-spider/dist/bin/js +0xc52901]
[task 2022-11-29T22:42:37.611Z] INFO stderr         2> #08: ???[/builds/worker/workspace/obj-spider/dist/bin/js +0xc53aa6]
[task 2022-11-29T22:42:37.611Z] INFO stderr         2> #09: ???[/builds/worker/workspace/obj-spider/dist/bin/js +0xc216f8]
[task 2022-11-29T22:42:37.611Z] INFO stderr         2> #10: JSRuntime::destroyRuntime()[/builds/worker/workspace/obj-spider/dist/bin/js +0x712c43]
[task 2022-11-29T22:42:37.611Z] INFO stderr         2> #11: ???[/builds/worker/workspace/obj-spider/dist/bin/js +0x5c4075]
[task 2022-11-29T22:42:37.611Z] INFO stderr         2> #12: ???[/builds/worker/workspace/obj-spider/dist/bin/js +0x29d359]
[task 2022-11-29T22:42:37.611Z] INFO stderr         2> #13: __libc_start_main[/lib/x86_64-linux-gnu/libc.so.6 +0x26d0a]
[task 2022-11-29T22:42:37.611Z] INFO stderr         2> #14: ???[/builds/worker/workspace/obj-spider/dist/bin/js +0x28e809]
[task 2022-11-29T22:42:37.611Z] INFO stderr         2> #15: ??? (???:???)
[task 2022-11-29T22:42:37.639Z] TEST-PASS | js/src/jit-test/tests/gc/bug-1016016.js | Success (code 3, args "--ion-eager --ion-offthread-compile=off --more-compartments") [1.5 s]

Hi Nicolas! Can you please take a look at this? This seems to be regressed by your recent changes in Bug 1219128.
Backfill and retriggers range.
Thank you!

Flags: needinfo?(nicolas.b.pierron)
Regressed by: 1219128
Summary: Intermittent Assertion failure: ok, at /builds/worker/checkouts/gecko/js/src/gc/Scheduling.cpp:746 → Frequent Assertion failure: ok, at /builds/worker/checkouts/gecko/js/src/gc/Scheduling.cpp:746
Whiteboard: [retriggered]

This also fails for Spidermonkey builds with this failure message Assertion failure: ok, at Z:/task_166977677448974/src/js/src/gc/Scheduling.cpp:746

[task 2022-11-30T03:53:19.897Z] TEST-PASS | js\src\jit-test\tests\gc\bug-1384047.js | Success (code 0, args "--ion-eager --ion-offthread-compile=off --more-compartments") [7.0 s]
[task 2022-11-30T03:53:23.382Z] Missing calls to JS::RemoveAssociatedMemory:
[task 2022-11-30T03:53:23.382Z] 
[task 2022-11-30T03:53:23.382Z]   00003B3D2007A7C0 0x638 GlobalObjectData
[task 2022-11-30T03:53:23.382Z] 
[task 2022-11-30T03:53:23.382Z] Missing calls to Zone::decNonGCMemory:
[task 2022-11-30T03:53:23.382Z] 
[task 2022-11-30T03:53:23.382Z]   00000066AB955D00 0x0
[task 2022-11-30T03:53:23.382Z] 
[task 2022-11-30T03:53:23.382Z] Assertion failure: ok, at Z:/task_166977677448974/src/js/src/gc/Scheduling.cpp:746
[task 2022-11-30T03:53:23.382Z] 
[task 2022-11-30T03:53:23.382Z] #01: js::gc::MemoryTracker::checkEmptyOnDestroy (Z:\task_166977677448974\src\js\src\gc\Scheduling.cpp:746)
[task 2022-11-30T03:53:23.382Z] 
[task 2022-11-30T03:53:23.382Z] #02: js::ZoneAllocator::~ZoneAllocator (Z:\task_166977677448974\src\js\src\gc\Zone.cpp:44)
[task 2022-11-30T03:53:23.382Z] 
[task 2022-11-30T03:53:23.382Z] #03: JS::Zone::destroy (Z:\task_166977677448974\src\js\src\gc\GC.cpp:1984)
[task 2022-11-30T03:53:23.382Z] 
[task 2022-11-30T03:53:23.382Z] #04: js::gc::GCRuntime::sweepZones (Z:\task_166977677448974\src\js\src\gc\GC.cpp:2086)
[task 2022-11-30T03:53:23.382Z] 
[task 2022-11-30T03:53:23.382Z] #05: js::gc::GCRuntime::incrementalSlice (Z:\task_166977677448974\src\js\src\gc\GC.cpp:3507)
[task 2022-11-30T03:53:23.382Z] 
[task 2022-11-30T03:53:23.382Z] #06: js::gc::GCRuntime::gcCycle (Z:\task_166977677448974\src\js\src\gc\GC.cpp:3974)
[task 2022-11-30T03:53:23.382Z] 
[task 2022-11-30T03:53:23.386Z] #07: js::gc::GCRuntime::collect (Z:\task_166977677448974\src\js\src\gc\GC.cpp:4178)
[task 2022-11-30T03:53:23.386Z] 
[task 2022-11-30T03:53:23.386Z] #08: js::gc::GCRuntime::gc (Z:\task_166977677448974\src\js\src\gc\GC.cpp:4256)
[task 2022-11-30T03:53:23.386Z] 
[task 2022-11-30T03:53:23.386Z] #09: JSRuntime::destroyRuntime (Z:\task_166977677448974\src\js\src\vm\Runtime.cpp:272)
[task 2022-11-30T03:53:23.386Z] 
[task 2022-11-30T03:53:23.386Z] #10: js::DestroyContext (Z:\task_166977677448974\src\js\src\vm\JSContext.cpp:226)
[task 2022-11-30T03:53:23.386Z] 
[task 2022-11-30T03:53:23.386Z] #11: main (Z:\task_166977677448974\src\js\src\shell\js.cpp:12415)
[task 2022-11-30T03:53:23.386Z] 
[task 2022-11-30T03:53:23.386Z] #12: __scrt_common_main_seh (d:\agent\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288)
[task 2022-11-30T03:53:23.386Z] 
[task 2022-11-30T03:53:23.386Z] #13: BaseThreadInitThunk[C:\Windows\system32\KERNEL32.DLL +0x13d2]
[task 2022-11-30T03:53:23.386Z] 
[task 2022-11-30T03:53:23.386Z] #14: RtlUserThreadStart[C:\Windows\SYSTEM32\ntdll.dll +0x154e4]
[task 2022-11-30T03:53:23.386Z] 
[task 2022-11-30T03:53:23.386Z] Exit code: 2147483651
[task 2022-11-30T03:53:23.386Z] FAIL - gc\bug-1384047.js
[task 2022-11-30T03:53:23.386Z] TEST-UNEXPECTED-FAIL | js\src\jit-test\tests\gc\bug-1384047.js | Missing calls to JS::RemoveAssociatedMemory: (code 2147483651, args "--ion-eager --ion-offthread-compile=off --ion-check-range-analysis --ion-extra-checks --no-sse3 --no-threads") [3.5 s]
[task 2022-11-30T03:53:23.386Z] INFO exit-status     : 2147483651
[task 2022-11-30T03:53:23.386Z] INFO timed-out       : False
[task 2022-11-30T03:53:23.386Z] INFO stderr         2> Missing calls to JS::RemoveAssociatedMemory:
[task 2022-11-30T03:53:23.386Z] INFO stderr         2> 00003B3D2007A7C0 0x638 GlobalObjectData
[task 2022-11-30T03:53:23.386Z] INFO stderr         2> Missing calls to Zone::decNonGCMemory:
[task 2022-11-30T03:53:23.386Z] INFO stderr         2> 00000066AB955D00 0x0
[task 2022-11-30T03:53:23.386Z] INFO stderr         2> Assertion failure: ok, at Z:/task_166977677448974/src/js/src/gc/Scheduling.cpp:746
[task 2022-11-30T03:53:23.386Z] INFO stderr         2> #01: js::gc::MemoryTracker::checkEmptyOnDestroy (Z:\task_166977677448974\src\js\src\gc\Scheduling.cpp:746)
[task 2022-11-30T03:53:23.386Z] INFO stderr         2> #02: js::ZoneAllocator::~ZoneAllocator (Z:\task_166977677448974\src\js\src\gc\Zone.cpp:44)
[task 2022-11-30T03:53:23.386Z] INFO stderr         2> #03: JS::Zone::destroy (Z:\task_166977677448974\src\js\src\gc\GC.cpp:1984)
[task 2022-11-30T03:53:23.386Z] INFO stderr         2> #04: js::gc::GCRuntime::sweepZones (Z:\task_166977677448974\src\js\src\gc\GC.cpp:2086)
[task 2022-11-30T03:53:23.386Z] INFO stderr         2> #05: js::gc::GCRuntime::incrementalSlice (Z:\task_166977677448974\src\js\src\gc\GC.cpp:3507)
[task 2022-11-30T03:53:23.386Z] INFO stderr         2> #06: js::gc::GCRuntime::gcCycle (Z:\task_166977677448974\src\js\src\gc\GC.cpp:3974)
[task 2022-11-30T03:53:23.386Z] INFO stderr         2> #07: js::gc::GCRuntime::collect (Z:\task_166977677448974\src\js\src\gc\GC.cpp:4178)
[task 2022-11-30T03:53:23.386Z] INFO stderr         2> #08: js::gc::GCRuntime::gc (Z:\task_166977677448974\src\js\src\gc\GC.cpp:4256)
[task 2022-11-30T03:53:23.386Z] INFO stderr         2> #09: JSRuntime::destroyRuntime (Z:\task_166977677448974\src\js\src\vm\Runtime.cpp:272)
[task 2022-11-30T03:53:23.386Z] INFO stderr         2> #10: js::DestroyContext (Z:\task_166977677448974\src\js\src\vm\JSContext.cpp:226)
[task 2022-11-30T03:53:23.386Z] INFO stderr         2> #11: main (Z:\task_166977677448974\src\js\src\shell\js.cpp:12415)
[task 2022-11-30T03:53:23.386Z] INFO stderr         2> #12: __scrt_common_main_seh (d:\agent\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288)
[task 2022-11-30T03:53:23.386Z] INFO stderr         2> #13: BaseThreadInitThunk[C:\Windows\system32\KERNEL32.DLL +0x13d2]
[task 2022-11-30T03:53:23.386Z] INFO stderr         2> #14: RtlUserThreadStart[C:\Windows\SYSTEM32\ntdll.dll +0x154e4]
[task 2022-11-30T03:53:26.683Z] TEST-PASS | js\src\jit-test\tests\gc\bug-1384047.js | Success (code 0, args "--baseline-eager") [3.3 s]

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

Assignee: nobody → jcoppeard
Duplicate of this bug: 1803474

I am currently investigating a similar bug (Bug 1803256) which I managed to reproduce and fails on a debug assertion of the js::gc::MemoryTacker.

We depend on the realm living at least as long as the global so that the
global's data can get freed in Realm::traceWeakGlobalEdge. The change in bug
1219128 breaks this by allowing the realm to die if there is a global that
isn't fully initialised, because hasLiveGlobal() will return false.

The patch adds a separate method to check for whether the global is present and
initialized.

Duplicate of this bug: 1803256
Pushed by jcoppeard@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/395c3f93ca81 Don't check whether the global has been fully initialized when checking whether it is live r=nbp
Flags: needinfo?(nicolas.b.pierron)
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 109 Branch

It appeared again in this push.

Flags: needinfo?(jcoppeard)

(In reply to sstanca from comment #10)
That failure corresponds to bug 1803256 (currently duped to this one). I'll undupe and reopen that bug.

Flags: needinfo?(jcoppeard)
No longer duplicate of this bug: 1803256
Flags: in-testsuite+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: