Closed
Bug 1281991
Opened 8 years ago
Closed 8 years ago
Clean up WebGLSync objects before WebGL context lost
Categories
(Core :: Graphics: CanvasWebGL, defect)
Core
Graphics: CanvasWebGL
Tracking
()
RESOLVED
FIXED
mozilla50
Tracking | Status | |
---|---|---|
firefox50 | --- | fixed |
People
(Reporter: pchang, Assigned: pchang)
References
Details
Attachments
(1 file)
Call stack from [1]
02:59:22 INFO - Crash reason: EXCEPTION_BREAKPOINT
02:59:22 INFO - Crash address: 0x5f38ff18
02:59:22 INFO - Process uptime: 238 seconds
02:59:22 INFO - Thread 0 (crashed)
02:59:22 INFO - 0 xul.dll!mozilla::LinkedListElement<mozilla::WebGLSync>::remove() [LinkedList.h:e033cdd691ea : 206 + 0x2b]
02:59:22 INFO - eip = 0x5f38ff18 esp = 0x001ff5d8 ebp = 0x001ff5f4 ebx = 0x001ff634
02:59:22 INFO - esi = 0x000000ce edi = 0x15e86800 eax = 0x612bffb0 ecx = 0x6902705d
02:59:22 INFO - edx = 0x771470b4 efl = 0x00200206
02:59:22 INFO - Found by: given as instruction pointer in context
02:59:22 INFO - 1 xul.dll!mozilla::WebGLRefCountedObject<mozilla::WebGLSync>::DeleteOnce() [WebGLObjectModel.h:e033cdd691ea : 142 + 0x8]
02:59:22 INFO - eip = 0x5f3333ab esp = 0x001ff5e0 ebp = 0x001ff5f4
02:59:22 INFO - Found by: call frame info
02:59:22 INFO - 2 xul.dll!mozilla::WebGLSync::~WebGLSync() [WebGLSync.cpp:e033cdd691ea : 22 + 0xe]
02:59:22 INFO - eip = 0x5f381530 esp = 0x001ff5e8 ebp = 0x001ff5f4
02:59:22 INFO - Found by: call frame info
02:59:22 INFO - 3 xul.dll!mozilla::WebGLSync::cycleCollection::DeleteCycleCollectable(void *) [WebGLSync.h:e033cdd691ea : 32 + 0x11]
02:59:22 INFO - eip = 0x5f3848a6 esp = 0x001ff5f4 ebp = 0x001ff5f4
02:59:22 INFO - Found by: call frame info
02:59:22 INFO - 4 xul.dll!SnowWhiteKiller::~SnowWhiteKiller() [nsCycleCollector.cpp:e033cdd691ea : 2685 + 0xb]
02:59:22 INFO - eip = 0x5dc7645f esp = 0x001ff5fc ebp = 0x001ff618
02:59:22 INFO - Found by: call frame info
02:59:22 INFO - 5 xul.dll!nsCycleCollector::FreeSnowWhite(bool) [nsCycleCollector.cpp:e033cdd691ea : 2859 + 0xa]
02:59:22 INFO - eip = 0x5dc7c897 esp = 0x001ff620 ebp = 0x001ff64c
02:59:22 INFO - Found by: call frame info
02:59:22 INFO - 6 xul.dll!nsCycleCollector_doDeferredDeletion() [nsCycleCollector.cpp:e033cdd691ea : 4137 + 0xf]
02:59:22 INFO - eip = 0x5dc87208 esp = 0x001ff654 ebp = 0x001ff6b0
02:59:22 INFO - Found by: call frame info
02:59:22 INFO - 7 xul.dll!AsyncFreeSnowWhite::Run() [XPCJSRuntime.cpp:e033cdd691ea : 142 + 0x5]
02:59:22 INFO - eip = 0x5e4e7729 esp = 0x001ff660 ebp = 0x001ff6b0
02:59:22 INFO - Found by: call frame info
[1]http://archive.mozilla.org/pub/firefox/try-builds/pchang@mozilla.com-e033cdd691eaf0bfb5edde67ddf771dd6461db81/try-win32-debug/try_win7_ix-debug_test-mochitest-gl-bm119-tests1-windows-build300.txt.gz
Assignee | ||
Comment 1•8 years ago
|
||
Review commit: https://reviewboard.mozilla.org/r/60494/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/60494/
Attachment #8764808 -
Flags: review?(jgilbert)
Assignee | ||
Updated•8 years ago
|
Assignee: nobody → howareyou322
Blocks: webgl-104-ci
Comment 2•8 years ago
|
||
Comment on attachment 8764808 [details]
Bug 1281991 - Clean up WebGLSync objects before WebGL context lost,
https://reviewboard.mozilla.org/r/60494/#review57752
::: dom/canvas/WebGLSync.cpp:32
(Diff revision 1)
> WebGLSync::Delete()
> {
> mContext->MakeContextCurrent();
> mContext->gl->fDeleteSync(mGLName);
> mGLName = 0;
> - LinkedListElement<WebGLSync>::remove();
> + LinkedListElement<WebGLSync>::removeFrom(mContext->mSyncs);
Just `remove()` is fine.
Attachment #8764808 -
Flags: review?(jgilbert) → review+
Assignee | ||
Comment 3•8 years ago
|
||
https://reviewboard.mozilla.org/r/60494/#review57774
::: dom/canvas/WebGLSync.cpp:32
(Diff revision 1)
> WebGLSync::Delete()
> {
> mContext->MakeContextCurrent();
> mContext->gl->fDeleteSync(mGLName);
> mGLName = 0;
> - LinkedListElement<WebGLSync>::remove();
> + LinkedListElement<WebGLSync>::removeFrom(mContext->mSyncs);
Agree but calling with "mContent->mSyncs" consistents with the "insertBack" call in constructor.
Pushed by pchang@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/5fad1dc89df8
Clean up WebGLSync objects before WebGL context lost, r=jgilbert
Comment 5•8 years ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla50
You need to log in
before you can comment on or make changes to this bug.
Description
•