Closed Bug 1313770 Opened 8 years ago Closed 8 years ago

Fix missing checks for IPDL failures in layer transactions

Categories

(Core :: Graphics: Layers, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla52
Tracking Status
firefox52 --- fixed

People

(Reporter: dvander, Assigned: dvander)

References

(Blocks 1 open bug)

Details

Attachments

(5 files)

Ryan had an idea to put a self-destruct timer in the GPU process for testing, and this exposed a lot of latent bugs in layers. There are a bunch of places where IPDL can return false and these checks aren't handled properly.
Closes a can of worms. AddMutant was asserting that the transaction wasn't open.
Attachment #8805682 - Flags: review?(matt.woodrow)
This one is a little subtle: IPDL doesn't know about refcounts (yet), and a failed constructor always registers the actor. The addref has to move up before the Send+error check to make sure the refcount is balanced.

(This pattern is error-prone, but not worth fixing in IPDL just yet...)
Attachment #8805688 - Flags: review?(matt.woodrow)
Attachment #8805682 - Flags: review?(matt.woodrow) → review+
Attachment #8805686 - Flags: review?(matt.woodrow) → review+
Attachment #8805688 - Flags: review?(matt.woodrow) → review+
Attachment #8805689 - Flags: review?(matt.woodrow) → review+
Attachment #8805690 - Flags: review?(matt.woodrow) → review+
Pushed by danderson@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/c9a887ab3ba6
Do not paint if a BeginTransaction fails. (bug 1313770 part 1, r=mattwoodrow)
https://hg.mozilla.org/integration/mozilla-inbound/rev/8c31adc3869b
Make CreateImageClient fallible. (bug 1313770 part 2, r=mattwoodrow)
https://hg.mozilla.org/integration/mozilla-inbound/rev/a8e078e03894
Handle failed SendPImageContainerConstructor. (bug 1313770 part 3, r=mattwoodrow)
https://hg.mozilla.org/integration/mozilla-inbound/rev/d2f30ab32ece
Handle failed SendPCompositable. (bug 1313770 part 4, r=mattwoodrow)
https://hg.mozilla.org/integration/mozilla-inbound/rev/b555a8f33edb
Handle failed SendPTexture. (bug 1313770 part 5, r=mattwoodrow)
You need to log in before you can comment on or make changes to this bug.