Closed Bug 556453 Opened 14 years ago Closed 14 years ago

[CAContextInvalidLayer: layer <CALayer: 0x19ac0470> is already attached to a context]

Categories

(Core Graveyard :: Plug-ins, defect)

x86
macOS
defect
Not set
major

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: MattN, Assigned: BenWa)

References

()

Details

Attachments

(2 files)

Build Identifier: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-CA; rv:1.9.3a4pre) Gecko/20100331 Minefield/3.7a4pre

Running on a new profile (created a few days ago) the entire browser window became solid white leaving only the Mac window controls (the top bar with close, minimize, zoom, etc).  I had only one tab open to http://www.grooveshark.com which contains primarily flash.  I tried many things to get the browser contents displaying again but was not able to.  All the dialogs that I could open from the menu bar also displayed as white.  Resizing the main browser window caused it to change to black (see screenshot).

The error displayed in my terminal window was:

2010-03-31 21:34:56.237 firefox-bin[1045:903] Mozilla has caught an Obj-C exception [CAContextInvalidLayer: layer <CALayer: 0x19ac0470> is already attached to a context]
Component: Layout → Plug-ins
QA Contact: layout → plugins
Blocks: 497225
The error means that the layer is attached to two CARenderer at the same time. I'm just not sure how that is happening. 

I tried reproducing the problem several times but did not get any unexpected behavior. Can you reproduce it consistently?
I was able to find steps to reproduce the problem consistently (on a new profile):

1) Load http://listen.grooveshark.com
2) Go into fullscreen mode (shortcut key or toolbar button)

Result: The exception will display in the terminal and the browser will become mostly unusable (see original screenshot).

Build Identifier: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-CA; rv:1.9.3a4pre) Gecko/20100403 Minefield/3.7a4pre
Thanks, I was able to reproduce the issue. The issue does not happen with Core Animation out of process. The resize code is different for in/out of process so perhaps the full screen code is triggering a resize case I did not account for.
Assignee: nobody → bgirard
Status: NEW → ASSIGNED
It appears that the CALayer did not get removed from the CARenderer right away when the CARenderer is released (During a fullscreen resize)? Explicitly removing it fixes the problem.
Attachment #436962 - Flags: review?(joshmoz)
Attachment #436962 - Flags: review?(joshmoz) → review+
pushed to mozilla-central

http://hg.mozilla.org/mozilla-central/rev/c4df407008b5
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Verified fixed on Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.3a4pre) Gecko/20100405 Minefield/3.7a4pre
Status: RESOLVED → VERIFIED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: