Open Bug 1582250 Opened 7 months ago Updated 7 months ago

Assertion failure: mChild->GetParentNode() == mParent, at src/obj-firefox/dist/include/mozilla/EditorDOMPoint.h:306

Categories

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

defect

Tracking

()

Tracking Status
firefox71 --- affected

People

(Reporter: tsmith, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: assertion, testcase)

Attachments

(1 file)

Attached file testcase.html

Reduced with m-c:
BuildID=20190918105434
SourceStamp=a3a081ae714f1123bdc23c9d9ef53dfaa783a8de

[Child 37705, Main Thread] ###!!! ASSERTION: Should be called only when this is the only edit action of the operation unless mutation event listener nests some operations: '!mPlaceholderBatch', file src/editor/libeditor/TextEditor.cpp, line 556
[Child 37705, Main Thread] ###!!! ASSERTION: Should be called only when this is the only edit action of the operation unless mutation event listener nests some operations: '!mPlaceholderBatch', file src/editor/libeditor/TextEditor.cpp, line 556
[Child 37705, Main Thread] WARNING: '!aNode', file src/editor/libeditor/EditorBase.cpp, line 3773
Assertion failure: mChild->GetParentNode() == mParent, at src/obj-firefox/dist/include/mozilla/EditorDOMPoint.h:306
#0 mozilla::EditorDOMPointBase<nsCOMPtr<nsINode>, nsCOMPtr<nsIContent> >::Offset() const src/obj-firefox/dist/include/mozilla/EditorDOMPoint.h:306:5
#1 mozilla::AutoTrackDOMPoint::AutoTrackDOMPoint(mozilla::RangeUpdater&, mozilla::EditorDOMPointBase<nsCOMPtr<nsINode>, nsCOMPtr<nsIContent> >*) src/obj-firefox/dist/include/mozilla/SelectionState.h:204:40
#2 mozilla::HTMLEditor::TryToJoinBlocksWithTransaction(nsIContent&, nsIContent&) src/editor/libeditor/HTMLEditRules.cpp:3688:25
#3 mozilla::HTMLEditor::HandleDeleteCollapsedSelectionAtCurrentBlockBoundary(short, mozilla::dom::Element&, mozilla::EditorDOMPointBase<nsCOMPtr<nsINode>, nsCOMPtr<nsIContent> > const&) src/editor/libeditor/HTMLEditRules.cpp:3012:9
#4 mozilla::HTMLEditor::HandleDeleteAroundCollapsedSelection(short, short) src/editor/libeditor/HTMLEditRules.cpp:2507:9
#5 mozilla::HTMLEditor::HandleDeleteSelectionInternal(short, short) src/editor/libeditor/HTMLEditRules.cpp:2408:33
#6 mozilla::HTMLEditor::HandleDeleteSelection(short, short) src/editor/libeditor/HTMLEditRules.cpp:2277:7
#7 mozilla::TextEditor::DeleteSelectionAsSubAction(short, short) src/editor/libeditor/TextEditor.cpp:665:7
#8 mozilla::TextEditor::DeleteSelectionAsAction(short, short, nsIPrincipal*) src/editor/libeditor/TextEditor.cpp:637:17
#9 mozilla::DeleteCommand::DoCommand(mozilla::Command, mozilla::TextEditor&, nsIPrincipal*) const src/editor/libeditor/EditorCommands.cpp:618:29
#10 mozilla::dom::Document::ExecCommand(nsTSubstring<char16_t> const&, bool, nsTSubstring<char16_t> const&, nsIPrincipal&, mozilla::ErrorResult&) src/dom/base/Document.cpp:4705:26
#11 mozilla::dom::Document_Binding::execCommand(JSContext*, JS::Handle<JSObject*>, mozilla::dom::Document*, JSJitMethodCallArgs const&) src/obj-firefox/dom/bindings/DocumentBinding.cpp:3580:36
#12 bool mozilla::dom::binding_detail::GenericMethod<mozilla::dom::binding_detail::NormalThisPolicy, mozilla::dom::binding_detail::ThrowExceptions>(JSContext*, unsigned int, JS::Value*) src/dom/bindings/BindingUtils.cpp:3168:13
#13 CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&) src/js/src/vm/Interpreter.cpp:458:13
#14 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) src/js/src/vm/Interpreter.cpp:551:12
#15 InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason) src/js/src/vm/Interpreter.cpp:620:10
#16 Interpret(JSContext*, js::RunState&) src/js/src/vm/Interpreter.cpp:3113:16
#17 js::RunScript(JSContext*, js::RunState&) src/js/src/vm/Interpreter.cpp:424:10
#18 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) src/js/src/vm/Interpreter.cpp:592:13
#19 InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason) src/js/src/vm/Interpreter.cpp:620:10
#20 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) src/js/src/vm/Interpreter.cpp:637:8
#21 JS::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) src/js/src/jsapi.cpp:2723:10
#22 mozilla::dom::IdleRequestCallback::Call(JSContext*, JS::Handle<JS::Value>, mozilla::dom::IdleDeadline&, mozilla::ErrorResult&) src/obj-firefox/dom/bindings/WindowBinding.cpp:1046:8
#23 mozilla::dom::IdleRequestCallback::Call(mozilla::dom::IdleDeadline&, mozilla::ErrorResult&, char const*, mozilla::dom::CallbackObject::ExceptionHandling, JS::Realm*) src/obj-firefox/dist/include/mozilla/dom/WindowBinding.h:780:12
#24 mozilla::dom::IdleRequestCallback::Call(mozilla::dom::IdleDeadline&, char const*) src/obj-firefox/dist/include/mozilla/dom/WindowBinding.h:793:12
#25 mozilla::dom::IdleRequest::IdleRun(nsPIDOMWindowInner*, double, bool) src/dom/base/IdleRequest.cpp:63:13
#26 nsGlobalWindowInner::RunIdleRequest(mozilla::dom::IdleRequest*, double, bool) src/dom/base/nsGlobalWindowInner.cpp:675:12
#27 IdleRequestTimeoutHandler::Call(char const*) src/dom/base/nsGlobalWindowInner.cpp:725:13
#28 nsGlobalWindowInner::RunTimeoutHandler(mozilla::dom::Timeout*, nsIScriptContext*) src/dom/base/nsGlobalWindowInner.cpp:5893:38
#29 mozilla::dom::TimeoutManager::RunTimeout(mozilla::TimeStamp const&, mozilla::TimeStamp const&, bool) src/dom/base/TimeoutManager.cpp:892:44
#30 mozilla::dom::TimeoutExecutor::MaybeExecute() src/dom/base/TimeoutExecutor.cpp:179:11
#31 mozilla::dom::TimeoutExecutor::Notify(nsITimer*) src/dom/base/TimeoutExecutor.cpp:246:5
#32 non-virtual thunk to mozilla::dom::TimeoutExecutor::Notify(nsITimer*) src/dom/base/TimeoutExecutor.cpp
#33 nsTimerImpl::Fire(int) src/xpcom/threads/nsTimerImpl.cpp:564:39
#34 nsTimerEvent::Run() src/xpcom/threads/TimerThread.cpp:260:11
#35 mozilla::ThrottledEventQueue::Inner::ExecuteRunnable() src/xpcom/threads/ThrottledEventQueue.cpp:252:22
#36 mozilla::ThrottledEventQueue::Inner::Executor::Run() src/xpcom/threads/ThrottledEventQueue.cpp:80:15
#37 mozilla::SchedulerGroup::Runnable::Run() src/xpcom/threads/SchedulerGroup.cpp:295:32
#38 nsThread::ProcessNextEvent(bool, bool*) src/xpcom/threads/nsThread.cpp:1225:14
#39 NS_ProcessNextEvent(nsIThread*, bool) src/xpcom/threads/nsThreadUtils.cpp:486:10
#40 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) src/ipc/glue/MessagePump.cpp:88:21
#41 MessageLoop::RunInternal() src/ipc/chromium/src/base/message_loop.cc:315:10
#42 MessageLoop::Run() src/ipc/chromium/src/base/message_loop.cc:290:3
#43 nsBaseAppShell::Run() src/widget/nsBaseAppShell.cpp:137:27
#44 XRE_RunAppShell() src/toolkit/xre/nsEmbedFunctions.cpp:934:20
#45 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) src/ipc/glue/MessagePump.cpp:238:9
#46 MessageLoop::RunInternal() src/ipc/chromium/src/base/message_loop.cc:315:10
#47 MessageLoop::Run() src/ipc/chromium/src/base/message_loop.cc:290:3
#48 XRE_InitChildProcess(int, char**, XREChildData const*) src/toolkit/xre/nsEmbedFunctions.cpp:769:34
#49 content_process_main(mozilla::Bootstrap*, int, char**) src/browser/app/../../ipc/contentproc/plugin-container.cpp:56:28
#50 main src/browser/app/nsBrowserApp.cpp:272:18
Flags: in-testsuite?
Priority: -- → P3
You need to log in before you can comment on or make changes to this bug.