Open Bug 1413759 Opened 2 years ago Updated 1 year ago

Assertion failure: ((bool)(__builtin_expect(!!(!NS_FAILED_impl(rv)), 1))) [@ mozilla::EditorBase::DeleteSelectionAndPrepareToCreateNode]

Categories

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

58 Branch
defect

Tracking

()

Tracking Status
firefox-esr52 --- wontfix
firefox56 --- wontfix
firefox57 --- wontfix
firefox58 --- wontfix
firefox59 --- ?

People

(Reporter: tsmith, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: assertion, testcase)

Attachments

(1 file)

Attached file test_case.html
Assertion failure: ((bool)(__builtin_expect(!!(!NS_FAILED_impl(rv)), 1))), at /src/editor/libeditor/EditorBase.cpp:4288

#0 mozilla::EditorBase::DeleteSelectionAndPrepareToCreateNode() /src/editor/libeditor/EditorBase.cpp:4282:7
#1 mozilla::HTMLEditor::DoInsertHTMLWithContext(nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, nsIDOMDocument*, nsIDOMNode*, int, bool, bool, bool) /src/editor/libeditor/HTMLEditorDataTransfer.cpp:314:10
#2 mozilla::HTMLEditor::InsertHTMLWithContext(nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, nsIDOMDocument*, nsIDOMNode*, int, bool) /src/editor/libeditor/HTMLEditorDataTransfer.cpp:169:10
#3 mozilla::HTMLEditor::InsertHTML(nsTSubstring<char16_t> const&) /src/editor/libeditor/HTMLEditorDataTransfer.cpp:155:10
#4 nsInsertHTMLCommand::DoCommandParams(char const*, nsICommandParams*, nsISupports*) /src/editor/composer/nsComposerCommands.cpp:1418:22
#5 nsControllerCommandTable::DoCommandParams(char const*, nsICommandParams*, nsISupports*) /src/dom/commandhandler/nsControllerCommandTable.cpp:162:26
#6 nsBaseCommandController::DoCommandWithParams(char const*, nsICommandParams*) /src/dom/commandhandler/nsBaseCommandController.cpp:152:25
#7 nsCommandManager::DoCommand(char const*, nsICommandParams*, mozIDOMWindowProxy*) /src/dom/commandhandler/nsCommandManager.cpp:210:29
#8 nsHTMLDocument::ExecCommand(nsTSubstring<char16_t> const&, bool, nsTSubstring<char16_t> const&, nsIPrincipal&, mozilla::ErrorResult&) /src/dom/html/nsHTMLDocument.cpp:3372:18
#9 mozilla::dom::HTMLDocumentBinding::execCommand(JSContext*, JS::Handle<JSObject*>, nsHTMLDocument*, JSJitMethodCallArgs const&) /src/obj-firefox/dom/bindings/HTMLDocumentBinding.cpp:891:21
#10 mozilla::dom::GenericBindingMethod(JSContext*, unsigned int, JS::Value*) /src/dom/bindings/BindingUtils.cpp:3040:13
#11 js::CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), JS::CallArgs const&) /src/js/src/jscntxtinlines.h:291:15
#12 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) /src/js/src/vm/Interpreter.cpp:472:16
#13 InternalCall(JSContext*, js::AnyInvokeArgs const&) /src/js/src/vm/Interpreter.cpp:521:12
#14 Interpret(JSContext*, js::RunState&) /src/js/src/vm/Interpreter.cpp:3066:18
#15 js::RunScript(JSContext*, js::RunState&) /src/js/src/vm/Interpreter.cpp:422:12
#16 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct) /src/js/src/vm/Interpreter.cpp:494:15
#17 InternalCall(JSContext*, js::AnyInvokeArgs const&) /src/js/src/vm/Interpreter.cpp:521:12
#18 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>) /src/js/src/vm/Interpreter.cpp:540:10
#19 JS::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) /src/js/src/jsapi.cpp:3019:12
#20 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
#21 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
#22 mozilla::JSEventHandler::HandleEvent(nsIDOMEvent*) /src/dom/events/JSEventHandler.cpp:215:12
#23 mozilla::EventListenerManager::HandleEventSubType(mozilla::EventListenerManager::Listener*, nsIDOMEvent*, mozilla::dom::EventTarget*) /src/dom/events/EventListenerManager.cpp:1118:51
#24 mozilla::EventListenerManager::HandleEventInternal(nsPresContext*, mozilla::WidgetEvent*, nsIDOMEvent**, mozilla::dom::EventTarget*, nsEventStatus*) /src/dom/events/EventListenerManager.cpp:1293:20
#25 mozilla::EventTargetChainItem::HandleEvent(mozilla::EventChainPostVisitor&, mozilla::ELMCreationDetector&) /src/dom/events/EventDispatcher.cpp:313:17
#26 mozilla::EventTargetChainItem::HandleEventTargetChain(nsTArray<mozilla::EventTargetChainItem>&, mozilla::EventChainPostVisitor&, mozilla::EventDispatchingCallback*, mozilla::ELMCreationDetector&) /src/dom/events/EventDispatcher.cpp:462:16
#27 mozilla::EventDispatcher::Dispatch(nsISupports*, nsPresContext*, mozilla::WidgetEvent*, nsIDOMEvent*, nsEventStatus*, mozilla::EventDispatchingCallback*, nsTArray<mozilla::dom::EventTarget*>*) /src/dom/events/EventDispatcher.cpp:826:9
#28 mozilla::EventDispatcher::DispatchDOMEvent(nsISupports*, mozilla::WidgetEvent*, nsIDOMEvent*, nsPresContext*, nsEventStatus*) /src/dom/events/EventDispatcher.cpp:892:12
#29 nsINode::DispatchEvent(nsIDOMEvent*, bool*) /src/dom/base/nsINode.cpp:1356:5
#30 nsContentUtils::DispatchEvent(nsIDocument*, nsISupports*, nsTSubstring<char16_t> const&, bool, bool, bool, bool*, bool) /src/dom/base/nsContentUtils.cpp:4607:18
#31 nsContentUtils::DispatchTrustedEvent(nsIDocument*, nsISupports*, nsTSubstring<char16_t> const&, bool, bool, bool*) /src/dom/base/nsContentUtils.cpp:4575:10
#32 mozilla::dom::HTMLMediaElement::DispatchEvent(nsTSubstring<char16_t> const&) /src/dom/html/HTMLMediaElement.cpp:6284:10
#33 nsThread::ProcessNextEvent(bool, bool*) /src/xpcom/threads/nsThread.cpp:1037:14
#34 NS_ProcessNextEvent(nsIThread*, bool) /src/xpcom/threads/nsThreadUtils.cpp:513:10
#35 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /src/ipc/glue/MessagePump.cpp:97:21
#36 MessageLoop::RunInternal() /src/ipc/chromium/src/base/message_loop.cc:326:10
#37 MessageLoop::Run() /src/ipc/chromium/src/base/message_loop.cc:299:3
#38 nsBaseAppShell::Run() /src/widget/nsBaseAppShell.cpp:158:27
#39 nsAppStartup::Run() /src/toolkit/components/startup/nsAppStartup.cpp:288:30
#40 XREMain::XRE_mainRun() /src/toolkit/xre/nsAppRunner.cpp:4686:22
#41 XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) /src/toolkit/xre/nsAppRunner.cpp:4848:8
#42 XRE_main(int, char**, mozilla::BootstrapConfig const&) /src/toolkit/xre/nsAppRunner.cpp:4943:21
#43 do_main(int, char**, char**) /src/browser/app/nsBrowserApp.cpp:231:22
#44 main /src/browser/app/nsBrowserApp.cpp:304:16
#45 __libc_start_main /build/glibc-bfm8X4/glibc-2.23/csu/../csu/libc-start.c:291
#46 _start (firefox+0x41ebe4)
Flags: in-testsuite?
Reproduces on Ubuntu 17.10 for me, but not Win10. Goes back more than a year.
Has Regression Range: --- → no
Blocks: 766360
assertion only
Priority: -- → P3
You need to log in before you can comment on or make changes to this bug.