Closed Bug 431770 Opened 12 years ago Closed 11 years ago

[FIX]###!!! ASSERTION: Should be in an update while creating frames: 'mUpdateCount != 0'

Categories

(Core :: General, defect)

x86
macOS
defect
Not set

Tracking

()

RESOLVED FIXED
mozilla1.9.1a1

People

(Reporter: cbook, Assigned: bzbarsky)

References

()

Details

(Keywords: assertion)

Attachments

(3 files)

Attached file stack
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9pre) Gecko/2008050123 Firefox/3.0pre

-> 3 tabs open, focus is on apple.com
-> Open the Add-on Manager -> Plugins
-> Disable the Shockwave Flash Plugin
--> Assertion

###!!! ASSERTION: Should be in an update while creating frames: 'mUpdateCount != 0', file /debug/mozilla/layout/base/nsCSSFrameConstructor.cpp, line 6777
This worksforme with the steps from comment 0, for what it's worth.

I have no idea how that stack was generated, but it has nothing to do with reality...  Those functions simply do not call each other.
> I have no idea how that stack was generated, but it has nothing to do with
> reality...  Those functions simply do not call each other.
> 

yeah i think i need here fix-macosx-stack.pl too :)
(In reply to comment #1)
> This worksforme with the steps from comment 0, for what it's worth.

Yeah seems a better way to reproduce is to load http://www.spiegel.de
when you disable then the plugin, you get lots of this assertion
That worksforme too.  Perhaps this is a regression; my tree is as of Apr 28.  I'll try pulling an updated one, I guess..
I assume you either don't have any extensions or hit this in safe mode?
Attached file new complete Stack
Hi BZ, i attached a new (better) stack from my new Win XP Debug Build.

This Assertion happen also with a new Profile (no Extensions) and latest Flash Plugin. A maybe better way to reproduce (it could be that the spiegel.de site is different when you surf to this site with a nnon-german IP):

Go to www.adobe.com (just the Frontpage with the Flash Content) -> Disable the Flash Plugin in the Extension Manager -> Assertion

Running the Debug Build with export XPCOM_DEBUG_BREAK=stack caused btw a kind of hang because i got into a kind of Assertion loop :)
Yeah, that makes a lot of sense!  PresShell::ReconstructFrames should be doing an update batch in the frame constructor, I think.
Attached patch Like soSplinter Review
Assignee: nobody → bzbarsky
Status: NEW → ASSIGNED
Attachment #321551 - Flags: superreview?(dbaron)
Attachment #321551 - Flags: review?(dbaron)
Summary: ###!!! ASSERTION: Should be in an update while creating frames: 'mUpdateCount != 0' → [FIX]###!!! ASSERTION: Should be in an update while creating frames: 'mUpdateCount != 0'
(In reply to comment #8)
> Created an attachment (id=321551) [details]
> Like so
> 

this patch fix the problem in my debug build :) 
Comment on attachment 321551 [details] [diff] [review]
Like so

r+sr=dbaron, but there goes my promise to make people write exception-safe code since everybody seems to think we should use C++ exceptions...
Attachment #321551 - Flags: superreview?(dbaron)
Attachment #321551 - Flags: superreview+
Attachment #321551 - Flags: review?(dbaron)
Attachment #321551 - Flags: review+
We could set up a helper class for that, sure.
Fixed.
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla1.9.1a1
You need to log in before you can comment on or make changes to this bug.