Closed Bug 1863177 Opened 2 years ago Closed 5 months ago

Crash in [@ nsHtml5TreeOpExecutor::MoveOpsFrom] due to failure in MOZ_RELEASE_ASSERT(mFlushState == eNotFlushing) (Ops added to mOpQueue during tree op execution.)

Categories

(Core :: DOM: HTML Parser, defect)

ARM64
All
defect

Tracking

()

RESOLVED FIXED
145 Branch
Tracking Status
firefox-esr115 --- wontfix
firefox-esr140 --- wontfix
firefox119 --- wontfix
firefox120 --- wontfix
firefox121 --- wontfix
firefox143 --- wontfix
firefox144 --- wontfix
firefox145 --- fixed

People

(Reporter: release-mgmt-account-bot, Assigned: hsivonen)

References

(Blocks 1 open bug)

Details

(Keywords: crash)

Crash Data

Attachments

(1 file)

Crash report: https://crash-stats.mozilla.org/report/index/f0cf4f21-928a-4ec5-a7a6-6ada60231101

MOZ_CRASH Reason: MOZ_RELEASE_ASSERT(mFlushState == eNotFlushing) (Ops added to mOpQueue during tree op execution.)

Top 10 frames of crashing thread:

0  xul.dll  nsHtml5TreeOpExecutor::MoveOpsFrom  parser/html/nsHtml5TreeOpExecutor.cpp:1066
1  xul.dll  nsHtml5Speculation::FlushToSink  parser/html/nsHtml5Speculation.cpp:31
1  xul.dll  nsHtml5StreamParser::ContinueAfterScriptsOrEncodingCommitment  parser/html/nsHtml5StreamParser.cpp:2716
2  xul.dll  nsHtml5TreeOpExecutor::FlushSpeculativeLoads  parser/html/nsHtml5TreeOpExecutor.cpp:532
3  xul.dll  nsHtml5LoadFlusher::Run  parser/html/nsHtml5StreamParser.cpp:187
4  xul.dll  mozilla::RunnableTask::Run  xpcom/threads/TaskController.cpp:549
4  xul.dll  mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal  xpcom/threads/TaskController.cpp:876
5  xul.dll  mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal  xpcom/threads/TaskController.cpp:699
5  xul.dll  mozilla::TaskController::ProcessPendingMTTask  xpcom/threads/TaskController.cpp:485
6  xul.dll  mozilla::TaskController::TaskController::<lambda_6>::operator const  xpcom/threads/TaskController.cpp:214

By querying Nightly crashes reported within the last 2 months, here are some insights about the signature:

  • First crash report: 2023-09-25
  • Process type: Content
  • Is startup crash: No
  • Has user comments: No
  • Is null crash: Yes - 8 out of 10 crashes happened on null or near null memory address

The Bugbug bot thinks this bug should belong to the 'Core::DOM: HTML Parser' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: General → DOM: HTML Parser
Summary: Crash in [@ nsHtml5TreeOpExecutor::MoveOpsFrom] → Crash in [@ nsHtml5TreeOpExecutor::MoveOpsFrom] due to failure in MOZ_RELEASE_ASSERT(mFlushState == eNotFlushing) (Ops added to mOpQueue during tree op execution.)

FWIW, there seems to have been a spike of 8 crashes all from a single user here, based on submission time and hardware/OS metadata in the crash report. (All of those eight are for some local web service on 127.0.0.1, too -- not a public website.)

Low crash volume.

Severity: -- → S3
See Also: → 1942907

Bug 1942907 has a fuzz testcase that produces the same signature.

Flags: needinfo?(sefeng)

Henri should look this one I think

Flags: needinfo?(sefeng) → needinfo?(hsivonen)

(In reply to Mayank Bansal from comment #4)

Bug 1942907 has a fuzz testcase that produces the same signature.

Meaningfully different stack, though, which makes this somewhat more concerning.

(In reply to Sean Feng [:sefeng211] from comment #5)

Henri should look this one I think

Yes. Moving to a non-needinfo todo list.

Flags: needinfo?(hsivonen)
Assignee: nobody → hsivonen
Status: NEW → ASSIGNED
Pushed by hsivonen@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/bffa28e28fdb https://hg.mozilla.org/integration/autoland/rev/6409fe60589a Avoid a release assert when speculative load flush is attempted from a nested event loop. r=smaug
Status: ASSIGNED → RESOLVED
Closed: 5 months ago
Resolution: --- → FIXED
Target Milestone: --- → 145 Branch
QA Whiteboard: [qa-triage-done-c146/b145]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: