Open Bug 1416923 Opened 2 years ago Updated 2 years ago

Assertion failure: mParent->GetChildAt(Offset()) == mRef->GetNextSibling() [@ mozilla::EditorBase::GetPreviousNodeInternal]

Categories

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

58 Branch
defect

Tracking

()

Tracking Status
firefox58 --- affected

People

(Reporter: tsmith, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: assertion, testcase)

Attachments

(1 file)

Attached file testcase.html
Assertion failure: mParent->GetChildAt(Offset()) == mRef->GetNextSibling(), at /src/obj-firefox/dist/include/mozilla/RangeBoundary.h:138

#0 mozilla::RangeBoundaryBase<nsINode*, nsIContent*>::GetChildAtOffset() const /src/obj-firefox/dist/include/mozilla/RangeBoundary.h:139:12
#1 mozilla::EditorBase::GetPreviousNodeInternal(mozilla::EditorDOMPointBase<nsINode*, nsIContent*> const&, bool, bool) /src/editor/libeditor/EditorBase.cpp:3322:14
#2 mozilla::HTMLEditRules::GetPromotedPoint(mozilla::HTMLEditRules::RulesEndpoint, nsINode&, int, EditAction) /src/editor/libeditor/HTMLEditRules.cpp:5757:31
#3 mozilla::HTMLEditRules::PromoteRange(nsRange&, EditAction) /src/editor/libeditor/HTMLEditRules.cpp:5964:5
#4 mozilla::HTMLEditRules::GetPromotedRanges(mozilla::dom::Selection&, nsTArray<RefPtr<nsRange> >&, EditAction) /src/editor/libeditor/HTMLEditRules.cpp:5893:5
#5 mozilla::HTMLEditRules::GetNodesFromSelection(mozilla::dom::Selection&, EditAction, nsTArray<mozilla::OwningNonNull<nsINode> >&, mozilla::HTMLEditRules::TouchContent) /src/editor/libeditor/HTMLEditRules.cpp:6556:3
#6 mozilla::HTMLEditRules::GetListActionNodes(nsTArray<mozilla::OwningNonNull<nsINode> >&, mozilla::HTMLEditRules::EntireList, mozilla::HTMLEditRules::TouchContent) /src/editor/libeditor/HTMLEditRules.cpp:6219:19
#7 mozilla::HTMLEditRules::GetListState(bool*, bool*, bool*, bool*) /src/editor/libeditor/HTMLEditRules.cpp:736:17
#8 mozilla::HTMLEditor::GetListState(bool*, bool*, bool*, bool*) /src/editor/libeditor/HTMLEditor.cpp:1912:21
#9 GetListState(mozilla::HTMLEditor*, bool*, nsTSubstring<char16_t>&) /src/editor/composer/nsComposerCommands.cpp:1575:30
#10 nsRemoveListCommand::IsCommandEnabled(char const*, nsISupports*, bool*) /src/editor/composer/nsComposerCommands.cpp:436:17
#11 nsControllerCommandTable::IsCommandEnabled(char const*, nsISupports*, bool*) /src/dom/commandhandler/nsControllerCommandTable.cpp:98:26
#12 nsBaseCommandController::IsCommandEnabled(char const*, bool*) /src/dom/commandhandler/nsBaseCommandController.cpp:105:25
#13 nsWindowRoot::GetEnabledDisabledCommandsForControllers(nsIControllers*, nsTHashtable<nsCharPtrHashKey>&, nsTArray<nsTString<char> >&, nsTArray<nsTString<char> >&) /src/dom/base/nsWindowRoot.cpp:329:25
#14 nsWindowRoot::GetEnabledDisabledCommands(nsTArray<nsTString<char> >&, nsTArray<nsTString<char> >&) /src/dom/base/nsWindowRoot.cpp:355:5
#15 ChildCommandDispatcher::Run() /src/dom/base/nsGlobalWindow.cpp:10127:11
#16 nsContentUtils::AddScriptRunner(already_AddRefed<nsIRunnable>) /src/dom/base/nsContentUtils.cpp:5809:13
#17 nsContentUtils::AddScriptRunner(nsIRunnable*) /src/dom/base/nsContentUtils.cpp:5816:3
#18 nsGlobalWindow::UpdateCommands(nsTSubstring<char16_t> const&, nsISelection*, short) /src/dom/base/nsGlobalWindow.cpp:10167:7
#19 non-virtual thunk to nsGlobalWindow::UpdateCommands(nsTSubstring<char16_t> const&, nsISelection*, short) /src/dom/base/nsGlobalWindow.cpp:10162:17
#20 nsDocViewerSelectionListener::NotifySelectionChanged(nsIDOMDocument*, nsISelection*, short) /src/layout/base/nsDocumentViewer.cpp:3787:16
#21 mozilla::dom::Selection::NotifySelectionListeners() /src/dom/base/Selection.cpp:3894:15
#22 nsFrameSelection::NotifySelectionListeners(mozilla::SelectionType) /src/layout/generic/nsFrameSelection.cpp:2053:23
#23 mozilla::dom::Selection::Extend(nsINode&, unsigned int, mozilla::ErrorResult&) /src/dom/base/Selection.cpp:3255:25
#24 mozilla::dom::Selection::Extend(nsINode*, int) /src/dom/base/Selection.cpp:2970:3
#25 nsFrameSelection::TakeFocus(nsIContent*, unsigned int, unsigned int, mozilla::CaretAssociationHint, bool, bool) /src/layout/generic/nsFrameSelection.cpp:1493:34
#26 nsFrameSelection::MoveCaret(nsDirection, bool, nsSelectionAmount, nsFrameSelection::CaretMovementStyle) /src/layout/generic/nsFrameSelection.cpp:937:14
#27 mozilla::dom::Selection::Modify(nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, mozilla::ErrorResult&) /src/dom/base/Selection.cpp:4060:24
#28 mozilla::dom::SelectionBinding::modify(JSContext*, JS::Handle<JSObject*>, mozilla::dom::Selection*, JSJitMethodCallArgs const&) /src/obj-firefox/dom/bindings/SelectionBinding.cpp:918:9
#29 mozilla::dom::GenericBindingMethod(JSContext*, unsigned int, JS::Value*) /src/dom/bindings/BindingUtils.cpp:3040:13
#30 js::CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) /src/js/src/jscntxtinlines.h:291:15
#31 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) /src/js/src/vm/Interpreter.cpp:473:16
#32 InternalCall(JSContext*, js::AnyInvokeArgs const&) /src/js/src/vm/Interpreter.cpp:522:12
#33 Interpret(JSContext*, js::RunState&) /src/js/src/vm/Interpreter.cpp:3098:18
#34 js::RunScript(JSContext*, js::RunState&) /src/js/src/vm/Interpreter.cpp:423:12
#35 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) /src/js/src/vm/Interpreter.cpp:495:15
#36 InternalCall(JSContext*, js::AnyInvokeArgs const&) /src/js/src/vm/Interpreter.cpp:522:12
#37 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>) /src/js/src/vm/Interpreter.cpp:541:10
#38 JS::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) /src/js/src/jsapi.cpp:3032:12
#39 mozilla::dom::EventHandlerNonNull::Call(JSContext*, JS::Handle<JS::Value>, mozilla::dom::Event&, JS::MutableHandle<JS::Value>, mozilla::ErrorResult&) /src/obj-firefox/dom/bindings/EventHandlerBinding.cpp:260:37
#40 void mozilla::dom::EventHandlerNonNull::Call<nsISupports*>(nsISupports* const&, mozilla::dom::Event&, JS::MutableHandle<JS::Value>, mozilla::ErrorResult&, char const*, mozilla::dom::CallbackObject::ExceptionHandling, JSCompartment*) /src/obj-firefox/dist/include/mozilla/dom/EventHandlerBinding.h:362:12
#41 mozilla::JSEventHandler::HandleEvent(nsIDOMEvent*) /src/dom/events/JSEventHandler.cpp:215:12
#42 mozilla::EventListenerManager::HandleEventSubType(mozilla::EventListenerManager::Listener*, nsIDOMEvent*, mozilla::dom::EventTarget*) /src/dom/events/EventListenerManager.cpp:1118:51
#43 mozilla::EventListenerManager::HandleEventInternal(nsPresContext*, mozilla::WidgetEvent*, nsIDOMEvent**, mozilla::dom::EventTarget*, nsEventStatus*) /src/dom/events/EventListenerManager.cpp:1293:20
#44 mozilla::EventTargetChainItem::HandleEvent(mozilla::EventChainPostVisitor&, mozilla::ELMCreationDetector&) /src/dom/events/EventDispatcher.cpp:313:17
#45 mozilla::EventTargetChainItem::HandleEventTargetChain(nsTArray<mozilla::EventTargetChainItem>&, mozilla::EventChainPostVisitor&, mozilla::EventDispatchingCallback*, mozilla::ELMCreationDetector&) /src/dom/events/EventDispatcher.cpp:462:16
#46 mozilla::EventDispatcher::Dispatch(nsISupports*, nsPresContext*, mozilla::WidgetEvent*, nsIDOMEvent*, nsEventStatus*, mozilla::EventDispatchingCallback*, nsTArray<mozilla::dom::EventTarget*>*) /src/dom/events/EventDispatcher.cpp:826:9
#47 nsDocumentViewer::LoadComplete(nsresult) /src/layout/base/nsDocumentViewer.cpp:1064:7
#48 nsDocShell::EndPageLoad(nsIWebProgress*, nsIChannel*, nsresult) /src/docshell/base/nsDocShell.cpp:7779:21
#49 nsDocShell::OnStateChange(nsIWebProgress*, nsIRequest*, unsigned int, nsresult) /src/docshell/base/nsDocShell.cpp:7577:7
#50 non-virtual thunk to nsDocShell::OnStateChange(nsIWebProgress*, nsIRequest*, unsigned int, nsresult) /src/docshell/base/nsDocShell.cpp:7474:13
#51 nsDocLoader::DoFireOnStateChange(nsIWebProgress*, nsIRequest*, int&, nsresult) /src/uriloader/base/nsDocLoader.cpp:1321:3
#52 nsDocLoader::doStopDocumentLoad(nsIRequest*, nsresult) /src/uriloader/base/nsDocLoader.cpp:862:14
#53 nsDocLoader::DocLoaderIsEmpty(bool) /src/uriloader/base/nsDocLoader.cpp:751:9
#54 nsDocLoader::OnStopRequest(nsIRequest*, nsISupports*, nsresult) /src/uriloader/base/nsDocLoader.cpp:633:5
#55 non-virtual thunk to nsDocLoader::OnStopRequest(nsIRequest*, nsISupports*, nsresult) /src/uriloader/base/nsDocLoader.cpp:489:14
#56 mozilla::net::nsLoadGroup::RemoveRequest(nsIRequest*, nsISupports*, nsresult) /src/netwerk/base/nsLoadGroup.cpp:629:28
#57 nsDocument::DoUnblockOnload() /src/dom/base/nsDocument.cpp:9401:18
#58 nsDocument::UnblockOnload(bool) /src/dom/base/nsDocument.cpp:9323:9
#59 nsDocument::DispatchContentLoadedEvents() /src/dom/base/nsDocument.cpp:5688:3
#60 mozilla::detail::RunnableMethodImpl<nsDocument*, void (nsDocument::*)(), true, (mozilla::RunnableKind)0>::Run() /src/obj-firefox/dist/include/nsThreadUtils.h:1192:13
#61 mozilla::SchedulerGroup::Runnable::Run() /src/xpcom/threads/SchedulerGroup.cpp:396:25
#62 nsThread::ProcessNextEvent(bool, bool*) /src/xpcom/threads/nsThread.cpp:1037:14
#63 NS_ProcessNextEvent(nsIThread*, bool) /src/xpcom/threads/nsThreadUtils.cpp:513:10
#64 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /src/ipc/glue/MessagePump.cpp:97:21
#65 MessageLoop::RunInternal() /src/ipc/chromium/src/base/message_loop.cc:326:10
#66 MessageLoop::Run() /src/ipc/chromium/src/base/message_loop.cc:299:3
#67 nsBaseAppShell::Run() /src/widget/nsBaseAppShell.cpp:159:27
#68 XRE_RunAppShell() /src/toolkit/xre/nsEmbedFunctions.cpp:877:22
#69 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /src/ipc/glue/MessagePump.cpp:269:9
#70 MessageLoop::RunInternal() /src/ipc/chromium/src/base/message_loop.cc:326:10
#71 MessageLoop::Run() /src/ipc/chromium/src/base/message_loop.cc:299:3
#72 XRE_InitChildProcess(int, char**, XREChildData const*) /src/toolkit/xre/nsEmbedFunctions.cpp:703:34
#73 content_process_main(mozilla::Bootstrap*, int, char**) /src/browser/app/../../ipc/contentproc/plugin-container.cpp:63:30
#74 main /src/browser/app/nsBrowserApp.cpp:280:18
#75 __libc_start_main /build/glibc-bfm8X4/glibc-2.23/csu/../csu/libc-start.c:291
#76 _start (firefox+0x41ebe4)
Flags: in-testsuite?
Priority: -- → P3
This is assertion only
You need to log in before you can comment on or make changes to this bug.