Closed Bug 1717151 (angle-94) Opened 3 years ago Closed 3 years ago

Update ANGLE for FF94

Categories

(Core :: Graphics, task, P1)

task

Tracking

()

RESOLVED FIXED
94 Branch
Tracking Status
firefox94 --- fixed

People

(Reporter: jgilbert, Assigned: jgilbert)

References

(Blocks 2 open bugs)

Details

Attachments

(4 files, 4 obsolete files)

No description provided.
Alias: angle-91 → angle-92
Summary: Update ANGLE for FF91 → Update ANGLE for FF92
Blocks: 1707952

This moved due to a fix in ANGLE 56663dbfa78 on 2020-nov-19.

Pushed by jgilbert@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/ee22b6243926 Update ANGLE to chromium/4515. r=lsalzman https://hg.mozilla.org/integration/autoland/rev/06d6ad49726c Move EGL_EXT_device_query from device exts to client exts. r=lsalzman

Backed out for causing bustage on validationEGL.h

[task 2021-07-29T19:42:02.762Z] 19:42:02     INFO -  In file included from /builds/worker/checkouts/gecko/gfx/angle/checkout/src/libANGLE/validationEGL_autogen.h:14:
[task 2021-07-29T19:42:02.762Z] 19:42:02     INFO -  /builds/worker/checkouts/gecko/gfx/angle/checkout/src/libANGLE/validationEGL.h(123,53): error: failed requirement '!std::is_same<int, int>::value'; 'enable_if' cannot be used to disable this declaration
[task 2021-07-29T19:42:02.762Z] 19:42:02     INFO -  template <typename PackedT, typename std::enable_if<!std::is_same<EGLAttrib, EGLint>::value>::type* = nullptr>
[task 2021-07-29T19:42:02.762Z] 19:42:02     INFO -                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[task 2021-07-29T19:42:02.762Z] 19:42:02     INFO -  1 error generated.
[task 2021-07-29T19:42:02.762Z] 19:42:02    ERROR -  make[4]: *** [/builds/worker/checkouts/gecko/config/rules.mk:693: validationEGL.obj] Error 1
[task 2021-07-29T19:42:02.763Z] 19:42:02     INFO -  make[4]: Leaving directory '/builds/worker/workspace/obj-build/gfx/angle/targets/libGLESv2'
[task 2021-07-29T19:42:02.763Z] 19:42:02     INFO -  make[4]: *** Waiting for unfinished jobs....
Flags: needinfo?(jgilbert)
Flags: needinfo?(jgilbert)

This moved due to a fix in ANGLE 56663dbfa78 on 2020-nov-19.

Pushed by jgilbert@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/0ca0354e2a44 Update ANGLE to chromium/4515. r=lsalzman https://hg.mozilla.org/integration/autoland/rev/adc225dcc004 Move EGL_EXT_device_query from device exts to client exts. r=lsalzman

Ok, I have no clue.

Flags: needinfo?(jgilbert)

I see this in the log:

[task 2021-08-02T22:32:03.341Z] 22:32:03     INFO - [Child 5076, Main Thread] ###!!! ASSERTION: User did not call nsIContentViewer::Destroy: '!mPresShell && !mPresContext', file /builds/worker/checkouts/gecko/layout/base/nsDocumentViewer.cpp:567
[task 2021-08-02T22:32:03.341Z] 22:32:03     INFO - #01: NS_DebugBreak(unsigned int, char const*, char const*, char const*, int) [xpcom/base/nsDebugImpl.cpp:431]
[task 2021-08-02T22:32:03.342Z] 22:32:03     INFO - #02: nsDocumentViewer::~nsDocumentViewer() [layout/base/nsDocumentViewer.cpp:566]
[task 2021-08-02T22:32:03.342Z] 22:32:03     INFO - #03: nsDocumentViewer::Release() [layout/base/nsDocumentViewer.cpp:540]
[task 2021-08-02T22:32:03.343Z] 22:32:03     INFO - #04: DumpBidiLine [Z:\task_1627941886\build\application\firefox\xul.dll + 0x3f7ca2f]
[task 2021-08-02T22:32:03.344Z] 22:32:03     INFO - #05: nsPrintCompletionEvent::~nsPrintCompletionEvent() [layout/printing/nsPrintJob.cpp:2713]
[task 2021-08-02T22:32:03.345Z] 22:32:03     INFO - #06: mozilla::Runnable::Release() [xpcom/threads/nsThreadUtils.cpp:62]
[task 2021-08-02T22:32:03.345Z] 22:32:03     INFO - #07: mozilla::SchedulerGroup::Runnable::Run() [xpcom/threads/SchedulerGroup.cpp:145]
[task 2021-08-02T22:32:03.346Z] 22:32:03     INFO - #08: mozilla::RunnableTask::Run() [xpcom/threads/TaskController.cpp:503]
[task 2021-08-02T22:32:03.346Z] 22:32:03     INFO - #09: mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex &> const&) [xpcom/threads/TaskController.cpp:805]
[task 2021-08-02T22:32:03.347Z] 22:32:03     INFO - #10: mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex &> const&) [xpcom/threads/TaskController.cpp:641]
[task 2021-08-02T22:32:03.348Z] 22:32:03     INFO - #11: mozilla::TaskController::ProcessPendingMTTask(bool) [xpcom/threads/TaskController.cpp:425]
[task 2021-08-02T22:32:03.349Z] 22:32:03     INFO - #12: mozilla::detail::RunnableFunction<`lambda at /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:135:7'>::Run() [xpcom/threads/nsThreadUtils.h:533]
[task 2021-08-02T22:32:03.350Z] 22:32:03     INFO - #13: nsThread::ProcessNextEvent(bool, bool*) [xpcom/threads/nsThread.cpp:1152]
[task 2021-08-02T22:32:03.351Z] 22:32:03     INFO - #14: NS_ProcessNextEvent(nsIThread*, bool) [xpcom/threads/nsThreadUtils.cpp:466]
[task 2021-08-02T22:32:03.352Z] 22:32:03     INFO - JavaScript error: resource:///modules/Interactions.jsm, line 230: NS_ERROR_FAILURE: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIUserIdleService.removeIdleObserver]
[task 2021-08-02T22:32:03.352Z] 22:32:03     INFO - #15: mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) [ipc/glue/MessagePump.cpp:85]
[task 2021-08-02T22:32:03.352Z] 22:32:03     INFO - #16: MessageLoop::RunInternal() [ipc/chromium/src/base/message_loop.cc:331]
[task 2021-08-02T22:32:03.353Z] 22:32:03     INFO - #17: MessageLoop::RunHandler() [ipc/chromium/src/base/message_loop.cc:325]
[task 2021-08-02T22:32:03.353Z] 22:32:03     INFO - #18: MessageLoop::Run() [ipc/chromium/src/base/message_loop.cc:307]
[task 2021-08-02T22:32:03.354Z] 22:32:03     INFO - #19: nsBaseAppShell::Run() [widget/nsBaseAppShell.cpp:139]
[task 2021-08-02T22:32:03.355Z] 22:32:03     INFO - #20: nsAppShell::Run() [widget/windows/nsAppShell.cpp:603]
[task 2021-08-02T22:32:03.355Z] 22:32:03     INFO - #21: XRE_RunAppShell() [toolkit/xre/nsEmbedFunctions.cpp:923]
[task 2021-08-02T22:32:03.356Z] 22:32:03     INFO - #22: mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) [ipc/glue/MessagePump.cpp:235]
[task 2021-08-02T22:32:03.356Z] 22:32:03     INFO - #23: MessageLoop::RunInternal() [ipc/chromium/src/base/message_loop.cc:331]
[task 2021-08-02T22:32:03.357Z] 22:32:03     INFO - #24: MessageLoop::RunHandler() [ipc/chromium/src/base/message_loop.cc:325]
[task 2021-08-02T22:32:03.358Z] 22:32:03     INFO - #25: MessageLoop::Run() [ipc/chromium/src/base/message_loop.cc:307]
[task 2021-08-02T22:32:03.358Z] 22:32:03     INFO - #26: XRE_InitChildProcess(int, char**, XREChildData const*) [toolkit/xre/nsEmbedFunctions.cpp:759]
[task 2021-08-02T22:32:03.359Z] 22:32:03     INFO - #27: mozilla::BootstrapImpl::XRE_InitChildProcess(int, char**, XREChildData const*) [toolkit/xre/Bootstrap.cpp:67]
[task 2021-08-02T22:32:03.359Z] 22:32:03     INFO - #28: NS_internal_main(int, char**, char**) [browser/app/nsBrowserApp.cpp:327]
[task 2021-08-02T22:32:03.360Z] 22:32:03     INFO - #29: wmain(int, wchar_t**) [toolkit/xre/nsWindowsWMain.cpp:131]
[task 2021-08-02T22:32:03.360Z] 22:32:03     INFO - #30: __scrt_common_main_seh() [/builds/worker/workspace/obj-build/browser/app/f:/dd/vctools/crt/vcstartup/src/startup/exe_common.inl:288]
[task 2021-08-02T22:32:03.361Z] 22:32:03     INFO - #31: BaseThreadInitThunk [C:\Windows\System32\KERNEL32.DLL + 0x18484]
[task 2021-08-02T22:32:03.361Z] 22:32:03     INFO - #32: RtlValidSecurityDescriptor [C:\Windows\SYSTEM32\ntdll.dll + 0x6305a]
[task 2021-08-02T22:32:03.361Z] 22:32:03     INFO - #33: RtlValidSecurityDescriptor [C:\Windows\SYSTEM32\ntdll.dll + 0x6302a]

Which is similar to https://bugzilla.mozilla.org/show_bug.cgi?id=827183
But this is a crashtest, so it's hard to tell what's unexpected.

###!!! ASSERTION: User did not call nsIContentViewer::Destroy: '!mPresShell && !mPresContext' happens in a green run too, so it's not that.

Manual bisection (trisection mostly):

  • 4400...green
    • 4415...green
    • 4435...green
      • 4440...green
      • 4445...green
        • 4446...green
        • 4447 doesn't exist
        • 4448...green
        • 4449...orange!
  • 4450...orange!!
C:\dev\angle>git log origin/chromium/4448..origin/chromium/4449
commit 655867469cc69ec4f1a49d1164302606d160b919 (origin/chromium/4449)
Author: John Plate <jplate@google.com>
Date:   Wed Mar 10 19:02:12 2021 +0000

    add cl entry points loader

    Bug: angleproject:5743
    Change-Id: I61791f412e8dbc54878cd3791519ad1c4ee33399
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2749595
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: John Plate <jplate@google.com>

commit 522d609b61b2a7056ad8829a249268447cf07661
Author: Tim Van Patten <timvp@google.com>
Date:   Tue Mar 16 11:30:32 2021 -0600

    Fix download_restricted_traces.py :: run_command()

    run_command() was using the undefined variable 'cmd', rather than the
    pass in parameter 'command'.

    Bug: angleproject:5210
    Change-Id: I5e80869b18b717835217ad14a562bb4d223d52c4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2765005
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Tim Van Patten <timvp@google.com>

commit c99e405cc2b3f1c358bf2e594ba8c9d4658bc82c
Author: Peng Huang <penghuang@chromium.org>
Date:   Fri Mar 12 12:39:27 2021 -0500

    Disable timestamp queries for some GPUs on Android

    Copy some workaround from chromium.

    Bug: chromium:702980,chromium:477514,chromium:462553,chromium:1178333
    Change-Id: I9acb6ef49c91193a9e6bb03c6fc5eabf336cba9a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2756728
    Commit-Queue: Peng Huang <penghuang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit 79e39478028c56b4be4e4549f8c9e53381ae48ce
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Mar 16 10:01:28 2021 +0000

    Roll SwiftShader from 5cdf55ff2084 to 69b79eec6533 (1 revision)

    https://swiftshader.googlesource.com/SwiftShader.git/+log/5cdf55ff2084..69b79eec6533

    2021-03-15 adelva@google.com Disable named mmap usage for host/ndk Android

    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC timvp@google.com on the revert to ensure that a human
    is aware of the problem.

    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

    Bug: None
    Tbr: timvp@google.com
    Change-Id: Ibdc669fee9d1bc6651d4afb234acbeda062c8ec2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2762686
    Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit a56d794f8657a5f9cc77d1628481c2e5052bcafa
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Mar 16 10:01:33 2021 +0000

    Roll vulkan-deps from d70f9e670332 to 105af117f053 (3 revisions)

    https://chromium.googlesource.com/vulkan-deps.git/+log/d70f9e670332..105af117f053

    Changed dependencies:
    * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/a36d91e5ac..b2e5b5c559
    * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/d1cd265394..27c2124822
    * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/f648a59e1c..053e2bf22d

    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-deps-angle-autoroll
    Please CC timvp@google.com on the revert to ensure that a human
    is aware of the problem.

    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

    Bug: None
    Tbr: timvp@google.com
    Change-Id: I59823bbe7db496bc83f54ce6c3dfc939f3b49e18
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2763789
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 6936ee8064dda1221c2358c9eae42e671fac0023
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Mar 16 07:30:55 2021 +0000

    Roll Chromium from 1572b5ac9572 to cffad6044951 (442 revisions)

    https://chromium.googlesource.com/chromium/src.git/+log/1572b5ac9572..cffad6044951

    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/chromium-angle-autoroll
    Please CC timvp@google.com on the revert to ensure that a human
    is aware of the problem.

    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

    Changed dependencies
    * build: https://chromium.googlesource.com/chromium/src/build.git/+log/5f2e66e38e..03e56ea015
    * testing: https://chromium.googlesource.com/chromium/src/testing/+log/c6aca9251c..962db0501f
    * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..8efb1d91dd
    * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/cfcc45286b..e2946cfb97
    * tools/skia_goldctl/mac: VUCuq1sveo1hxWfABmHwe-nXmh0OuWy4y9PhS3ykvykC..F9PFp7kNc3dn_X7b1PYmPsEb3VMHDY-8pXiZ7WNi09MC
    * tools/skia_goldctl/win: j4rOmbVNLoVaUWWPvzH9y8NIrbGae5OxIInpCD89q0QC..5QaZrGtCcd9HFM-qeg4vP-CrEpvhqlZtkfwAtVBee2oC
    No update to Clang.

    Bug: None
    Tbr: timvp@google.com
    Change-Id: Ia5b632c384b8eaf2cca10e846d932c8a4e8858b9
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2763787
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 687d3153197e5ef162e7bc75e931a09208ba3fe6
Author: Tim Van Patten <timvp@google.com>
Date:   Mon Mar 15 16:55:26 2021 -0600

    Skip plants_vs_zombies_2 on Windows+AMD

    Step "angle_restricted_trace_gold_tests on ATI GPU on Windows on
    Windows-10" failing on builder "Win10 FYI x64 Release (AMD RX 5500 XT)"

    Bug: chromium:1187752
    Change-Id: Ia48dd06c3e3aca66ff3194fc945e3c235fde85df
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2762645
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 06d194e2ae7b1d7e0eda0c0c911eff92dec7d3d1
Author: James Clarke <james@clarkezone.io>
Date:   Sun Jan 10 14:29:44 2021 -0800

    Reland "Add support for building in Flutter Windows UWP configuration"

    This is a reland of 68ac4e43aa67c4bac9df639d80079648ea86dbe9

    Original change's description:
    > Add support for building in Flutter Windows UWP configuration
    >
    > Bug: angleproject:5527
    > Change-Id: Idf5a4cbb6f84b24fa2448157cab1b6a3bce4d8be
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2620580
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>

    Bug: angleproject:5527
    Change-Id: I3d5c3a35d73e3946ae40c779e76e0343039bf660
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2693639
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Austin Eng <enga@chromium.org>
    Commit-Queue: Austin Eng <enga@chromium.org>

This commit is suspicious:

commit 06d194e2ae7b1d7e0eda0c0c911eff92dec7d3d1
Author: James Clarke <james@clarkezone.io>
Date:   Sun Jan 10 14:29:44 2021 -0800

    Reland "Add support for building in Flutter Windows UWP configuration"

Pushing 4449 without that commit runs green, so that's the problem.

This is the problematic commit: https://hg.mozilla.org/try/rev/d43a414c94921652f2f5827f9a04b51e5b6de2ee

-    if (SUCCEEDED(RoInitialize(RO_INIT_MULTITHREADED)))
+    auto result = RoInitialize(RO_INIT_MULTITHREADED);
+
+    if (SUCCEEDED(result) || result == S_FALSE || result == RPC_E_CHANGED_MODE)
     {
         mWinRtAvailable = true;
     }

This is important later:

RoHelper::~RoHelper()
{
    if (mWinRtAvailable)
    {
        RoUninitialize();
    }

The docs to RoInitialize say:

Each successful call to RoInitialize, including those that return S_FALSE, must be balanced by a corresponding call to RoUninitialize.

I believe that this should simply be reverted, as:

  • S_FALSE is "Success: returning false", and so should be included by SUCCEEDED(result). (e.g. SUCCEEDED(S_FALSE) -> true)
  • RPC_E_CHANGED_MODE has E_ for Error though, and so I think this does not count as a "successful call to RoInitialize", and so by calling RoUninitialize we are violating the contract here. I could imagine this extra RoUninitialize causing things to stop running too early, which could very well cause the hang that we're seeing.

Yep, all systems green!

This moved due to a fix in ANGLE 56663dbfa78 on 2020-nov-19.

Alias: angle-92 → angle-94
Summary: Update ANGLE for FF92 → Update ANGLE for FF94
Attachment #9228455 - Attachment is obsolete: true
Attachment #9233748 - Attachment is obsolete: true
Attachment #9234313 - Attachment is obsolete: true
Attachment #9234314 - Attachment is obsolete: true
Blocks: 1725074
Pushed by jgilbert@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/05bd12e339df Prep ANGLE for vendoring. r=gfx-reviewers,kvark https://hg.mozilla.org/integration/autoland/rev/3154db5a81cf Vendor angle/chromium/4515 with fixes. r=gfx-reviewers,lsalzman https://hg.mozilla.org/integration/autoland/rev/bd3e2c874f3d Move EGL_EXT_device_query from device exts to client exts. r=gfx-reviewers,lsalzman
Blocks: 1725075

Backed out for causing wegbl failures in vector-matrix-constructor-scalarization.html

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

Push with failures

Failure log

INFO - TEST-UNEXPECTED-PASS | dom/canvas/test/webgl-conf/generated/test_2_conformance__glsl__bugs__vector-matrix-constructor-scalarization.html | fail-if condition in manifest - We expected at least one failure

Flags: needinfo?(jgilbert)
Pushed by jgilbert@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/a74a2d431425 Prep ANGLE for vendoring. r=gfx-reviewers,kvark https://hg.mozilla.org/integration/autoland/rev/63c5cd4757d5 Vendor angle/chromium/4515 with fixes. r=gfx-reviewers,lsalzman https://hg.mozilla.org/integration/autoland/rev/d7bbfc3c9881 Move EGL_EXT_device_query from device exts to client exts. r=gfx-reviewers,lsalzman https://hg.mozilla.org/integration/autoland/rev/8de4d5f6e78e Mark tests fixed by ANGLE update. r=gfx-reviewers,kvark
Regressions: 1731194
Flags: needinfo?(jgilbert)
Regressions: 1736066
See Also: → 1707952
Blocks: 1748325
Blocks: 1730637
Blocks: 1687096
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: