Bug 151023 - ASSERTION FAILED: !textDecorationsInEffect || !textDecoration in WebCore::reconcileTextDecorationProperties
Summary: ASSERTION FAILED: !textDecorationsInEffect || !textDecoration in WebCore::rec...
Status: RESOLVED CONFIGURATION CHANGED
Alias: None
Product: WebKit
Classification: Unclassified
Component: HTML Editing (show other bugs)
Version: WebKit Local Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks: 116980
  Show dependency treegraph
 
Reported: 2015-11-09 07:40 PST by Renata Hodovan
Modified: 2018-09-20 15:57 PDT (History)
5 users (show)

See Also:


Attachments
Test (195 bytes, text/html)
2015-11-09 07:40 PST, Renata Hodovan
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Renata Hodovan 2015-11-09 07:40:24 PST
Created attachment 265050 [details]
Test

Load the attached test with debug MiniBrowser:

a<div>a</div>
<script>
document.designMode = 'on';
document.execCommand("selectAll", false);
document.execCommand("strikeThrough", true);
document.execCommand("insertText" , true, "a");
</script>


OS: Ubuntu 15.04 x86_64
Checked build: debug EFL
Checked version: 009fb33


Backtrace:

ASSERTION FAILED: !textDecorationsInEffect || !textDecoration
../../Source/WebCore/editing/EditingStyle.cpp(1551) : void WebCore::reconcileTextDecorationProperties(WebCore::MutableStyleProperties*)
1   0x7f5ba7450f97 WTFCrash
2   0x7f5bad6beaf7
3   0x7f5bad6beed6 WebCore::StyleChange::StyleChange(WebCore::EditingStyle*, WebCore::Position const&)
4   0x7f5bae870e7e WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange(WebCore::EditingStyle*, WTF::PassRefPtr<WebCore::Node>, WTF::PassRefPtr<WebCore::Node>)
5   0x7f5bae8704a5 WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle(WebCore::EditingStyle*, WebCore::Position const&, WebCore::Position const&)
6   0x7f5bae86fe0c WebCore::ApplyStyleCommand::applyInlineStyle(WebCore::EditingStyle*)
7   0x7f5bae86c057 WebCore::ApplyStyleCommand::doApply()
8   0x7f5bae87e6c4 WebCore::CompositeEditCommand::applyCommandToComposite(WTF::PassRefPtr<WebCore::EditCommand>)
9   0x7f5bae87e8f9 WebCore::CompositeEditCommand::applyStyle(WebCore::EditingStyle const*, WebCore::EditAction)
10  0x7f5bae8a02ba WebCore::InsertTextCommand::doApply()
11  0x7f5bae87e86b WebCore::CompositeEditCommand::applyCommandToComposite(WTF::PassRefPtr<WebCore::CompositeEditCommand>, WebCore::VisibleSelection const&)
12  0x7f5bad72e9f3 WebCore::TypingCommand::insertTextRunWithoutNewlines(WTF::String const&, bool)
13  0x7f5bad73154a WebCore::TypingCommandLineOperation::operator()(unsigned long, unsigned long, bool) const
14  0x7f5bad731b40 void WebCore::forEachLineInString<WebCore::TypingCommandLineOperation>(WTF::String const&, WebCore::TypingCommandLineOperation const&)
15  0x7f5bad72e91d WebCore::TypingCommand::insertText(WTF::String const&, bool)
16  0x7f5bad72e3ce WebCore::TypingCommand::doApply()
17  0x7f5bae87e3f0 WebCore::CompositeEditCommand::apply()
18  0x7f5bae87e1a1 WebCore::applyCommand(WTF::PassRefPtr<WebCore::CompositeEditCommand>)
19  0x7f5bae8aae59 WebCore::TextInsertionBaseCommand::applyTextInsertionCommand(WebCore::Frame*, WTF::PassRefPtr<WebCore::TextInsertionBaseCommand>, WebCore::VisibleSelection const&, WebCore::VisibleSelection const&)
20  0x7f5bad72d9ac WebCore::TypingCommand::insertText(WebCore::Document&, WTF::String const&, WebCore::VisibleSelection const&, unsigned int, WebCore::TypingCommand::TextCompositionType)
21  0x7f5bad72d66e WebCore::TypingCommand::insertText(WebCore::Document&, WTF::String const&, unsigned int, WebCore::TypingCommand::TextCompositionType)
22  0x7f5bad6e5ccb
23  0x7f5bad6e962a WebCore::Editor::Command::execute(WTF::String const&, WebCore::Event*) const
24  0x7f5bad58f3b5 WebCore::Document::execCommand(WTF::String const&, bool, WTF::String const&)
25  0x7f5baecbd119 WebCore::jsDocumentPrototypeFunctionExecCommand(JSC::ExecState*)
26  0x7f5b47fff0c8
Aborted (core dumped)

Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f5ba7450f9c in WTFCrash () at ../../Source/WTF/wtf/Assertions.cpp:321
321     *(int *)(uintptr_t)0xbbadbeef = 0;
#0  0x00007f5ba7450f9c in WTFCrash () at ../../Source/WTF/wtf/Assertions.cpp:321
#1  0x00007f5bad6beaf7 in WebCore::reconcileTextDecorationProperties (style=0x7f5b8ebeb000) at ../../Source/WebCore/editing/EditingStyle.cpp:1551
#2  0x00007f5bad6beed6 in WebCore::StyleChange::StyleChange (this=0x7ffd00981c80, style=0x7f5b8eb70a38, position=...) at ../../Source/WebCore/editing/EditingStyle.cpp:1585
#3  0x00007f5bae870e7e in WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange (this=0x7f5b8eaafab0, style=0x7f5b8eb70a38, startNode=..., pastEndNode=...) at ../../Source/WebCore/editing/ApplyStyleCommand.cpp:835
#4  0x00007f5bae8704a5 in WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle (this=0x7f5b8eaafab0, style=0x7f5b8eb70a38, start=..., end=...) at ../../Source/WebCore/editing/ApplyStyleCommand.cpp:728
#5  0x00007f5bae86fe0c in WebCore::ApplyStyleCommand::applyInlineStyle (this=0x7f5b8eaafab0, style=0x7f5b8eb70a38) at ../../Source/WebCore/editing/ApplyStyleCommand.cpp:691
#6  0x00007f5bae86c057 in WebCore::ApplyStyleCommand::doApply (this=0x7f5b8eaafab0) at ../../Source/WebCore/editing/ApplyStyleCommand.cpp:211
#7  0x00007f5bae87e6c4 in WebCore::CompositeEditCommand::applyCommandToComposite (this=0x7f5b8ebd30f8, prpCommand=...) at ../../Source/WebCore/editing/CompositeEditCommand.cpp:278
#8  0x00007f5bae87e8f9 in WebCore::CompositeEditCommand::applyStyle (this=0x7f5b8ebd30f8, style=0x7f5b8eb70648, editingAction=WebCore::EditActionChangeAttributes) at ../../Source/WebCore/editing/CompositeEditCommand.cpp:299
#9  0x00007f5bae8a02ba in WebCore::InsertTextCommand::doApply (this=0x7f5b8ebd30f8) at ../../Source/WebCore/editing/InsertTextCommand.cpp:228
#10 0x00007f5bae87e86b in WebCore::CompositeEditCommand::applyCommandToComposite (this=0x7f5b8eaa6000, command=..., selection=...) at ../../Source/WebCore/editing/CompositeEditCommand.cpp:293
#11 0x00007f5bad72e9f3 in WebCore::TypingCommand::insertTextRunWithoutNewlines (this=0x7f5b8eaa6000, text=..., selectInsertedText=false) at ../../Source/WebCore/editing/TypingCommand.cpp:379
#12 0x00007f5bad73154a in WebCore::TypingCommandLineOperation::operator() (this=0x7ffd009823d0, lineOffset=0, lineLength=16, isLastLine=true) at ../../Source/WebCore/editing/TypingCommand.cpp:63
#13 0x00007f5bad731b40 in WebCore::forEachLineInString<WebCore::TypingCommandLineOperation> (string=..., operation=...) at ../../Source/WebCore/editing/TextInsertionBaseCommand.h:61
#14 0x00007f5bad72e91d in WebCore::TypingCommand::insertText (this=0x7f5b8eaa6000, text=..., selectInsertedText=false) at ../../Source/WebCore/editing/TypingCommand.cpp:371
#15 0x00007f5bad72e3ce in WebCore::TypingCommand::doApply (this=0x7f5b8eaa6000) at ../../Source/WebCore/editing/TypingCommand.cpp:281
#16 0x00007f5bae87e3f0 in WebCore::CompositeEditCommand::apply (this=0x7f5b8eaa6000) at ../../Source/WebCore/editing/CompositeEditCommand.cpp:227
#17 0x00007f5bae87e1a1 in WebCore::applyCommand (command=...) at ../../Source/WebCore/editing/CompositeEditCommand.cpp:186
#18 0x00007f5bae8aae59 in WebCore::TextInsertionBaseCommand::applyTextInsertionCommand (frame=0x7f5b8eae4000, command=..., selectionForInsertion=..., endingSelection=...) at ../../Source/WebCore/editing/TextInsertionBaseCommand.cpp:50
#19 0x00007f5bad72d9ac in WebCore::TypingCommand::insertText (document=..., text=..., selectionForInsertion=..., options=0, compositionType=WebCore::TypingCommand::TextCompositionNone) at ../../Source/WebCore/editing/TypingCommand.cpp:190
#20 0x00007f5bad72d66e in WebCore::TypingCommand::insertText (document=..., text=..., options=0, composition=WebCore::TypingCommand::TextCompositionNone) at ../../Source/WebCore/editing/TypingCommand.cpp:160
#21 0x00007f5bad6e5ccb in WebCore::executeInsertText (frame=..., value=...) at ../../Source/WebCore/editing/EditorCommand.cpp:535
#22 0x00007f5bad6e962a in WebCore::Editor::Command::execute (this=0x7ffd009826f0, parameter=..., triggeringEvent=0x0) at ../../Source/WebCore/editing/EditorCommand.cpp:1703
#23 0x00007f5bad58f3b5 in WebCore::Document::execCommand (this=0x7f5b8e826a40, commandName=..., userInterface=true, value=...) at ../../Source/WebCore/dom/Document.cpp:4657
#24 0x00007f5baecbd119 in WebCore::jsDocumentPrototypeFunctionExecCommand (state=0x7ffd009827c0) at DerivedSources/WebCore/JSDocument.cpp:5066
#25 0x00007f5b47fff0c8 in ?? ()
#26 0x00007ffd00982840 in ?? ()
#27 0x00007f5ba73f9764 in llint_entry () from webkit/WebKitBuild/Debug/lib/libjavascriptcore_efl.so.1
Comment 1 Brent Fulgham 2016-08-04 17:34:22 PDT
This reproduces under r204037.
Comment 2 Radar WebKit Bug Importer 2016-08-04 17:35:12 PDT
<rdar://problem/27711029>
Comment 3 Brent Fulgham 2018-09-20 15:57:26 PDT
This no longer crashes under ToT WebKit.