Closed
Bug 1311841
Opened 8 years ago
Closed 8 years ago
mozilla::image::ProgressTracker::SyncNotifyProgress called during InterruptCallback
Categories
(Core :: Graphics: ImageLib, defect, P3)
Core
Graphics: ImageLib
Tracking
()
RESOLVED
FIXED
mozilla53
Tracking | Status | |
---|---|---|
firefox51 | --- | unaffected |
firefox52 | --- | wontfix |
firefox53 | --- | fixed |
People
(Reporter: mccr8, Assigned: tnikkel)
References
Details
(Keywords: crash, Whiteboard: [gfx-noted])
Crash Data
It looks like painting can decoding to finish, which ends up calling RasterImage::NotifyProgress(), which calls ProgressTracker::SyncNotifyProgress(), and the imgINotificationObserver can be implemented in JS. I'm not sure why the notification here is sync instead of async.
bp-daeb3af0-dbfe-44b8-9d64-b2ce72161018
bp-69b0b959-89eb-43dc-ba2e-c38462161020
bp-aa3f3c70-9324-409b-84ab-dce692161015
Comment 1•8 years ago
|
||
Hmm, imgINotificationObserver is marked as builtinclass... Does that not mean that it can't be implemented in JS?
Assignee | ||
Comment 2•8 years ago
|
||
But there is imgITools::createScriptedObserver and ScriptedNotificationObserver which are used to wrap imgINotificationObserver and let js observe these notifications. Looks like in tree we only use that in tests, but there are a few addons that seems to use it. If we could make this a testing builds only feature that would be good, but I don't know if we can because of addons.
Unless I'm missing something obvious, it was be a good idea to make these notifications during painting async even before this bug came about. I wrote patches for that and they seem to be green on try
https://treeherder.mozilla.org/#/jobs?repo=try&revision=dc0dd792d809d43a6df6f825451ba21a7f2089ff
Updated•8 years ago
|
Whiteboard: [gfx-noted]
Updated•8 years ago
|
Priority: -- → P3
Assignee | ||
Comment 3•8 years ago
|
||
Jeff, any reason you can think of why we would need sync notifications during painting?
Flags: needinfo?(jmuizelaar)
Reporter | ||
Updated•8 years ago
|
Crash Signature: [@ JS::Heap<T>::operator JSObject* const& ] [@ nsXPCWrappedJS::GetJSObject ] → [@ JS::Heap<T>::operator JSObject* const& ] [@ nsXPCWrappedJS::GetJSObject ] [@ nsImageLoadingContent::Notify]
![]() |
||
Comment 6•8 years ago
|
||
This is the #11 topcrash in Aurora 20161216101750.
status-firefox52:
--- → affected
status-firefox53:
--- → affected
![]() |
||
Comment 7•8 years ago
|
||
This is the #2 topcrash in Nightly 20161219030207.
tnikkel, any ideas on who should investigate/fix this?
Flags: needinfo?(tnikkel)
Assignee | ||
Comment 8•8 years ago
|
||
I wrote the necessary patches as described in bug 1317562 today, just waiting on try before requesting review.
Flags: needinfo?(tnikkel)
![]() |
||
Comment 9•8 years ago
|
||
Excellent! Thank you.
Reporter | ||
Comment 10•8 years ago
|
||
If I understand correctly, bug 1324642 should also change the signature (again) to ScriptedNotificationObserver::Notify, and hopefully be less frequent.
Crash Signature: [@ JS::Heap<T>::operator JSObject* const& ] [@ nsXPCWrappedJS::GetJSObject ] [@ nsImageLoadingContent::Notify] → [@ JS::Heap<T>::operator JSObject* const& ] [@ nsXPCWrappedJS::GetJSObject ] [@ nsImageLoadingContent::Notify][@ ScriptedNotificationObserver::Notify]
Assignee | ||
Comment 11•8 years ago
|
||
All blocking bugs resolved, this should be fixed now.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Comment 12•8 years ago
|
||
Are we going to be able to backport said fixes to 52 as well?
Assignee: nobody → tnikkel
status-firefox51:
--- → unaffected
Flags: needinfo?(tnikkel)
Keywords: crash
Target Milestone: --- → mozilla53
Assignee | ||
Comment 13•8 years ago
|
||
Had to backout bug 1317562 for a talos regression. The fix is not looking quick and easy. Might be best to come up with a different plan than uplift for 52.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Updated•8 years ago
|
Assignee | ||
Comment 14•8 years ago
|
||
I don't think we need to uplift these fixes.
Flags: needinfo?(tnikkel)
Assignee | ||
Updated•8 years ago
|
Status: REOPENED → RESOLVED
Closed: 8 years ago → 8 years ago
Resolution: --- → FIXED
Updated•8 years ago
|
You need to log in
before you can comment on or make changes to this bug.
Description
•