Closed Bug 281424 Opened 20 years ago Closed 20 years ago

[FIX]Crash in nsIView::GetOffsetTo [@ nsIView::GetOffsetTo 3412f9d4]

Categories

(Core :: Web Painting, defect, P1)

defect

Tracking

()

RESOLVED FIXED
mozilla1.8beta1

People

(Reporter: alex, Assigned: bzbarsky)

References

Details

(Keywords: crashreportid, regression, topcrash)

Crash Data

Attachments

(5 files)

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8b) Gecko/20050207 Firefox/1.0+ Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8b) Gecko/20050207 Firefox/1.0+ In the FoxyTunes extension (http://www.foxytunes.org) there is a button (the button with a musical note) which when hovered over displays a popup. In the latest Firefox nightlies this causes a crash. The crash can be easily reproduced if you hover over the button several times. Reproducible: Always Steps to Reproduce: 1. Install FoxyTunes 1.1 from http://www.foxytunes.org 2. Hover over the 'info' button for a few times Actual Results: Browser crash
Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: talkbackid, topcrash
Summary: Firefox crashes when trying to display a popup element → Crash in nsIView::GetOffsetTo (stack signature nsIView::GetOffsetTo 3412f9d4)
Created a minimal (anything less doesn't cause a crash for me) test case. 1. Install the testcase.xpi extension 2. A button with a question mark will appear on the status bar 3. Hover over this button to get the crash The things that cause the crash (removing one of them causes the crash to stop happening): 1. A button that has an onmouseover handler 2. This handler calls showPopup on some popup element 3. This popup element has a onpopupshowing handler 4. In that handler get the "directory_service" service 5. On top of that the button has the following CSS style: - by default it has opacity of 0.99 - on hover it has opacity of 1 It is of course possible that many additional scenarios will lead to the same crash.
Assignee: jag → roc
Component: XP Toolkit/Widgets → Layout: View Rendering
QA Contact: jrgmorrison → ian
Summary: Crash in nsIView::GetOffsetTo (stack signature nsIView::GetOffsetTo 3412f9d4) → Crash in nsIView::GetOffsetTo [@ nsIView::GetOffsetTo 3412f9d4]
Does it have to be an extension? Or will a file:// XUL page (which requests UniversalXPConnect privileges so it can get the service) reproduce it too? A XUL page version of the testcase would make it a lot easier to debug this...
Flags: blocking1.8b2?
There is also another (easier way IMHO) to reproduce this, also it doesn't crash all the time: 1. Open http://www.heise.de/newsticker/meldung/56281 (or another page with a link, i used this) 2. Click on the link "Novell" in the article (first line) 3. When the new window appears, the site begins to load (Transfering from ....) and the progress bar already appeared, press ESC to cancel the page load.
Keywords: regression
Make that 2005- :)
Possible fallout from Bug 268352, that checkin looks suspicious to me?
(In reply to comment #3) > Does it have to be an extension? Or will a file:// XUL page (which requests > UniversalXPConnect privileges so it can get the service) reproduce it too? A > XUL page version of the testcase would make it a lot easier to debug this... I have only been able to reproducte this in an overlay. Why would a XUL page make it easier to debug than an extension (maybe I can provide a better test case)?
Component: Layout: View Rendering → XP Toolkit/Widgets
Because I'm not willing to install extensions.
Attached file Testcase
This testcase is derived from the "minimal test case extension" It crashes for me when I hover over the "?"
It doesn't crash for me with the build where I've backed out the first patch from bug 268352 ("Fix coordinate systems").
Blocks: 281330
Attached patch FixSplinter Review
The problem is that event dispatch can destroy aView, so we can't use it after we've called HandleDOMEvent, say... Note that I'm assuming that GetCurrentEventFrame() will return null any time after the presshell is destroyed, so we won't hit the code where we adjust the offset when there is no viewmanager.
Attachment #174063 - Flags: superreview?(roc)
Attachment #174063 - Flags: review?(roc)
Assignee: roc → bzbarsky
Component: XP Toolkit/Widgets → Layout: View Rendering
Priority: -- → P1
Summary: Crash in nsIView::GetOffsetTo [@ nsIView::GetOffsetTo 3412f9d4] → [FIX]Crash in nsIView::GetOffsetTo [@ nsIView::GetOffsetTo 3412f9d4]
Target Milestone: --- → mozilla1.8beta1
Nominating for 1.8b1 blocking, since this is pretty easy to trigger and we have a fix in hand....
Flags: blocking1.8b2? → blocking1.8b?
OS: Windows XP → All
Hardware: PC → All
*** Bug 281891 has been marked as a duplicate of this bug. ***
Attachment #174063 - Flags: superreview?(roc)
Attachment #174063 - Flags: superreview+
Attachment #174063 - Flags: review?(roc)
Attachment #174063 - Flags: review+
Comment on attachment 174063 [details] [diff] [review] Fix I think we should take this for beta... It's a pretty safe crash fix for what may turn out to be a common crash that's a recent regression...
Attachment #174063 - Flags: approval1.8b?
Comment on attachment 174063 [details] [diff] [review] Fix a=asa for 1.8b checkin
Attachment #174063 - Flags: approval1.8b? → approval1.8b+
Checked in for 1.8b1.
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8b) Gecko/20050214 Firefox/1.0+ confirming FIXED using latest beast with patch
Flags: blocking1.8b? → blocking1.8b+
Crash Signature: [@ nsIView::GetOffsetTo 3412f9d4]
Component: Layout: View Rendering → Layout: Web Painting
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: