Closed Bug 1803336 Opened 1 year ago Closed 1 year ago

macOS Crash in [@ nsTextFragment::CharAt]

Categories

(Core :: DOM: Editor, defect, P1)

Desktop
macOS
defect

Tracking

()

RESOLVED FIXED
110 Branch
Tracking Status
firefox-esr102 --- unaffected
firefox107 --- unaffected
firefox108 --- wontfix
firefox109 --- fixed
firefox110 --- fixed

People

(Reporter: aryx, Assigned: jjaschke)

References

(Regression)

Details

(Keywords: crash, regression)

Crash Data

Attachments

(1 file)

13 crashes on macOS since development of Firefox v108 began, all with Nightly or Developer Edition but no reports for Beta. The have been a few crashes with this signature for earlier versions on Windows.

Crash report: https://crash-stats.mozilla.org/report/index/bf2dab70-6fa0-4e0f-8730-20fe60221130

Reason: EXC_BAD_ACCESS / KERN_INVALID_ADDRESS

Top 10 frames of crashing thread:

0  XUL  nsTextFragment::CharAt const  dom/base/nsTextFragment.h:221
0  XUL  mozilla::EditorDOMPointBase<nsINode*, nsIContent*>::Char const  editor/libeditor/EditorDOMPoint.h:390
0  XUL  mozilla::EditorDOMPointBase<nsINode*, nsIContent*>::IsCharASCIISpaceOrNBSP const  editor/libeditor/EditorDOMPoint.h:397
1  XUL  mozilla::DeleteRangeTransaction::MaybeExtendDeletingRangeWithSurroundingWhitespace const  editor/libeditor/DeleteRangeTransaction.cpp:75
1  XUL  mozilla::DeleteRangeTransaction::DoTransaction  editor/libeditor/DeleteRangeTransaction.cpp:124
2  XUL  mozilla::EditAggregateTransaction::DoTransaction  editor/libeditor/EditAggregateTransaction.cpp:38
3  XUL  mozilla::TransactionItem::DoTransaction  editor/txmgr/TransactionItem.cpp:83
3  XUL  mozilla::TransactionManager::BeginTransaction  editor/txmgr/TransactionManager.cpp:422
4  XUL  mozilla::TransactionManager::DoTransaction  editor/txmgr/TransactionManager.cpp:74
5  XUL  mozilla::EditorBase::DoTransactionInternal  editor/libeditor/EditorBase.cpp:908

Jan, could you take a look? This is a regression of bug 1783641.

Flags: needinfo?(jjaschke)
OS: Unspecified → macOS
Regressed by: 1783641
Hardware: Unspecified → Desktop

Yep, that would be me. On it!

Assignee: nobody → jjaschke
Flags: needinfo?(jjaschke)
Severity: -- → S2
Priority: -- → P1

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

Attachment #9307590 - Attachment description: WIP: Bug 1803336: Simplified check if a range to delete is start/end of a text node. r=masayuki → Bug 1803336: Simplified check if a range to delete is start/end of a text node. r=masayuki
Pushed by jjaschke@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/59b89f27d204
Simplified check if a range to delete is start/end of a text node. r=masayuki
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 110 Branch

The patch landed in nightly and beta is affected.
:jjaschke, is this bug important enough to require an uplift?

  • If yes, please nominate the patch for beta approval.
  • If no, please set status-firefox109 to wontfix.

For more information, please visit auto_nag documentation.

Flags: needinfo?(jjaschke)

Comment on attachment 9307590 [details]
Bug 1803336: Simplified check if a range to delete is start/end of a text node. r=masayuki

Beta/Release Uplift Approval Request

  • User impact if declined: This is a crash bug while user edits something in contenteditable.
  • Is this code covered by automated tests?: No
  • Has the fix been verified in Nightly?: No
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: none
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): Unfortunately, we've not found how to reproduce this crash though. The patch makes the code check the boundary (!IsEndOfContainer() for end boundary, !IsStartOfContainer() for start boundary to access there or previous character in a text node).
  • String changes made/needed: none
  • Is Android affected?: No
Attachment #9307590 - Flags: approval-mozilla-beta?
Flags: needinfo?(jjaschke)

Comment on attachment 9307590 [details]
Bug 1803336: Simplified check if a range to delete is start/end of a text node. r=masayuki

Approved for 109.0b4.

Attachment #9307590 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: