Closed Bug 1029504 Opened 10 years ago Closed 10 years ago

WebGL assertion failure: "observerService" [@ mozilla::WebGLObserver::UnregisterMemoryPressureEvent()]

Categories

(Core :: Graphics: CanvasWebGL, defect)

Other Branch
x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla33
Tracking Status
firefox33 --- fixed
b2g-v2.0 --- fixed
b2g-v2.0M --- fixed
b2g-v2.1 --- fixed

People

(Reporter: bjacob, Assigned: bjacob)

References

Details

Attachments

(1 file)

Currently seen intermittently on linux x86-64 mochitest-2 https://tbpl.mozilla.org/?tree=Mozilla-Inbound&rev=5a8e5ad43d90 Brief log: https://tbpl.mozilla.org/php/getParsedLog.php?id=42351778&tree=Mozilla-Inbound#error3 05:33:13 INFO - Assertion failure: observerService, at /builds/slave/m-in-l64-d-0000000000000000000/build/content/canvas/src/WebGLContext.cpp:158 05:33:21 INFO - Crash reason: SIGSEGV 05:33:21 INFO - Crash address: 0x0 05:33:21 INFO - Thread 0 (crashed) 05:33:21 INFO - 0 libxul.so!mozilla::WebGLObserver::UnregisterMemoryPressureEvent() [WebGLContext.cpp:5a8e5ad43d90 : 158 + 0x1f] 05:33:21 INFO - rbx = 0x00007f28a49032e0 r12 = 0x00007f289ca10f90 05:33:21 INFO - r13 = 0x0000000000074f9c r14 = 0x0000000000000000 05:33:21 INFO - r15 = 0x00007f27bd7ff000 rip = 0x00007f28f46fe837 05:33:21 INFO - rsp = 0x00007ffff2a372f0 rbp = 0x00007ffff2a37310 05:33:21 INFO - Found by: given as instruction pointer in context 05:33:21 INFO - 1 libxul.so!mozilla::WebGLObserver::Destroy() [WebGLContext.cpp:5a8e5ad43d90 : 87 + 0x4] 05:33:21 INFO - rbx = 0x00007f28a49032e0 r12 = 0x00007f289ca10f90 05:33:21 INFO - r13 = 0x0000000000074f9c r14 = 0x0000000000000000 05:33:21 INFO - r15 = 0x00007f27bd7ff000 rip = 0x00007f28f46ff860 05:33:21 INFO - rsp = 0x00007ffff2a37320 rbp = 0x00007ffff2a37330 05:33:21 INFO - Found by: call frame info 05:33:21 INFO - 2 libxul.so!mozilla::WebGLContext::~WebGLContext() [WebGLContext.cpp:5a8e5ad43d90 : 318 + 0x13] 05:33:21 INFO - rbx = 0x00007f289ca10c00 r12 = 0x00007f289ca10f90 05:33:21 INFO - r13 = 0x0000000000074f9c r14 = 0x0000000000000000 05:33:21 INFO - r15 = 0x00007f27bd7ff000 rip = 0x00007f28f47082bc 05:33:21 INFO - rsp = 0x00007ffff2a37340 rbp = 0x00007ffff2a37350 05:33:21 INFO - Found by: call frame info 05:33:21 INFO - 3 libxul.so!mozilla::WebGL1Context::~WebGL1Context() [WebGL1Context.cpp:5a8e5ad43d90 : 25 + 0x4] 05:33:21 INFO - rbx = 0x00007f289ca10c00 r12 = 0x00007ffff2a373d8 05:33:21 INFO - r13 = 0x0000000000074f9c r14 = 0x0000000000000000 05:33:21 INFO - r15 = 0x00007f27bd7ff000 rip = 0x00007f28f47085da 05:33:21 INFO - rsp = 0x00007ffff2a37360 rbp = 0x00007ffff2a37370 05:33:21 INFO - Found by: call frame info 05:33:21 INFO - 4 libxul.so!SnowWhiteKiller::~SnowWhiteKiller() [nsCycleCollector.cpp:5a8e5ad43d90 : 2611 + 0xc] 05:33:21 INFO - rbx = 0x00007f28deff76a8 r12 = 0x00007ffff2a373d8 05:33:21 INFO - r13 = 0x0000000000074f9c r14 = 0x0000000000000000 05:33:21 INFO - r15 = 0x00007f27bd7ff000 rip = 0x00007f28f36e3a36 05:33:21 INFO - rsp = 0x00007ffff2a37380 rbp = 0x00007ffff2a373a0 05:33:21 INFO - Found by: call frame info Note how the last stack frame above shows that it's the cycle collector that is reaping the WebGLContext.
Summary: WebGL assertion failure: "observerService", in WebGLObserver::UnregisterMemoryPressureEvent() → WebGL assertion failure: "observerService" [@ mozilla::WebGLObserver::UnregisterMemoryPressureEvent()]
Actually, it seems pretty perma-orange at the moment...
Attached patch fix-webglSplinter Review
Attachment #8445136 - Flags: review?(bugs)
Comment on attachment 8445136 [details] [diff] [review] fix-webgl s/Do not assert on observerService here.//
Attachment #8445136 - Flags: review?(bugs) → review+
https://hg.mozilla.org/integration/mozilla-inbound/rev/de2f8eca84b1 (Sorry, did not see your comment suggestion in time. Hope it's OK. I think that that comment is actually useful to prevent people from re-adding it, as a nearby function in this file still has a similar assertion.)
Assignee: nobody → bjacob
Well, I'd just prefer us to not add useless assertion, and not even comments about such. Either you add an assertion or you add 'if', but not both.
That's true. Let's needinfo the WebGL guys to make sure they see this :-)
Flags: needinfo?(jgilbert)
Flags: needinfo?(dglastonbury)
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla33
(In reply to Olli Pettay [:smaug] from comment #5) > Well, I'd just prefer us to not add useless assertion, and not even comments > about such. > > Either you add an assertion or you add 'if', but not both. Well, this is an unfortunate truth that is only true because we don't have a more sophisticated method than crash reports to report these failures.
Flags: needinfo?(jgilbert)
Flags: needinfo?(dglastonbury)
Comment on attachment 8445136 [details] [diff] [review] fix-webgl [Approval Request Comment] Bug caused by (feature/regressing bug #): bug 998916 User impact if declined: We will get some intermittently failed on test for 2.0. We already have this fix for master. Testing completed: https://treeherder.mozilla.org/ui/#/jobs?repo=try&revision=329989e86b83 Risk to taking this patch (and alternatives if risky): low String or UUID changes made by this patch: none
Attachment #8445136 - Flags: approval-mozilla-b2g32?
Could you please check the comment 9? We need this patch for bug 998916. https://bugzilla.mozilla.org/show_bug.cgi?id=998916#c79
Flags: needinfo?(bbajaj)
Flags: needinfo?(bbajaj)
Attachment #8445136 - Flags: approval-mozilla-b2g32? → approval-mozilla-b2g32+
Blocks: Woodduck
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: