Closed
Bug 1411345
Opened 7 years ago
Closed 7 years ago
stack-overflow in [@ mozilla::HTMLEditRules::WillDeleteSelection]
Categories
(Core :: DOM: Editor, defect)
Tracking
()
RESOLVED
FIXED
mozilla58
Tracking | Status | |
---|---|---|
firefox-esr52 | --- | unaffected |
firefox56 | --- | wontfix |
firefox57 | --- | wontfix |
firefox58 | --- | fixed |
People
(Reporter: tsmith, Assigned: masayuki)
References
(Blocks 1 open bug)
Details
(Keywords: crash, testcase)
Attachments
(2 files)
The stack is this frame repeated... mozilla::HTMLEditRules::WillDeleteSelection(mozilla::dom::Selection*, short, short, bool*, bool*) /builds/worker/workspace/build/src/editor/libeditor/HTMLEditRules.cpp:2321:16
Flags: in-testsuite?
Comment 1•7 years ago
|
||
INFO: Last good revision: f5c43a9f8510ad50cf45248fe306707aa059b991 INFO: First bad revision: e05f84ea2a338e172a55a0898e3551fff61abb0a INFO: Pushlog: https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=f5c43a9f8510ad50cf45248fe306707aa059b991&tochange=e05f84ea2a338e172a55a0898e3551fff61abb0a
Blocks: 1355792
Has Regression Range: --- → yes
status-firefox56:
--- → wontfix
status-firefox57:
--- → affected
status-firefox-esr52:
--- → unaffected
Flags: needinfo?(masayuki)
Version: Trunk → 55 Branch
Assignee | ||
Comment 2•7 years ago
|
||
Stack trace is here: https://crash-stats.mozilla.com/report/index/cf0039f8-c5c4-4359-95f9-6e1bb0171027
Assignee | ||
Comment 3•7 years ago
|
||
TryToJoinBlocks() doesn't return the result of MoveBlock(): https://searchfox.org/mozilla-central/rev/40e8eb46609dcb8780764774ec550afff1eed3a5/editor/libeditor/HTMLEditRules.cpp#2841-2846,2851 Then, WillDeleteSelection() believes that it does nothing. Then, it retries to delete selection again with recursive call and this causes the infinite loop.
Assignee: nobody → masayuki
Status: NEW → ASSIGNED
Flags: needinfo?(masayuki)
Assignee | ||
Comment 4•7 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=c851b782b280ded12cd1e82dc2c3d32472c5b1b3
Assignee | ||
Comment 5•7 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=779d7eae64b6177bdd5813f0c3907c957077c926
Assignee | ||
Comment 6•7 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=5d3db39a5d41a21d88c50dfbe78d8b831d467499
Assignee | ||
Comment 7•7 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=29348dc5034481422c04f4bbfb03b02b738e91fe
Assignee | ||
Comment 8•7 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=da7743359325e5bebbf0281f62a335ca4c1d8054
Assignee | ||
Comment 9•7 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=6f33cdab67a49d51ecf1c44004e42e5cbdfeeecc
Comment hidden (mozreview-request) |
Assignee | ||
Comment 11•7 years ago
|
||
Although, the patch does NOT fix direct cause of the crash. I.e., not fixing the recursive call. However, such unexpected recursive calls are a bug of other methods which WillDeleteSelection() doesn't check the result strictly. So, this fix must be okay for now. (The root cause of this bug is, SplitNodeDeep() splits editing host whose style is inline unexpectedly. Then, another editing host cannot be joined to expected node since they are in different editing host.)
Comment 12•7 years ago
|
||
mozreview-review |
Comment on attachment 8923875 [details] Bug 1411345 - HTMLEditRules::GetHighestInlineParent() shouldn't return editing host even when it's the highest inline parent of aNode https://reviewboard.mozilla.org/r/195008/#review200350
Attachment #8923875 -
Flags: review?(m_kato) → review+
Comment 13•7 years ago
|
||
Pushed by masayuki@d-toybox.com: https://hg.mozilla.org/integration/autoland/rev/dd95e6f8c0b6 HTMLEditRules::GetHighestInlineParent() shouldn't return editing host even when it's the highest inline parent of aNode r=m_kato
Comment 14•7 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/dd95e6f8c0b6
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla58
Updated•7 years ago
|
Flags: in-testsuite? → in-testsuite+
You need to log in
before you can comment on or make changes to this bug.
Description
•