Closed Bug 1736066 Opened 3 years ago Closed 2 months ago

Assertion failure: [GFX1]: fAttachShader: Generated unexpected GL_INVALID_OPERATION error, at /builds/worker/workspace/obj-build/dist/include/mozilla/gfx/Logging.h:751

Categories

(Core :: Graphics: CanvasWebGL, defect, P1)

Unspecified
Windows
defect

Tracking

()

RESOLVED WORKSFORME
Tracking Status
firefox-esr78 --- unaffected
firefox-esr91 --- unaffected
firefox93 --- unaffected
firefox94 --- wontfix
firefox95 --- wontfix
firefox96 --- wontfix
firefox97 --- wontfix
firefox101 --- wontfix
firefox102 --- wontfix
firefox103 --- fix-optional

People

(Reporter: tsmith, Assigned: jgilbert)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: assertion, regression, testcase)

Attachments

(5 files)

Attached file testcase.html

Found while fuzzing m-c 20211012-691a703f1fa2 (--enable-debug --enable-fuzzing)

This appears to only be reproducible on Windows.

Assertion failure: [GFX1]: fAttachShader: Generated unexpected GL_INVALID_OPERATION error, at /builds/worker/workspace/obj-build/dist/include/mozilla/gfx/Logging.h:751

3|0|xul.dll|mozilla::gfx::Log<1,mozilla::gfx::CriticalLogger>::WriteLog(std::basic_string<char,std::char_traits<char>,std::allocator<char> > const&)|hg:hg.mozilla.org/mozilla-central:gfx/2d/Logging.h:691a703f1fa2ba4cccfccc60feae36ff5b20f04c|752|0x0
3|1|xul.dll|mozilla::gfx::Log<1,mozilla::gfx::CriticalLogger>::Flush()|hg:hg.mozilla.org/mozilla-central:gfx/2d/Logging.h:691a703f1fa2ba4cccfccc60feae36ff5b20f04c|277|0xd
3|2|xul.dll|mozilla::gfx::Log<1,mozilla::gfx::CriticalLogger>::~Log()|hg:hg.mozilla.org/mozilla-central:gfx/2d/Logging.h:691a703f1fa2ba4cccfccc60feae36ff5b20f04c|270|0x5
3|3|xul.dll|mozilla::gl::GLContext::AfterGLCall_Debug(char const*) const|hg:hg.mozilla.org/mozilla-central:gfx/gl/GLContext.cpp:691a703f1fa2ba4cccfccc60feae36ff5b20f04c|2593|0x1c
3|4|xul.dll|mozilla::WebGLContext::AttachShader(mozilla::WebGLProgram&, mozilla::WebGLShader&)|hg:hg.mozilla.org/mozilla-central:dom/canvas/WebGLContextGL.cpp:691a703f1fa2ba4cccfccc60feae36ff5b20f04c|88|0xb
3|5|xul.dll|mozilla::MethodDispatcher<WebGLMethodDispatcher,27,void (mozilla::HostWebGLContext::*)(unsigned long long, unsigned long long) const,&mozilla::HostWebGLContext::AttachShader>::DispatchCommand<mozilla::HostWebGLContext>::<unnamed-tag>::operator()<unsigned long long,unsigned long long>(unsigned long long&, unsigned long long&) const|hg:hg.mozilla.org/mozilla-central:dom/canvas/WebGLCommandQueue.h:691a703f1fa2ba4cccfccc60feae36ff5b20f04c|250|0x138
3|6|xul.dll|static mozilla::MethodDispatcher<WebGLMethodDispatcher,23,void (mozilla::HostWebGLContext::*)(unsigned int, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > &) const,&mozilla::HostWebGLContext::GenerateError>::DispatchCommand<mozilla::HostWebGLContext>(mozilla::HostWebGLContext&, const unsigned long long, mozilla::webgl::RangeConsumerView&)|hg:hg.mozilla.org/mozilla-central:dom/canvas/WebGLCommandQueue.h:691a703f1fa2ba4cccfccc60feae36ff5b20f04c|253|0xe5
3|7|xul.dll|mozilla::dom::WebGLParent::RecvDispatchCommands(mozilla::ipc::Shmem&&, unsigned long long)|hg:hg.mozilla.org/mozilla-central:dom/canvas/WebGLParent.cpp:691a703f1fa2ba4cccfccc60feae36ff5b20f04c|59|0x22
3|8|xul.dll|mozilla::dom::PWebGLParent::OnMessageReceived(IPC::Message const&)|s3:gecko-generated-sources:d6f8e82aaa582ed97a01177de996c3081a57a1445e06a0474f5d2215c2d0a66003ac43605f398d691317296ace4c8da9be96372b8149bfdbb03572823cdc2209/ipc/ipdl/PWebGLParent.cpp:|200|0x1a
3|9|xul.dll|mozilla::layers::PCompositorManagerParent::OnMessageReceived(IPC::Message const&)|s3:gecko-generated-sources:eb342a872f30e7a318c73d6d20c67dc9dc81ec3c962b8c11d24efd84ddef0a26428459d42b993e21de3e3a67852ae5e89b621a82a92715fa8b48d258312f5ea1/ipc/ipdl/PCompositorManagerParent.cpp:|200|0x10
3|10|xul.dll|mozilla::ipc::MessageChannel::DispatchAsyncMessage(mozilla::ipc::ActorLifecycleProxy*, IPC::Message const&)|hg:hg.mozilla.org/mozilla-central:ipc/glue/MessageChannel.cpp:691a703f1fa2ba4cccfccc60feae36ff5b20f04c|2043|0x10
3|11|xul.dll|mozilla::ipc::MessageChannel::DispatchMessage(IPC::Message&&)|hg:hg.mozilla.org/mozilla-central:ipc/glue/MessageChannel.cpp:691a703f1fa2ba4cccfccc60feae36ff5b20f04c|1968|0xe
3|12|xul.dll|mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::MessageChannel::MessageTask&)|hg:hg.mozilla.org/mozilla-central:ipc/glue/MessageChannel.cpp:691a703f1fa2ba4cccfccc60feae36ff5b20f04c|1827|0xb
3|13|xul.dll|mozilla::ipc::MessageChannel::MessageTask::Run()|hg:hg.mozilla.org/mozilla-central:ipc/glue/MessageChannel.cpp:691a703f1fa2ba4cccfccc60feae36ff5b20f04c|1855|0x13
3|14|xul.dll|nsThread::ProcessNextEvent(bool, bool*)|hg:hg.mozilla.org/mozilla-central:xpcom/threads/nsThread.cpp:691a703f1fa2ba4cccfccc60feae36ff5b20f04c|1145|0xd
3|15|xul.dll|NS_ProcessNextEvent(nsIThread*, bool)|hg:hg.mozilla.org/mozilla-central:xpcom/threads/nsThreadUtils.cpp:691a703f1fa2ba4cccfccc60feae36ff5b20f04c|467|0x14
3|16|xul.dll|mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*)|hg:hg.mozilla.org/mozilla-central:ipc/glue/MessagePump.cpp:691a703f1fa2ba4cccfccc60feae36ff5b20f04c|300|0xa
3|17|xul.dll|MessageLoop::RunHandler()|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:691a703f1fa2ba4cccfccc60feae36ff5b20f04c|324|0x8
3|18|xul.dll|MessageLoop::Run()|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:691a703f1fa2ba4cccfccc60feae36ff5b20f04c|306|0x5
3|19|xul.dll|static nsThread::ThreadFunc(void*)|hg:hg.mozilla.org/mozilla-central:xpcom/threads/nsThread.cpp:691a703f1fa2ba4cccfccc60feae36ff5b20f04c|390|0x8
3|20|nss3.dll|PR_NativeRunThread(void*)|hg:hg.mozilla.org/mozilla-central:nsprpub/pr/src/threads/combined/pruthr.c:691a703f1fa2ba4cccfccc60feae36ff5b20f04c|399|0xe
3|21|nss3.dll|pr_root(void*)|hg:hg.mozilla.org/mozilla-central:nsprpub/pr/src/md/windows/w95thred.c:691a703f1fa2ba4cccfccc60feae36ff5b20f04c|139|0xd
3|22|ucrtbase.dll|WerUnregisterMemoryBlockStub|||0x12
3|23|KERNELBASE.dll|OOBECompleteWnfWaitCallback|||0x9
3|24|||||0xb4a650fef8
3|25|ucrtbase.dll|GetStartupInfoA|||0x210
Flags: in-testsuite?

On Windows, with OOP Webgle enabled, the testcase behaves very strangely :

  1. Be on Windows
  2. Make sure that OOP WebGl is enabled
  3. Open the testcase in Nightly
  4. Open a blank tab
  5. Close the tab with the testcase

ER: The testcase tab closes
AR: The whole Browser window hangs for 15-20 seconds
The bug repros with both Hw-WR and Sw-WR, and with remote canvas enabled/disabled.

If you diable OOP WebGL by setting webgl.out-of-process= False, the hang doesnt repro.

Flags: needinfo?(jgilbert)
Attached file about:support

2021-10-16T11:35:56.020000: INFO : application_version: 94.0a1
2021-10-16T11:35:56.021000: INFO : platform_buildid: 20210916182000
2021-10-16T11:35:56.021000: INFO : platform_changeset: e7654c6d242a51291d6f80042c9909e9f571ef56
2021-10-16T11:35:56.021000: INFO : platform_repository: https://hg.mozilla.org/integration/autoland
2021-10-16T11:35:56.021000: INFO : platform_version: 94.0a1
2021-10-16T11:36:57.783000: INFO : Narrowed integration regression window from [3c56156e, 8de4d5f6] (3 builds) to [e7654c6d, 8de4d5f6] (2 builds) (~1 steps left)
2021-10-16T11:36:57.795000: DEBUG : Starting merge handling...
2021-10-16T11:36:57.795000: DEBUG : Using url: https://hg.mozilla.org/integration/autoland/json-pushes?changeset=8de4d5f6e78eae3d53aa693c512f2e9935656bd8&full=1
2021-10-16T11:36:57.796000: DEBUG : redo: attempt 1/3
2021-10-16T11:36:57.796000: DEBUG : redo: retry: calling _default_get with args: ('https://hg.mozilla.org/integration/autoland/json-pushes?changeset=8de4d5f6e78eae3d53aa693c512f2e9935656bd8&full=1',), kwargs: {}, attempt #1
2021-10-16T11:36:57.797000: DEBUG : urllib3.connectionpool: Resetting dropped connection: hg.mozilla.org
2021-10-16T11:36:59.689000: DEBUG : urllib3.connectionpool: https://hg.mozilla.org:443 "GET /integration/autoland/json-pushes?changeset=8de4d5f6e78eae3d53aa693c512f2e9935656bd8&full=1 HTTP/1.1" 200 None
2021-10-16T11:36:59.702000: DEBUG : Found commit message:
Bug 1717151 - Mark tests fixed by ANGLE update. r=gfx-reviewers,kvark

Differential Revision: https://phabricator.services.mozilla.com/D125848

2021-10-16T11:36:59.702000: DEBUG : Did not find a branch, checking all integration branches
2021-10-16T11:36:59.705000: INFO : The bisection is done.
2021-10-16T11:36:59.709000: INFO : Stopped

Keywords: regression
Regressed by: angle-94
Has Regression Range: --- → yes

Set release status flags based on info from the regressing bug 1717151

These testcases are great, btw! Thanks!

Flags: needinfo?(jgilbert)
Assignee: nobody → jgilbert
Severity: -- → S3
Priority: -- → P1
Pushed by jgilbert@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/b371e1b31863
Release shader after ipc DetachShader dispatch. r=gfx-reviewers,bradwerth
https://hg.mozilla.org/integration/autoland/rev/948a1595c3d8
Add prefs for `gl.khr-debug`. r=gfx-reviewers,bradwerth
https://hg.mozilla.org/integration/autoland/rev/99a4bb2e493b
Assert instead of bailing on HostWebGLContext precondition violations. r=gfx-reviewers,bradwerth

Backed out 3 changesets (bug 1736066) for causing webgl failures in gfx/2d/Logging.

Backout link: https://hg.mozilla.org/integration/autoland/rev/f164c73bcac0e090317dd4c9582f78ac794b9176

Push with failures

Failure log

Flags: needinfo?(jgilbert)
Flags: needinfo?(jgilbert)

There are some r+ patches which didn't land and no activity in this bug for 2 weeks.
:jgilbert, could you have a look please?
For more information, please visit auto_nag documentation.

Flags: needinfo?(jgilbert)
Flags: needinfo?(bwerth)
Flags: needinfo?(bwerth)
Flags: needinfo?(jgilbert)

Hi Kelsey, any updates on this bug?

Flags: needinfo?(jgilbert)

No, sorry.

Flags: needinfo?(jgilbert)

This was last reported by fuzzers running m-c 20231021-4124eee4f58c.

Ok, I think 20231021 would be WORKSFORME at this point?

Status: NEW → RESOLVED
Closed: 2 months ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: