Fix GLXBadDrawable abort during running reftest on linux

RESOLVED FIXED in mozilla54

Status

()

Core
Graphics: WebRender
RESOLVED FIXED
2 years ago
a year ago

People

(Reporter: sotaro, Assigned: sotaro)

Tracking

(Blocks: 1 bug)

unspecified
mozilla54
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments)

(Assignee)

Description

2 years ago
When I run restest with "./mach restet", it caused GLXBadDrawable abort.
(Assignee)

Updated

2 years ago
Blocks: 1311790
(Assignee)

Updated

2 years ago
Assignee: nobody → sotaro.ikeda.g
(Assignee)

Comment 1

2 years ago
The bug is similar to Bug 1263515. X_GLXMakeCurrent was called after widget destruction.
(Assignee)

Comment 2

2 years ago
Created attachment 8813009 [details]
crash_stack
(Assignee)

Comment 3

2 years ago
Created attachment 8813012 [details] [diff] [review]
patch - Add WebRenderBridgeParent::ClearResources()

By clean up GLContext before Widget destruction, the abort was addressed.
(Assignee)

Updated

2 years ago
Attachment #8813012 - Flags: review?(bugmail)
(Assignee)

Updated

2 years ago
Blocks: 1318113
Attachment #8813012 - Flags: review?(bugmail) → review+
Next time please make sure the patch has a commit message and author information. I could have landed this for you.
(Assignee)

Comment 5

2 years ago
(In reply to Kartikaya Gupta away[Nov24,Dec5) (email:kats@mozilla.com) from comment #4)
> Next time please make sure the patch has a commit message and author
> information. I could have landed this for you.

Thanks. I am going to add them next time.

Comment 6

2 years ago
Pushed by sikeda@mozilla.com:
https://hg.mozilla.org/projects/graphics/rev/39388a579208
Add WebRenderBridgeParent::ClearResources() r=kats
Status: NEW → RESOLVED
Last Resolved: 2 years ago
Resolution: --- → FIXED
So actually it's not clear to me now why this is supposed to fix the problem. ActorDestroy should be getting called *after* RecvDestroy, so if RecvDestroy is "too late" (i.e. after widget destruction) then cleaning up in ActorDestroy won't do any good because it will be even later.

In my latest try push I'm still seeing a crash with this same stack [1].

[1] https://treeherder.mozilla.org/logviewer.html#?job_id=31677637&repo=try#L1612
I think it might just be that WebRenderLayerManager is calling WRBridge()->SendDestroy() too late. I'll file a new bug for it.
(Assignee)

Comment 9

a year ago
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #7)
> So actually it's not clear to me now why this is supposed to fix the
> problem. ActorDestroy should be getting called *after* RecvDestroy, so if
> RecvDestroy is "too late" (i.e. after widget destruction) then cleaning up
> in ActorDestroy won't do any good because it will be even later.
> 
> In my latest try push I'm still seeing a crash with this same stack [1].
> 

Bug 1320277 handled delayed message problem.
Target Milestone: --- → mozilla54
You need to log in before you can comment on or make changes to this bug.