Closed Bug 1445941 Opened 2 years ago Closed 2 years ago

GetInternalformatParameter doesn't call MakeCurrent (Assertion failure: IsCurrent())

Categories

(Core :: Canvas: WebGL, defect, P3)

52 Branch
defect

Tracking

()

RESOLVED WONTFIX
Tracking Status
firefox-esr52 --- wontfix
firefox59 --- unaffected
firefox60 --- unaffected
firefox61 --- unaffected

People

(Reporter: jkratzer, Assigned: jgilbert)

References

(Blocks 1 open bug)

Details

(Keywords: assertion, testcase, Whiteboard: [gfx-noted])

Attachments

(2 files)

Attached file trigger.html
Testcase found while fuzzing esr52 rev d61516b059c1.

rax = 0x0000000000625d50   rdx = 0x0000000000000000
rcx = 0x00007fcfb2fe90df   rbx = 0x00007fcf868d4000
rsi = 0x00007fcfae180770   rdi = 0x00007fcfae17f540
rbp = 0x00007ffc195a63f0   rsp = 0x00007ffc195a63e0
r8 = 0x00007fcfae180770    r9 = 0x00007fcfb5735c00
r10 = 0x0000000000000043   r11 = 0x0000000000000000
r12 = 0x00007fcfb313a270   r13 = 0x0000000000008232
r14 = 0x0000000000009380   r15 = 0x0000000000000001
rip = 0x00007fcfb0278b04
OS|Linux|0.0.0 Linux 4.4.0-116-generic #140-Ubuntu SMP Mon Feb 12 21:23:04 UTC 2018 x86_64
CPU|amd64|family 6 model 78 stepping 3|1
GPU|||
Crash|SIGSEGV|0x0|0
0|0|libxul.so|mozilla::gl::GLContext::BeforeGLCall|hg:hg.mozilla.org/releases/mozilla-esr52:gfx/gl/GLContext.h:d61516b059c1|728|0x0
0|1|libxul.so|mozilla::gl::GLContext::fGetInternalformativ|hg:hg.mozilla.org/releases/mozilla-esr52:gfx/gl/GLContext.h:d61516b059c1|2578|0x5
0|2|libxul.so|mozilla::WebGL2Context::GetInternalformatParameter|hg:hg.mozilla.org/releases/mozilla-esr52:dom/canvas/WebGL2ContextRenderbuffers.cpp:d61516b059c1|67|0x24
0|3|libxul.so|mozilla::dom::WebGL2RenderingContextBinding::getInternalformatParameter|hg:hg.mozilla.org/releases/mozilla-esr52:obj-firefox/dom/bindings/WebGL2RenderingContextBinding.cpp:d61516b059c1|1245|0x1f
0|4|libxul.so|mozilla::dom::GenericBindingMethod|hg:hg.mozilla.org/releases/mozilla-esr52:dom/bindings/BindingUtils.cpp:d61516b059c1|2904|0x9
0|5|libxul.so|js::CallJSNative|hg:hg.mozilla.org/releases/mozilla-esr52:js/src/jscntxtinlines.h:d61516b059c1|239|0x9
0|6|libxul.so|js::InternalCallOrConstruct|hg:hg.mozilla.org/releases/mozilla-esr52:js/src/vm/Interpreter.cpp:d61516b059c1|459|0xf
0|7|libxul.so|Interpret|hg:hg.mozilla.org/releases/mozilla-esr52:js/src/vm/Interpreter.cpp:d61516b059c1|510|0xf
0|8|libxul.so|js::RunScript|hg:hg.mozilla.org/releases/mozilla-esr52:js/src/vm/Interpreter.cpp:d61516b059c1|405|0xb
0|9|libxul.so|js::ExecuteKernel|hg:hg.mozilla.org/releases/mozilla-esr52:js/src/vm/Interpreter.cpp:d61516b059c1|686|0x5
0|10|libxul.so|js::Execute|hg:hg.mozilla.org/releases/mozilla-esr52:js/src/vm/Interpreter.cpp:d61516b059c1|719|0x28
0|11|libxul.so|Evaluate|hg:hg.mozilla.org/releases/mozilla-esr52:js/src/jsapi.cpp:d61516b059c1|4440|0xf
0|12|libxul.so|Evaluate|hg:hg.mozilla.org/releases/mozilla-esr52:js/src/jsapi.cpp:d61516b059c1|4466|0x1d
0|13|libxul.so|nsJSUtils::EvaluateString|hg:hg.mozilla.org/releases/mozilla-esr52:dom/base/nsJSUtils.cpp:d61516b059c1|207|0x1c
0|14|libxul.so|nsJSUtils::EvaluateString|hg:hg.mozilla.org/releases/mozilla-esr52:dom/base/nsJSUtils.cpp:d61516b059c1|275|0x2a
0|15|libxul.so|nsScriptLoader::EvaluateScript|hg:hg.mozilla.org/releases/mozilla-esr52:dom/base/nsScriptLoader.cpp:d61516b059c1|2194|0x21
0|16|libxul.so|nsScriptLoader::ProcessRequest|hg:hg.mozilla.org/releases/mozilla-esr52:dom/base/nsScriptLoader.cpp:d61516b059c1|1979|0xb
0|17|libxul.so|nsScriptLoader::ProcessScriptElement|hg:hg.mozilla.org/releases/mozilla-esr52:dom/base/nsScriptLoader.cpp:d61516b059c1|1712|0xf
0|18|libxul.so|nsScriptElement::MaybeProcessScript|hg:hg.mozilla.org/releases/mozilla-esr52:dom/base/nsScriptElement.cpp:d61516b059c1|149|0x13
0|19|libxul.so|nsIScriptElement::AttemptToExecute|hg:hg.mozilla.org/releases/mozilla-esr52:dom/base/nsIScriptElement.h:d61516b059c1|222|0x3
0|20|libxul.so|nsHtml5TreeOpExecutor::RunScript|hg:hg.mozilla.org/releases/mozilla-esr52:parser/html/nsHtml5TreeOpExecutor.cpp:d61516b059c1|666|0x10
0|21|libxul.so|nsHtml5TreeOpExecutor::RunFlushLoop|hg:hg.mozilla.org/releases/mozilla-esr52:parser/html/nsHtml5TreeOpExecutor.cpp:d61516b059c1|489|0x8
0|22|libxul.so|nsHtml5ExecutorFlusher::Run|hg:hg.mozilla.org/releases/mozilla-esr52:parser/html/nsHtml5StreamParser.cpp:d61516b059c1|128|0x8
0|23|libxul.so|nsThread::ProcessNextEvent|hg:hg.mozilla.org/releases/mozilla-esr52:xpcom/threads/nsThread.cpp:d61516b059c1|1216|0x11
0|24|libxul.so|NS_ProcessNextEvent|hg:hg.mozilla.org/releases/mozilla-esr52:xpcom/glue/nsThreadUtils.cpp:d61516b059c1|361|0xd
0|25|libxul.so|mozilla::ipc::MessagePump::Run|hg:hg.mozilla.org/releases/mozilla-esr52:ipc/glue/MessagePump.cpp:d61516b059c1|124|0xd
0|26|libxul.so|MessageLoop::RunInternal|hg:hg.mozilla.org/releases/mozilla-esr52:ipc/chromium/src/base/message_loop.cc:d61516b059c1|232|0x17
0|27|libxul.so|MessageLoop::Run|hg:hg.mozilla.org/releases/mozilla-esr52:ipc/chromium/src/base/message_loop.cc:d61516b059c1|225|0x8
0|28|libxul.so|nsBaseAppShell::Run|hg:hg.mozilla.org/releases/mozilla-esr52:widget/nsBaseAppShell.cpp:d61516b059c1|156|0xd
0|29|libxul.so|XRE_RunAppShell|hg:hg.mozilla.org/releases/mozilla-esr52:toolkit/xre/nsEmbedFunctions.cpp:d61516b059c1|866|0x6
0|30|libxul.so|mozilla::ipc::MessagePumpForChildProcess::Run|hg:hg.mozilla.org/releases/mozilla-esr52:ipc/glue/MessagePump.cpp:d61516b059c1|269|0x5
0|31|libxul.so|MessageLoop::RunInternal|hg:hg.mozilla.org/releases/mozilla-esr52:ipc/chromium/src/base/message_loop.cc:d61516b059c1|232|0x17
0|32|libxul.so|MessageLoop::Run|hg:hg.mozilla.org/releases/mozilla-esr52:ipc/chromium/src/base/message_loop.cc:d61516b059c1|225|0x8
0|33|libxul.so|XRE_InitChildProcess|hg:hg.mozilla.org/releases/mozilla-esr52:toolkit/xre/nsEmbedFunctions.cpp:d61516b059c1|698|0xf
0|34|plugin-container|content_process_main|hg:hg.mozilla.org/releases/mozilla-esr52:ipc/contentproc/plugin-container.cpp:d61516b059c1|197|0xe
0|35|libc-2.23.so||||0x20830
0|36|plugin-container|MOZ_ReportAssertionFailure|hg:hg.mozilla.org/releases/mozilla-esr52:mfbt/Assertions.h:d61516b059c1|170|0x5
Flags: in-testsuite?
Confirmed, instantly crashes the tab on my local Ubuntu machine. Works fine on macos.
Whiteboard: [gfx-noted]
Assignee: nobody → jgilbert
I believe this is only a problem on esr52, since auto-make-current landed in 59 in bug 1390386.
Depends on: 1390386
Flags: needinfo?(jkratzer)
(In reply to Jeff Gilbert [:jgilbert] from comment #2)
> I believe this is only a problem on esr52, since auto-make-current landed in
> 59 in bug 1390386.

That's correct.  This issue was only identified on esr52.
Flags: needinfo?(jkratzer)
Version: 59 Branch → 52 Branch
Summary: Assertion failure: IsCurrent(), at /home/worker/workspace/build/src/gfx/gl/GLContext.h:728 → GetInternalformatParameter doesn't call MakeCurrent (Assertion failure: IsCurrent())
Attachment #8964402 - Flags: review?(kvark) → review+
Comment on attachment 8964402 [details] [diff] [review]
0001-Bug-1445941-GetInternalformatParameter-should-call-M.patch

[Approval Request Comment]
If this is not a sec:{high,crit} bug, please state case for ESR consideration: I don't think this is dangerous, but it's safest to protect ourselves here.
User impact if declined: Extremely rare incorrect behavior, possibly a vector for DoS tab crashing.
Fix Landed on Version: 57
Risk to taking this patch (and alternatives if risky): no risk
String or UUID changes made by this patch: none

See https://wiki.mozilla.org/Release_Management/ESR_Landing_Process for more info.
Attachment #8964402 - Flags: approval-mozilla-esr52?
Comment on attachment 8964402 [details] [diff] [review]
0001-Bug-1445941-GetInternalformatParameter-should-call-M.patch

Review of attachment 8964402 [details] [diff] [review]:
-----------------------------------------------------------------

This late in ESR52, we want to try to keep the uplifts to things that fix known security issues.
Attachment #8964402 - Flags: approval-mozilla-esr52? → approval-mozilla-esr52-
Status: NEW → RESOLVED
Closed: 2 years ago
Flags: in-testsuite? → in-testsuite-
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.