Closed Bug 1669342 Opened 4 years ago Closed 3 years ago

Intermittent Assertion failure: !aRootNode || aNotInsertedYet || (aStartBoundary.Container()->IsInclusiveDescendantOf(aRootNode) && aEndBoundary.Container()->IsInclusiveDescendantOf(aRootNode) && aRootNode == RangeUtils::ComputeRootNode(aStartBoundary.Co

Categories

(Core :: DOM: Core & HTML, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
88 Branch
Tracking Status
firefox-esr78 --- unaffected
firefox86 --- wontfix
firefox87 --- wontfix
firefox88 --- fixed

People

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

References

(Blocks 1 open bug)

Details

(Keywords: assertion, intermittent-failure, Whiteboard: [stockwell unknown])

Attachments

(3 files)

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


[task 2020-10-05T17:54:31.209Z] 17:54:31     INFO - TEST-START | toolkit/modules/tests/browser/browser_Finder_skip_invisible_and_option.js
[task 2020-10-05T17:54:31.218Z] 17:54:31     INFO - GECKO(1758) | [Child 1763: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 0x122e90400 == 9 [pid = 1763] [id = 8]
[task 2020-10-05T17:54:31.218Z] 17:54:31     INFO - GECKO(1758) | [Child 1763: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 24 (0x11b90b180) [pid = 1763] [serial = 24] [outer = 0x0]
[task 2020-10-05T17:54:31.218Z] 17:54:31     INFO - GECKO(1758) | [Child 1763: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 25 (0x122e94c00) [pid = 1763] [serial = 25] [outer = 0x11b90b180]
[task 2020-10-05T17:54:31.266Z] 17:54:31     INFO - GECKO(1758) | [Child 1763: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 26 (0x1268c9c00) [pid = 1763] [serial = 26] [outer = 0x11b90b180]
[task 2020-10-05T17:54:31.972Z] 17:54:31     INFO - GECKO(1758) | [Child 1760: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 0x11f7c8c00 == 2 [pid = 1760] [id = 6]
[task 2020-10-05T17:54:31.972Z] 17:54:31     INFO - GECKO(1758) | [Child 1760: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 15 (0x11820a6a0) [pid = 1760] [serial = 15] [outer = 0x0]
[task 2020-10-05T17:54:31.975Z] 17:54:31     INFO - GECKO(1758) | [Child 1760: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 16 (0x11f7cb400) [pid = 1760] [serial = 16] [outer = 0x11820a6a0]
[task 2020-10-05T17:54:32.055Z] 17:54:32     INFO - GECKO(1758) | [Child 1760: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 17 (0x121288000) [pid = 1760] [serial = 17] [outer = 0x11820a6a0]
[task 2020-10-05T17:54:32.492Z] 17:54:32     INFO - GECKO(1758) | Assertion failure: !aRootNode || aNotInsertedYet || (aStartBoundary.Container()->IsInclusiveDescendantOf(aRootNode) && aEndBoundary.Container()->IsInclusiveDescendantOf(aRootNode) && aRootNode == RangeUtils::ComputeRootNode(aStartBoundary.Container()) && aRootNode == RangeUtils::ComputeRootNode(aEndBoundary.Container())) (Wrong root), at /builds/worker/checkouts/gecko/dom/base/nsRange.cpp:855
[task 2020-10-05T17:54:32.493Z] 17:54:32     INFO - GECKO(1758) | #01: nsRange::CloneRange() const [dom/base/nsRange.cpp:2213]
[task 2020-10-05T17:54:32.493Z] 17:54:32     INFO - GECKO(1758) | #02: nsHTMLCopyEncoder::SetSelection(mozilla::dom::Selection*) [dom/base/nsDocumentEncoder.cpp:1636]
[task 2020-10-05T17:54:32.493Z] 17:54:32     INFO - GECKO(1758) | #03: EncodeDocumentWithContext(mozilla::dom::Document&, mozilla::dom::Selection*, unsigned int, EncodedDocumentWithContext&) [dom/base/nsCopySupport.cpp:207]
[task 2020-10-05T17:54:32.493Z] 17:54:32     INFO - GECKO(1758) | #04: nsCopySupport::EncodeDocumentWithContextAndPutToClipboard(mozilla::dom::Selection*, mozilla::dom::Document*, short, bool) [dom/base/nsCopySupport.cpp:350]
[task 2020-10-05T17:54:32.493Z] 17:54:32     INFO - GECKO(1758) | #05: nsFrameSelection::RepaintSelection(mozilla::SelectionType) [layout/generic/nsFrameSelection.cpp:1607]
[task 2020-10-05T17:54:32.494Z] 17:54:32     INFO - GECKO(1758) | #06: {virtual override thunk({offset(-8)}, mozilla::PresShell::RepaintSelection(short))} [/Users/cltbld/tasks/task_1601918835/build/application/Firefox NightlyDebug.app/Contents/MacOS/XUL + 0x44c3b81]
[task 2020-10-05T17:54:32.494Z] 17:54:32     INFO - GECKO(1758) | #07: nsTypeAheadFind::SetSelectionModeAndRepaint(short) [toolkit/components/typeaheadfind/nsTypeAheadFind.cpp:268]
[task 2020-10-05T17:54:32.494Z] 17:54:32     INFO - GECKO(1758) | #08: nsTypeAheadFind::FindItNow(unsigned int, bool, bool, bool, unsigned short*) [toolkit/components/typeaheadfind/nsTypeAheadFind.cpp:498]
[task 2020-10-05T17:54:32.494Z] 17:54:32     INFO - GECKO(1758) | #09: nsTypeAheadFind::FindInternal(unsigned int, nsTSubstring<char16_t> const&, bool, bool, unsigned short*) [toolkit/components/typeaheadfind/nsTypeAheadFind.cpp:1055]
[task 2020-10-05T17:54:32.494Z] 17:54:32     INFO - GECKO(1758) | #10: nsTypeAheadFind::Find(nsTSubstring<char16_t> const&, bool, unsigned int, bool, unsigned short*) [toolkit/components/typeaheadfind/nsTypeAheadFind.cpp:934]
[task 2020-10-05T17:54:32.495Z] 17:54:32     INFO - GECKO(1758) | #11: NS_InvokeByIndex [/Users/cltbld/tasks/task_1601918835/build/application/Firefox NightlyDebug.app/Contents/MacOS/XUL + 0x1cdb3e]

There seems to be a possible testcase for this now in bug 1693049 ?

See Also: → 1693049

There are 49 total failures in the last 7 days on

[task 2021-02-27T01:23:55.360Z] 01:23:55 INFO - TEST-START | layout/base/tests/marionette/test_accessiblecaret_cursor_mode.py AccessibleCaretCursorModeTestCase.test_caret_not_jump_to_front_when_dragging_up_to_editable_content_boundary_contenteditable
[task 2021-02-27T01:23:55.360Z] 01:23:55 INFO - 1614389035354 Marionette DEBUG 11 <- [1,39,null,{"value":null}]
[task 2021-02-27T01:23:55.411Z] 01:23:55 INFO - 1614389035375 Marionette DEBUG Closed connection 11
[task 2021-02-27T01:23:55.411Z] 01:23:55 INFO - 1614389035377 Marionette DEBUG Accepted connection 12 from 127.0.0.1:53253
[task 2021-02-27T01:23:55.411Z] 01:23:55 INFO - 1614389035382 Marionette DEBUG 12 -> [0,1,"WebDriver:NewSession",{"strictFileInteractability":true}]
[task 2021-02-27T01:23:55.412Z] 01:23:55 INFO - 1614389035388 Marionette DEBUG 12 <- [1,1,null,{"sessionId":"3c6a543b-775b-4f43-98b5-9d0641dad672","capabilities":{"browserName":"firefox","browserVersion":"88.0a ... /T/tmpSfM2CA.mozrunner","moz:shutdownTimeout":60000,"moz:useNonSpecCompliantPointerOrigin":false,"moz:webdriverClick":true}}]
[task 2021-02-27T01:23:55.412Z] 01:23:55 INFO - 1614389035390 Marionette DEBUG 12 -> [0,2,"WebDriver:SetTimeouts",{"script":30000}]
[task 2021-02-27T01:23:55.412Z] 01:23:55 INFO - 1614389035391 Marionette DEBUG 12 <- [1,2,null,{"value":null}]
[task 2021-02-27T01:23:55.412Z] 01:23:55 INFO - 1614389035392 Marionette DEBUG 12 -> [0,3,"WebDriver:SetTimeouts",{"pageLoad":300000}]
[task 2021-02-27T01:23:55.412Z] 01:23:55 INFO - 1614389035393 Marionette DEBUG 12 <- [1,3,null,{"value":null}]
[task 2021-02-27T01:23:55.412Z] 01:23:55 INFO - 1614389035394 Marionette DEBUG 12 -> [0,4,"WebDriver:SetTimeouts",{"implicit":0}]
[task 2021-02-27T01:23:55.413Z] 01:23:55 INFO - 1614389035395 Marionette DEBUG 12 <- [1,4,null,{"value":null}]
[task 2021-02-27T01:23:55.413Z] 01:23:55 INFO - 1614389035397 Marionette DEBUG 12 -> [0,5,"Marionette:GetContext",{}]
[task 2021-02-27T01:23:55.413Z] 01:23:55 INFO - 1614389035397 Marionette DEBUG 12 <- [1,5,null,{"value":"content"}]
[task 2021-02-27T01:23:55.413Z] 01:23:55 INFO - 1614389035398 Marionette DEBUG 12 -> [0,6,"Marionette:SetContext",{"value":"chrome"}]
[task 2021-02-27T01:23:55.413Z] 01:23:55 INFO - 1614389035399 Marionette DEBUG 12 <- [1,6,null,{"value":null}]
[task 2021-02-27T01:23:55.413Z] 01:23:55 INFO - 1614389035401 Marionette DEBUG 12 -> [0,7,"WebDriver:ExecuteScript",{"script":"Components.utils.import("resource://gre/modules/Preferences.jsm");\n\n ... e,false],"filename":"../../venv/lib/python2.7/site-packages/marionette_driver/marionette.py","sandbox":"default","line":813}]
[task 2021-02-27T01:23:55.413Z] 01:23:55 INFO - 1614389035403 Marionette TRACE [14] MarionetteCommands actor created for window id 4
[task 2021-02-27T01:23:55.413Z] 01:23:55 INFO - 1614389035407 Marionette DEBUG 12 <- [1,7,null,{"value":null}]
[task 2021-02-27T01:23:55.414Z] 01:23:55 INFO - 1614389035408 Marionette DEBUG 12 -> [0,8,"Marionette:SetContext",{"value":"content"}]
[task 2021-02-27T01:23:55.414Z] 01:23:55 INFO - 1614389035409 Marionette DEBUG 12 <- [1,8,null,{"value":null}]
[task 2021-02-27T01:23:55.414Z] 01:23:55 INFO - 1614389035410 Marionette DEBUG 12 -> [0,9,"Marionette:GetContext",{}]
[task 2021-02-27T01:23:55.414Z] 01:23:55 INFO - 1614389035410 Marionette DEBUG 12 <- [1,9,null,{"value":"content"}]
[task 2021-02-27T01:23:55.414Z] 01:23:55 INFO - 1614389035412 Marionette DEBUG 12 -> [0,10,"Marionette:SetContext",{"value":"chrome"}]
[task 2021-02-27T01:23:55.414Z] 01:23:55 INFO - 1614389035412 Marionette DEBUG 12 <- [1,10,null,{"value":null}]
[task 2021-02-27T01:23:55.420Z] 01:23:55 INFO - 1614389035415 Marionette DEBUG 12 -> [0,11,"WebDriver:ExecuteScript",{"script":"Components.utils.import("resource://gre/modules/Preferences.jsm");\n\n ... e,false],"filename":"../../venv/lib/python2.7/site-packages/marionette_driver/marionette.py","sandbox":"default","line":813}]
[task 2021-02-27T01:23:55.424Z] 01:23:55 INFO - 1614389035420 Marionette DEBUG 12 <- [1,11,null,{"value":null}]
[task 2021-02-27T01:23:55.424Z] 01:23:55 INFO - 1614389035421 Marionette DEBUG 12 -> [0,12,"Marionette:SetContext",{"value":"content"}]
[task 2021-02-27T01:23:55.425Z] 01:23:55 INFO - 1614389035422 Marionette DEBUG 12 <- [1,12,null,{"value":null}]
[task 2021-02-27T01:23:55.425Z] 01:23:55 INFO - 1614389035423 Marionette DEBUG 12 -> [0,13,"Marionette:GetContext",{}]
[task 2021-02-27T01:23:55.425Z] 01:23:55 INFO - 1614389035424 Marionette DEBUG 12 <- [1,13,null,{"value":"content"}]
[task 2021-02-27T01:23:55.445Z] 01:23:55 INFO - 1614389035425 Marionette DEBUG 12 -> [0,14,"Marionette:SetContext",{"value":"chrome"}]
[task 2021-02-27T01:23:55.445Z] 01:23:55 INFO - 1614389035426 Marionette DEBUG 12 <- [1,14,null,{"value":null}]
[task 2021-02-27T01:23:55.445Z] 01:23:55 INFO - 1614389035428 Marionette DEBUG 12 -> [0,15,"WebDriver:ExecuteScript",{"script":"Components.utils.import("resource://gre/modules/Preferences.jsm");\n\n ... ",false],"filename":"../../venv/lib/python2.7/site-packages/marionette_driver/marionette.py","sandbox":"default","line":813}]
[task 2021-02-27T01:23:55.445Z] 01:23:55 INFO - 1614389035433 Marionette DEBUG 12 <- [1,15,null,{"value":null}]
[task 2021-02-27T01:23:55.445Z] 01:23:55 INFO - 1614389035434 Marionette DEBUG 12 -> [0,16,"Marionette:SetContext",{"value":"content"}]
[task 2021-02-27T01:23:55.445Z] 01:23:55 INFO - 1614389035435 Marionette DEBUG 12 <- [1,16,null,{"value":null}]
[task 2021-02-27T01:23:55.445Z] 01:23:55 INFO - 1614389035438 Marionette DEBUG 12 -> [0,17,"WebDriver:Navigate",{"url":"http://127.0.0.1:50162/layout/test_carets_cursor.html"}]
[task 2021-02-27T01:23:55.445Z] 01:23:55 INFO - 1614389035439 Marionette TRACE [17] MarionetteCommands actor created for window id 2147483650
[task 2021-02-27T01:23:55.447Z] 01:23:55 INFO - 1614389035443 Marionette TRACE [17] MarionetteEvents actor created for window id 2147483650
[task 2021-02-27T01:23:55.456Z] 01:23:55 INFO - 1614389035446 Marionette TRACE Received event beforeunload for http://127.0.0.1:50162/layout/test_carets_cursor.html
[task 2021-02-27T01:23:55.474Z] 01:23:55 INFO - [Child 1375, Main Thread] WARNING: '!editingHost', file /builds/worker/checkouts/gecko/editor/libeditor/HTMLEditSubActionHandler.cpp:5713
[task 2021-02-27T01:23:55.475Z] 01:23:55 INFO - [Child 1375, Main Thread] WARNING: '!GetActiveEditingHost()', file /builds/worker/checkouts/gecko/editor/libeditor/HTMLEditor.cpp:5023
[task 2021-02-27T01:23:55.475Z] 01:23:55 INFO - [Child 1375, Main Thread] WARNING: '!GetActiveEditingHost()', file /builds/worker/checkouts/gecko/editor/libeditor/HTMLEditor.cpp:5023
[task 2021-02-27T01:23:55.475Z] 01:23:55 INFO - [Child 1375, Main Thread] WARNING: '!root', file /builds/worker/checkouts/gecko/editor/libeditor/EditorBase.cpp:3034
[task 2021-02-27T01:23:55.475Z] 01:23:55 INFO - Assertion failure: !aRootNode || aNotInsertedYet || (aStartBoundary.Container()->IsInclusiveDescendantOf(aRootNode) && aEndBoundary.Container()->IsInclusiveDescendantOf(aRootNode) && aRootNode == RangeUtils::ComputeRootNode(aStartBoundary.Container()) && aRootNode == RangeUtils::ComputeRootNode(aEndBoundary.Container())) (Wrong root), at /builds/worker/checkouts/gecko/dom/base/nsRange.cpp:855
[task 2021-02-27T01:23:55.475Z] 01:23:55 INFO - 1614389035458 Marionette TRACE Received event pagehide for http://127.0.0.1:50162/layout/test_carets_cursor.html
[task 2021-02-27T01:23:55.475Z] 01:23:55 INFO - #01: nsRange::CloneRange() const[/Users/cltbld/tasks/task_1614388295/build/application/Firefox NightlyDebug.app/Contents/MacOS/XUL +0x1aef714]
[task 2021-02-27T01:23:55.475Z] 01:23:55 INFO - #02: mozilla::HTMLEditor::GetSelectionRangesExtendedToHardLineStartAndEnd(nsTArray<RefPtr<nsRange> >&, mozilla::EditSubAction)[/Users/cltbld/tasks/task_1614388295/build/application/Firefox NightlyDebug.app/Contents/MacOS/XUL +0x44270ba]
[task 2021-02-27T01:23:55.475Z] 01:23:55 INFO - #03: mozilla::HTMLEditor::CollectEditTargetNodesInExtendedSelectionRanges(nsTArray<mozilla::OwningNonNull<nsIContent> >&, mozilla::EditSubAction, mozilla::HTMLEditor::CollectNonEditableNodes)[/Users/cltbld/tasks/task_1614388295/build/application/Firefox NightlyDebug.app/Contents/MacOS/XUL +0x449c8e0]
[task 2021-02-27T01:23:55.475Z] 01:23:55 INFO - #04: mozilla::ListElementSelectionState::ListElementSelectionState(mozilla::HTMLEditor&, mozilla::ErrorResult&)[/Users/cltbld/tasks/task_1614388295/build/application/Firefox NightlyDebug.app/Contents/MacOS/XUL +0x449c432]
[task 2021-02-27T01:23:55.475Z] 01:23:55 INFO - #05: mozilla::GetListState(mozilla::HTMLEditor*, bool*, nsTSubstring<char16_t>&)[/Users/cltbld/tasks/task_1614388295/build/application/Firefox NightlyDebug.app/Contents/MacOS/XUL +0x445db63]
[task 2021-02-27T01:23:55.475Z] 01:23:55 INFO - #06: mozilla::RemoveListCommand::IsCommandEnabled(mozilla::Command, mozilla::TextEditor*) const[/Users/cltbld/tasks/task_1614388295/build/application/Firefox NightlyDebug.app/Contents/MacOS/XUL +0x445e4bf]
[task 2021-02-27T01:23:55.475Z] 01:23:55 INFO - #07: mozilla::EditorCommand::IsCommandEnabled(char const*, nsISupports*, bool*)[/Users/cltbld/tasks/task_1614388295/build/application/Firefox NightlyDebug.app/Contents/MacOS/XUL +0x43def77]
[task 2021-02-27T01:23:55.475Z] 01:23:55 INFO - #08: nsControllerCommandTable::IsCommandEnabled(char const*, nsISupports*, bool*)[/Users/cltbld/tasks/task_1614388295/build/application/Firefox NightlyDebug.app/Contents/MacOS/XUL +0x307b460]
[task 2021-02-27T01:23:55.475Z] 01:23:55 INFO - #09: nsBaseCommandController::IsCommandEnabled(char const*, bool*)[/Users/cltbld/tasks/task_1614388295/build/application/Firefox NightlyDebug.app/Contents/MacOS/XUL +0x307b2d4]
[task 2021-02-27T01:23:55.475Z] 01:23:55 INFO - #10: nsWindowRoot::GetEnabledDisabledCommandsForControllers(nsIControllers*, nsTHashtable<nsCStringHashKey>&, nsTArray<nsTString<char> >&, nsTArray<nsTString<char> >&)[/Users/cltbld/tasks/task_1614388295/build/application/Firefox NightlyDebug.app/Contents/MacOS/XUL +0x18efd5e]
[task 2021-02-27T01:23:55.478Z] 01:23:55 INFO - #11: nsWindowRoot::GetEnabledDisabledCommands(nsTArray<nsTString<char> >&, nsTArray<nsTString<char> >&)[/Users/cltbld/tasks/task_1614388295/build/application/Firefox NightlyDebug.app/Contents/MacOS/XUL +0x18f0213]
[task 2021-02-27T01:23:55.478Z] 01:23:55 INFO - #12: (anonymous namespace)::ChildCommandDispatcher::Run()[/Users/cltbld/tasks/task_1614388295/build/application/Firefox NightlyDebug.app/Contents/MacOS/XUL +0x1850234]

It looks to me like it's unlikely to be related to that particular change, as the failure seems to happen in C++ code, which I didn't touch.

Flags: needinfo?(alex.lopez.zorzano)

(In reply to alex.lopez.zorzano from comment #24)

It looks to me like it's unlikely to be related to that particular change, as the failure seems to happen in C++ code, which I didn't touch.

Thanks for checking.
Jens can you assign someone to take a look?
Latest marionette-e10s failures are in layout/base/tests/marionette/test_accessiblecaret_cursor_mode.py

Flags: needinfo?(jstutte)

Confirming what Alex said: 33bf4204b2c9c0286082ea5df8e1f6e245c3e676 may have changed which Python packages were used to run the tests, but it's unlikely that it caused the Firefox failure:

WARNING: Resource acquired is being released in non-LIFO order; why?

Hi Masayuki, would you mind taking a look? I was also wondering, if we can "unpack" these assertions somehow (I understand that || is difficult with that respect), in order to understand better the nature of the error. It might be that some of this should be real error conditions rather than asserts?

Flags: needinfo?(jstutte) → needinfo?(masayuki)

Hmm, my queue is really full for now, but not canceling the ni for now. Feel free to take this if somebody tries to fix this.

Note that there is following a null pointer crash:

[task 2021-03-04T22:45:03.916Z] 22:45:03     INFO - Thread 0 (crashed)
[task 2021-03-04T22:45:03.916Z] 22:45:03     INFO -  0  XUL!void nsRange::DoSetRange<nsCOMPtr<nsINode>, nsCOMPtr<nsIContent>, nsCOMPtr<nsINode>, nsCOMPtr<nsIContent> >(mozilla::RangeBoundaryBase<nsCOMPtr<nsINode>, nsCOMPtr<nsIContent> > const&, mozilla::RangeBoundaryBase<nsCOMPtr<nsINode>, nsCOMPtr<nsIContent> > const&, nsINode*, bool) [nsRange.cpp:8069b1faccc0bf2c4412a702005e503308a7e834 : 848 + 0x29]
[task 2021-03-04T22:45:03.916Z] 22:45:03     INFO -     rax = 0x000000011d503e0e   rdx = 0x0000000000000000
[task 2021-03-04T22:45:03.917Z] 22:45:03     INFO -     rcx = 0x0000000109f13450   rbx = 0x0000000112158e10
[task 2021-03-04T22:45:03.917Z] 22:45:03     INFO -     rsi = 0x00000000000120a8   rdi = 0x00007fff9eaf9028
[task 2021-03-04T22:45:03.917Z] 22:45:03     INFO -     rbp = 0x00007ffee60c7ca0   rsp = 0x00007ffee60c7c40
[task 2021-03-04T22:45:03.917Z] 22:45:03     INFO -      r8 = 0x00000000000130a8    r9 = 0x00007fff9eaf9048
[task 2021-03-04T22:45:03.917Z] 22:45:03     INFO -     r10 = 0x0000000000000000   r11 = 0x00007fff9eaf9040
[task 2021-03-04T22:45:03.917Z] 22:45:03     INFO -     r12 = 0x0000000112158df8   r13 = 0x0000000000000000
[task 2021-03-04T22:45:03.917Z] 22:45:03     INFO -     r14 = 0x0000000112608020   r15 = 0x0000000112158d00
[task 2021-03-04T22:45:03.917Z] 22:45:03     INFO -     rip = 0x0000000115112149
[task 2021-03-04T22:45:03.917Z] 22:45:03     INFO -     Found by: given as instruction pointer in context
[task 2021-03-04T22:45:03.917Z] 22:45:03     INFO -  1  XUL!nsRange::CloneRange() const [nsRange.cpp:8069b1faccc0bf2c4412a702005e503308a7e834 : 2212 + 0x22]
[task 2021-03-04T22:45:03.917Z] 22:45:03     INFO -     rbp = 0x00007ffee60c7ce0   rsp = 0x00007ffee60c7cb0
[task 2021-03-04T22:45:03.917Z] 22:45:03     INFO -     rip = 0x000000011511b694
[task 2021-03-04T22:45:03.918Z] 22:45:03     INFO -     Found by: previous frame's frame pointer
[task 2021-03-04T22:45:03.918Z] 22:45:03     INFO -  2  XUL!mozilla::HTMLEditor::GetSelectionRangesExtendedToHardLineStartAndEnd(nsTArray<RefPtr<nsRange> >&, mozilla::EditSubAction) [HTMLEditSubActionHandler.cpp:8069b1faccc0bf2c4412a702005e503308a7e834 : 5680 + 0xc]
[task 2021-03-04T22:45:03.918Z] 22:45:03     INFO -     rbp = 0x00007ffee60c7d30   rsp = 0x00007ffee60c7cf0
[task 2021-03-04T22:45:03.918Z] 22:45:03     INFO -     rip = 0x0000000117a5662a
[task 2021-03-04T22:45:03.918Z] 22:45:03     INFO -     Found by: previous frame's frame pointer
[task 2021-03-04T22:45:03.918Z] 22:45:03     INFO -  3  XUL!mozilla::HTMLEditor::CollectEditTargetNodesInExtendedSelectionRanges(nsTArray<mozilla::OwningNonNull<nsIContent> >&, mozilla::EditSubAction, mozilla::HTMLEditor::CollectNonEditableNodes) [HTMLEditor.h:8069b1faccc0bf2c4412a702005e503308a7e834 : 1580 + 0xe]
[task 2021-03-04T22:45:03.918Z] 22:45:03     INFO -     rbp = 0x00007ffee60c7db0   rsp = 0x00007ffee60c7d40
[task 2021-03-04T22:45:03.918Z] 22:45:03     INFO -     rip = 0x0000000117acbf60
[task 2021-03-04T22:45:03.918Z] 22:45:03     INFO -     Found by: previous frame's frame pointer
[task 2021-03-04T22:45:03.918Z] 22:45:03     INFO -  4  XUL!mozilla::ListElementSelectionState::ListElementSelectionState(mozilla::HTMLEditor&, mozilla::ErrorResult&) [HTMLEditorState.cpp:8069b1faccc0bf2c4412a702005e503308a7e834 : 65 + 0x12]
[task 2021-03-04T22:45:03.918Z] 22:45:03     INFO -     rbp = 0x00007ffee60c8550   rsp = 0x00007ffee60c7dc0
[task 2021-03-04T22:45:03.918Z] 22:45:03     INFO -     rip = 0x0000000117acbab2
[task 2021-03-04T22:45:03.919Z] 22:45:03     INFO -     Found by: previous frame's frame pointer
[task 2021-03-04T22:45:03.919Z] 22:45:03     INFO -  5  XUL!mozilla::GetListState(mozilla::HTMLEditor*, bool*, nsTSubstring<char16_t>&) [HTMLEditorCommands.cpp:8069b1faccc0bf2c4412a702005e503308a7e834 : 1330 + 0x17]
[task 2021-03-04T22:45:03.919Z] 22:45:03     INFO -     rbp = 0x00007ffee60c85b0   rsp = 0x00007ffee60c8560
[task 2021-03-04T22:45:03.919Z] 22:45:03     INFO -     rip = 0x0000000117a8d1e3
[task 2021-03-04T22:45:03.919Z] 22:45:03     INFO -     Found by: previous frame's frame pointer
[task 2021-03-04T22:45:03.919Z] 22:45:03     INFO -  6  XUL!mozilla::RemoveListCommand::IsCommandEnabled(mozilla::Command, mozilla::TextEditor*) const [HTMLEditorCommands.cpp:8069b1faccc0bf2c4412a702005e503308a7e834 : 381 + 0xb]
[task 2021-03-04T22:45:03.919Z] 22:45:03     INFO -     rbp = 0x00007ffee60c8680   rsp = 0x00007ffee60c85c0
[task 2021-03-04T22:45:03.919Z] 22:45:03     INFO -     rip = 0x0000000117a8db3f
[task 2021-03-04T22:45:03.919Z] 22:45:03     INFO -     Found by: previous frame's frame pointer
[task 2021-03-04T22:45:03.919Z] 22:45:03     INFO -  7  XUL!mozilla::EditorCommand::IsCommandEnabled(char const*, nsISupports*, bool*) [EditorCommands.cpp:8069b1faccc0bf2c4412a702005e503308a7e834 : 51 + 0x1a]
[task 2021-03-04T22:45:03.919Z] 22:45:03     INFO -     rbp = 0x00007ffee60c86e0   rsp = 0x00007ffee60c8690
[task 2021-03-04T22:45:03.919Z] 22:45:03     INFO -     rip = 0x0000000117a0e107
[task 2021-03-04T22:45:03.920Z] 22:45:03     INFO -     Found by: previous frame's frame pointer
[task 2021-03-04T22:45:03.920Z] 22:45:03     INFO -  8  XUL!nsControllerCommandTable::IsCommandEnabled(char const*, nsISupports*, bool*) [nsControllerCommandTable.cpp:8069b1faccc0bf2c4412a702005e503308a7e834 : 90 + 0xf]
[task 2021-03-04T22:45:03.920Z] 22:45:03     INFO -     rbp = 0x00007ffee60c8720   rsp = 0x00007ffee60c86f0
[task 2021-03-04T22:45:03.920Z] 22:45:03     INFO -     rip = 0x00000001166a87b0
[task 2021-03-04T22:45:03.920Z] 22:45:03     INFO -     Found by: previous frame's frame pointer

I'll take a look a little, but it might be just splitting the assertion.

Assignee: nobody → masayuki
Status: NEW → ASSIGNED
Flags: needinfo?(masayuki)

For making it clear what the condition causes hitting the assertions, let's
split them first.

With this change, at least in CharacterDataChanged and ContentRemoved
causes hitting this assertion:

MOZ_ASSERT(aStartBoundary.Container()->IsInclusiveDescendantOf(aRootNode));

The reason is, they call it with mRoot, but the range has already been
disconnected from mRoot. The following patch fixes this.

Depends on D108397

The method unexpectedly assert when the given range is in native anonymous
subtree and the range is disconnected from the subtree.

This is caused by that RangeUtils::ComputeRootNode() returns parent element
of the native anonymous subtree root when the range is connected. However,
otherwise, it returns the subtree root which is a content node.

Therefore, they are what we should check when updating a range is,

  • Given range boundaries are in same subtree at least.
  • Given range's computed root node should be same as given root node except
    when the range is in a native anonymous subtree and disconnected from the
    subtree.

This change fixes the following new permanent oranges caused by the previous
patch:

  • browser/components/places/tests/browser/browser_sidebarpanels_click.js
  • browser/base/content/test/keyboard/browser_toolbarKeyNav.js
  • devtools/client/inspector/test/browser_inspector_breadcrumbs_visibility.js
  • layout/base/tests/marionette/test_accessiblecaret_cursor_mode.py

Depends on D108398

Pushed by masayuki@d-toybox.com:
https://hg.mozilla.org/integration/autoland/rev/3ff0c52977c8
part 1: Split MOZ_ASSERTs in `nsRange::DoSetRange` for making it clearer which condition is hit r=smaug
https://hg.mozilla.org/integration/autoland/rev/b350c85c1408
part 2: Make mutation observer of `nsRange` check the relation between range root and start/end boundaries when it does not modify them r=smaug
https://hg.mozilla.org/integration/autoland/rev/ea9167bb2448
part 3: Rewrite `AssertIfMismatchRootAndRangeBoundaries()` r=smaug
Blocks: 1693049
No longer depends on: 1693049
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: