Closed Bug 1822452 Opened 2 years ago Closed 2 years ago

Intermittent Assertion failure: mFetchingModules.IsEmpty(), at /builds/worker/checkouts/gecko/js/loader/ModuleLoaderBase.cpp:997

Categories

(Core :: JavaScript Engine, defect, P5)

defect

Tracking

()

RESOLVED FIXED
113 Branch
Tracking Status
firefox-esr102 --- unaffected
firefox111 --- unaffected
firefox112 --- unaffected
firefox113 --- fixed

People

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

References

(Blocks 1 open bug, Regression)

Details

(Keywords: assertion, intermittent-failure, regression)

Attachments

(1 file)

Filed by: imoraru [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer?job_id=408961810&repo=mozilla-central
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/OZkdmEjEQROBTTSX_UlzeA/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/OZkdmEjEQROBTTSX_UlzeA/runs/0/artifacts/public/logs/live_backing.log&only_show_unexpected=1


[task 2023-03-15T04:53:08.327Z] 04:53:08     INFO - REFTEST TEST-START | dom/workers/test/crashtests/1821066.html
[task 2023-03-15T04:53:08.328Z] 04:53:08     INFO - REFTEST TEST-LOAD | file:///builds/worker/workspace/build/tests/reftest/tests/dom/workers/test/crashtests/1821066.html | 980 / 3961 (24%)
[task 2023-03-15T04:53:08.415Z] 04:53:08     INFO - REFTEST TEST-PASS | dom/workers/test/crashtests/1821066.html | (LOAD ONLY)
[task 2023-03-15T04:53:08.415Z] 04:53:08     INFO - REFTEST TEST-END | dom/workers/test/crashtests/1821066.html
[task 2023-03-15T04:53:08.430Z] 04:53:08     INFO - [Child 1807, DOM Worker] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/js/loader/ModuleLoaderBase.cpp:660
[task 2023-03-15T04:53:08.432Z] 04:53:08     INFO - [Child 1807, DOM Worker] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/js/loader/ModuleLoaderBase.cpp:683
[task 2023-03-15T04:53:08.434Z] 04:53:08     INFO - [Child 1807, DOM Worker] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/js/loader/ModuleLoaderBase.cpp:795
[task 2023-03-15T04:53:08.436Z] 04:53:08     INFO - [Child 1807, DOM Worker] WARNING: '!mWorkerPrivate->AddWorkerRef(this, aStatus)', file /builds/worker/checkouts/gecko/dom/workers/WorkerRef.cpp:79
[task 2023-03-15T04:53:08.437Z] 04:53:08     INFO - Assertion failure: mFetchingModules.IsEmpty(), at /builds/worker/checkouts/gecko/js/loader/ModuleLoaderBase.cpp:997
[task 2023-03-15T04:53:08.446Z] 04:53:08     INFO - #01: JS::loader::ModuleLoaderBase::Shutdown() [js/loader/ModuleLoaderBase.cpp:997]
[task 2023-03-15T04:53:08.446Z] 04:53:08     INFO - #02: mozilla::dom::WorkerPrivate::ShutdownModuleLoader() [dom/workers/WorkerPrivate.cpp:3911]
[task 2023-03-15T04:53:08.447Z] 04:53:08     INFO - #03: mozilla::dom::workerinternals::(anonymous namespace)::WorkerThreadPrimaryRunnable::Run() [dom/workers/RuntimeService.cpp:2051]
[task 2023-03-15T04:53:08.447Z] 04:53:08     INFO - #04: nsThread::ProcessNextEvent(bool, bool*) [xpcom/threads/nsThread.cpp:1234]
[task 2023-03-15T04:53:08.449Z] 04:53:08     INFO - #05: NS_ProcessNextEvent(nsIThread*, bool) [xpcom/threads/nsThreadUtils.cpp:477]
[task 2023-03-15T04:53:08.450Z] 04:53:08     INFO - #06: mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) [ipc/glue/MessagePump.cpp:0]
[task 2023-03-15T04:53:08.450Z] 04:53:08     INFO - #07: MessageLoop::RunInternal() [ipc/chromium/src/base/message_loop.cc:0]
[task 2023-03-15T04:53:08.453Z] 04:53:08     INFO - #08: MessageLoop::Run() [ipc/chromium/src/base/message_loop.cc:357]
[task 2023-03-15T04:53:08.453Z] 04:53:08     INFO - #09: nsThread::ThreadFunc(void*) [xpcom/threads/nsThread.cpp:393]
[task 2023-03-15T04:53:08.461Z] 04:53:08     INFO - #10: _pt_root [nsprpub/pr/src/pthreads/ptthread.c:204]
[task 2023-03-15T04:53:08.461Z] 04:53:08     INFO - #11: set_alt_signal_stack_and_start(PthreadCreateParams*) [toolkit/crashreporter/pthread_create_interposer/pthread_create_interposer.cpp:80]
[task 2023-03-15T04:53:08.462Z] 04:53:08     INFO - #12: ??? [/lib/x86_64-linux-gnu/libpthread.so.0 + 0x76db]
[task 2023-03-15T04:53:08.462Z] 04:53:08     INFO - #13: clone [/lib/x86_64-linux-gnu/libc.so.6 + 0x121a3f]
[task 2023-03-15T04:53:08.463Z] 04:53:08     INFO - #14: ??? (???:???)
[task 2023-03-15T04:53:08.729Z] 04:53:08     INFO - [Parent 1464, IPC I/O Parent] WARNING: [1.1]: Ignoring message 'EVENT_MESSAGE' to unknown peer E138C6C7CC5A756C.8245A6AFFE6B09E8: file /builds/worker/checkouts/gecko/ipc/glue/NodeController.cpp:344
<...>

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

:yulia, since you are the author of the regressor, bug 1540913, could you take a look?

For more information, please visit auto_nag documentation.

Possibly we need to call Cancel on any outstanding load requests before shutting down. I'm not sure how to test this however.

Fuzzers are reporting this as well. I can get a Pernosco session if needed.

Blocks: domino
Assignee: nobody → ystartsev
Flags: needinfo?(ystartsev)

:tsmith that would be useful if it has a different source than the test. I can look at it in either case.

A Pernosco session is available here: https://pernos.co/debug/xC75aiSy4ZMmcECkQPmpUg/index.html

This is from a test case found by fuzzers.

This patch allows us to reject any outstanding requests when terminating a worker. As this is
controlled by the module loader, the approach I took here was to reject the promises and allow the
moduleloader to
shutdown. I am open to alternatives however.

Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 113 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: