Closed Bug 459883 Opened 11 years ago Closed 11 years ago

Crash [@ nsSVGFilterProperty::GetFilterFrame] with filter, MathML

Categories

(Core :: Layout, defect, critical)

defect
Not set
critical

Tracking

()

VERIFIED FIXED
mozilla1.9.1b3

People

(Reporter: jruderman, Assigned: longsonr)

References

(Blocks 2 open bugs)

Details

(4 keywords, Whiteboard: [sg:critical])

Crash Data

Attachments

(3 files, 1 obsolete file)

Attached file testcase
Loading the testcase triggers three assertions and a scary crash.

###!!! ASSERTION: frame was not removed from primary frame map before destruction or was readded to map after being removed: 'Not Reached', file /Users/jruderman/central/layout/base/nsFrameManager.cpp, line 720

###!!! ASSERTION: GetPrimaryFrameFor() called while frames are being destroyed!: '!mIsDestroyingFrames', file /Users/jruderman/central/layout/base/nsFrameManager.cpp, line 328

###!!! ASSERTION: Cached frame is incorrect!: 'mElement.get() && static_cast<nsGenericElement*>(mElement.get())->GetPrimaryFrame() == mReferencedFrame', file /Users/jruderman/central/layout/svg/base/src/nsSVGEffects.cpp, line 78

Crash with nsSVGFilterProperty::GetFilterFrame calling 0xdddddddd.
Flags: blocking1.9.1?
Whiteboard: [sg:critical]
Probably the same issue as bug 458493 and bug 455314.
See bug 455314 comment 9 for analysis.
Attached patch patchSplinter Review
Assignee: nobody → longsonr
Attachment #344482 - Flags: superreview?(roc)
Attachment #344482 - Flags: review?(roc)
This patch does not fix bug 455314 nor does it fix bug 454945 perhaps the patch in bug 458453 would fix those.
I'll do s/Ensure that the filter's is/Ensure that the filter is/ on check in.
Comment on attachment 344482 [details] [diff] [review]
patch

+  // Ensure that the filter's is repainted correctly

s/filters's/filter/
Attachment #344482 - Flags: superreview?(roc)
Attachment #344482 - Flags: superreview+
Attachment #344482 - Flags: review?(roc)
Attachment #344482 - Flags: review+
Checked in http://hg.mozilla.org/mozilla-central/rev/678883a079ba
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Blocks: 458453
Flags: blocking1.9.1? → blocking1.9.1+
Depends on: 473273
Robert, how can I verify this fix? I cannot get crashed an older build with the attached testcase on OS X nor Windows.
Flags: in-testsuite?
Target Milestone: --- → mozilla1.9.1b3
It certainly used to crash for me without this fix on Windows.
Ok, I was able to crash Firefox with a debug build without this patch. The crashes don't happen anymore with builds after the patch went in.

Jesse, the assertions still happen. Shall we handle those in a separate bug?
Status: RESOLVED → VERIFIED
OS: Mac OS X → All
Hardware: x86 → All
I only see these assertions now:

###!!! ASSERTION: GetPrimaryFrameFor() called while frames are being destroyed!: '!mIsDestroyingFrames', file /Users/jruderman/central/layout/base/nsFrameManager.cpp, line 336

###!!! ASSERTION: frame was not removed from primary frame map before destruction or was readded to map after being removed: 'Not Reached', file /Users/jruderman/central/layout/base/nsFrameManager.cpp, line 734

The first could be bug 459666, but the second one is only covered by -moz-column bugs.  I don't think it's worth filing a new bug now, especially since it would have to be security-sensitive.  I'll retest when bug 459666 is fixed.
Attached file Stack of assertion GetPrimaryFrameFor (obsolete) —
Jesse, the stack looks completely different from the one on bug 459666. See the attachment. Are you sure that I should not file a new bug on that?
You have to run tools/rb/fix-macosx-stack.pl to turn the XPCOM_DEBUG_BREAK=trap output into a useful stack trace.  (I don't know why XPCOM_DEBUG_BREAK bothers trying to print functions names at all, given how wrong they are.)
Attachment #361218 - Attachment is obsolete: true
But you're right, the stacks do look different.  I filed bug 477569.
Crash Signature: [@ nsSVGFilterProperty::GetFilterFrame]
Group: core-security
Landed the crashtest:
https://hg.mozilla.org/integration/mozilla-inbound/rev/cc86e0fcb91b
Flags: in-testsuite? → in-testsuite+
You need to log in before you can comment on or make changes to this bug.