Closed Bug 1865921 Opened 11 months ago Closed 8 months ago

Resolve the WebGPU client device.lost promise using the `device_lost_closure` in wgpu

Categories

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

defect

Tracking

()

RESOLVED FIXED
124 Branch
Tracking Status
firefox124 --- fixed

People

(Reporter: bradwerth, Assigned: bradwerth)

References

Details

(Keywords: perf-alert)

Attachments

(2 files)

Now that wgpu allows a closure to be specified which is triggered on "lose the device", WebGPUParent should supply that closure and inform the client when it is triggered. Since there is already a WebGPUParent::LoseDevice method, there's no need to define a new message between the parent and the child. Ideally, the connection just needs to be made between the parent and the wgpu bindings.

Assignee: nobody → bwerth

This is dependent on wgpu upstream fixes in https://github.com/gfx-rs/wgpu/pull/4744.

(In reply to Brad Werth [:bradwerth] from comment #3)

This is dependent on wgpu upstream fixes in https://github.com/gfx-rs/wgpu/pull/4744.

This has been merged, so now this is blocked on the next vendoring of wgpu. I'll mark the blocking Bug when it is filed.

Blocks: webgpu-v1
Severity: -- → S3
Priority: -- → P1
Depends on: 1868143
Pushed by bwerth@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/95b9cef93a5c Part 1: Make WebGPUParent supply a device lost callback. r=ErichDonGubler https://hg.mozilla.org/integration/autoland/rev/e378a6744fb2 Part 2: Add a test that awaits the device.lost promise. r=ErichDonGubler

Seems like the problem is that the callback is not guaranteed to be called under all conditions, and the callback holds a RefPtr to the WebGPUParent, preventing it from being deallocated until the callback is invoked. One such case would be the very common case where a device is created, but never explicitly destroyed. When GC happens, that will also need to invoke the lost callback. This will require a change in wgpu.

Flags: needinfo?(bwerth)

(In reply to Brad Werth [:bradwerth] from comment #7)

Seems like the problem is that the callback is not guaranteed to be called under all conditions, and the callback holds a RefPtr to the WebGPUParent, preventing it from being deallocated until the callback is invoked. One such case would be the very common case where a device is created, but never explicitly destroyed. When GC happens, that will also need to invoke the lost callback. This will require a change in wgpu.

Tracked in https://github.com/gfx-rs/wgpu/pull/4835

(In reply to Brad Werth [:bradwerth] from comment #8)

Tracked in https://github.com/gfx-rs/wgpu/pull/4835

I removed this because it's out of compliance with the WebGPU spec. I have a Firefox-only fix in Part 1 that I'm testing now.

There's some tricky stuff we need to do to get this right. Firstly, wgpu will need another update to ensure that its asserts for DeviceLostCallbackC::Drop are not triggered after a closure is passed to wgpu_server_set_device_lost_callback due to the callback being dropped before it is called -- since the data is copied out of it and the original is dropped.

Secondly, the behavior of WebGPUChild::UnregisterDevice needs a re-think. That function calls SendDeviceDrop and then immediately forgets about the device. When the parent does the drop, which triggers the device lost callback, then informs the child, the child doesn't know about the device anymore. In such a case, anything waiting on the device.lost promise will wait forever.

Solvable problems, but they'll need to be solved before this can be landed. I'm on it.

The necessary wgpu parts are in https://github.com/gfx-rs/wgpu/pull/5032.

Depends on: 1875543
No longer depends on: 1868143
Pushed by bwerth@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/b0f89dfa3291 Part 1: Make WebGPUParent supply a device lost callback. r=ErichDonGubler,webgpu-reviewers,nical https://hg.mozilla.org/integration/autoland/rev/39cf0feca383 Part 2: Add a test that awaits the device.lost promise. r=ErichDonGubler

Backed out for causing failures on test_device_lost.html .

[task 2024-01-24T01:13:27.810Z] 01:13:27     INFO - TEST-PASS | dom/webgpu/mochitest/test_device_lost.html | Pref should be enabled. 
[task 2024-01-24T01:13:27.810Z] 01:13:27     INFO - Buffered messages finished
[task 2024-01-24T01:13:27.812Z] 01:13:27     INFO - TEST-UNEXPECTED-PASS | dom/webgpu/mochitest/test_device_lost.html | fail-if condition in manifest - We expected at least one failure
[task 2024-01-24T01:13:27.812Z] 01:13:27     INFO - TEST-INFO | expected FAIL
[task 2024-01-24T01:13:27.825Z] 01:13:27     INFO - GECKO(1654) | MEMORY STAT | vsize 2583MB | residentFast 139MB | heapAllocated 7MB
[task 2024-01-24T01:13:27.832Z] 01:13:27     INFO - GECKO(1654) | Validation error without device target: No suitable adapter found
[task 2024-01-24T01:13:27.834Z] 01:13:27     INFO - GECKO(1654) | Validation error without device target: No suitable adapter found
[task 2024-01-24T01:13:27.846Z] 01:13:27     INFO - TEST-PASS | dom/webgpu/mochitest/test_device_lost.html | Unhandled exception TypeError: can't access property "limits", adapter is null 
Flags: needinfo?(bwerth)
Pushed by bwerth@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/dbb08bccb5e3 Part 1: Make WebGPUParent supply a device lost callback. r=ErichDonGubler,webgpu-reviewers,nical https://hg.mozilla.org/integration/autoland/rev/46b5a7e46018 Part 2: Add a test that awaits the device.lost promise. r=ErichDonGubler
Regressions: 1876655
Regressions: 1876663
Status: NEW → RESOLVED
Closed: 8 months ago
Resolution: --- → FIXED
Target Milestone: --- → 124 Branch

Backed out for causing Bug 1876663.

[task 2024-01-26T01:21:38.090Z] 01:21:38     INFO - TEST-START | dom/webgpu/mochitest/test_basic_canvas.worker.html
[task 2024-01-26T01:21:38.404Z] 01:21:38     INFO - GECKO(10148) | ### XPCOM_MEM_BLOAT_LOG defined -- logging bloat/leaks to C:\Users\task_170622997413941\AppData\Local\Temp\tmpzh4dcing.mozrunner\runtests_leaks_tab_pid5736.log
[task 2024-01-26T01:21:40.140Z] 01:21:40     INFO - GECKO(10148) | [WARN  wgpu_core::instance] Missing downlevel flags: DownlevelFlags(VERTEX_AND_INSTANCE_INDEX_RESPECTS_RESPECTIVE_FIRST_VALUE_IN_INDIRECT_DRAW)
[task 2024-01-26T01:21:40.141Z] 01:21:40     INFO - GECKO(10148) |     The underlying API or device in use does not support enough features to be a fully compliant implementation of WebGPU. A subset of the features can still be used. If you are running this program on native and not in a browser and wish to limit the features you use to the supported subset, call Adapter::downlevel_properties or Device::downlevel_properties to get a listing of the features the current platform supports.
[task 2024-01-26T01:21:40.142Z] 01:21:40     INFO - GECKO(10148) | [WARN  wgpu_core::instance] DownlevelCapabilities {
[task 2024-01-26T01:21:40.143Z] 01:21:40     INFO - GECKO(10148) |         flags: DownlevelFlags(
[task 2024-01-26T01:21:40.144Z] 01:21:40     INFO - GECKO(10148) |             COMPUTE_SHADERS | FRAGMENT_WRITABLE_STORAGE | INDIRECT_EXECUTION | BASE_VERTEX | READ_ONLY_DEPTH_STENCIL | NON_POWER_OF_TWO_MIPMAPPED_TEXTURES | CUBE_ARRAY_TEXTURES | COMPARISON_SAMPLERS | INDEPENDENT_BLEND | VERTEX_STORAGE | ANISOTROPIC_FILTERING | FRAGMENT_STORAGE | MULTISAMPLED_SHADING | DEPTH_TEXTURE_AND_BUFFER_COPIES | WEBGPU_TEXTURE_FORMAT_SUPPORT | BUFFER_BINDINGS_NOT_16_BYTE_ALIGNED | UNRESTRICTED_INDEX_BUFFER | FULL_DRAW_INDEX_UINT32 | DEPTH_BIAS_CLAMP | VIEW_FORMATS | UNRESTRICTED_EXTERNAL_TEXTURE_COPIES | SURFACE_VIEW_FORMATS | NONBLOCKING_QUERY_RESOLVE,
[task 2024-01-26T01:21:40.144Z] 01:21:40     INFO - GECKO(10148) |         ),
[task 2024-01-26T01:21:40.145Z] 01:21:40     INFO - GECKO(10148) |         limits: DownlevelLimits,
[task 2024-01-26T01:21:40.145Z] 01:21:40     INFO - GECKO(10148) |         shader_model: Sm5,
[task 2024-01-26T01:21:40.145Z] 01:21:40     INFO - GECKO(10148) |     }
[task 2024-01-26T01:21:40.210Z] 01:21:40     INFO - GECKO(10148) | MEMORY STAT | vsize 574MB | vsizeMaxContiguous 1806MB | residentFast 71MB | heapAllocated 7MB
[task 2024-01-26T01:21:40.287Z] 01:21:40     INFO - GECKO(10148) | Assertion failure: mErrorScopeStackByDevice.empty() (All Devices should have been dropped.), at /builds/worker/checkouts/gecko/dom/webgpu/ipc/WebGPUParent.cpp:328
[task 2024-01-26T01:21:40.306Z] 01:21:40     INFO - TEST-OK | dom/webgpu/mochitest/test_basic_canvas.worker.html | took 2216ms
[task 2024-01-26T01:21:40.383Z] 01:21:40     INFO - TEST-START | dom/webgpu/mochitest/test_buffer_mapping.html
[task 2024-01-26T01:21:40.527Z] 01:21:40     INFO -  Initializing stack-fixing for the first stack frame, this may take a while...
[task 2024-01-26T01:22:00.420Z] 01:22:00     INFO - GECKO(10148) | #01: mozilla::webgpu::WebGPUParent::~WebGPUParent() [dom/webgpu/ipc/WebGPUParent.cpp:327]
[task 2024-01-26T01:22:00.420Z] 01:22:00     INFO - GECKO(10148) | #02: mozilla::webgpu::WebGPUParent::Release() [dom/webgpu/ipc/WebGPUParent.h:45]
[task 2024-01-26T01:22:00.421Z] 01:22:00     INFO - GECKO(10148) | #03: mozilla::webgpu::PWebGPUParent::ActorDealloc() [s3:gecko-generated-sources:aeef733bfca21d1ebba4267342ba726d6492564e508931b412ddf8e12d05ac1090ca2704aee69688f137c0c12eb4b5525d56d369b2294cb4aa325430c0f2a0d7/ipc/ipdl/PWebGPUParent.cpp::51]
[task 2024-01-26T01:22:00.422Z] 01:22:00     INFO - GECKO(10148) | #04: mozilla::ipc::ActorLifecycleProxy::~ActorLifecycleProxy() [ipc/glue/ProtocolUtils.cpp:300]
[task 2024-01-26T01:22:00.423Z] 01:22:00     INFO - GECKO(10148) | #05: mozilla::ipc::ActorLifecycleProxy::Release() [ipc/glue/ProtocolUtils.h:652]
[task 2024-01-26T01:22:00.424Z] 01:22:00     INFO - GECKO(10148) | #06: mozilla::gfx::PCanvasManagerParent::ClearSubtree() [s3:gecko-generated-sources:f0f92794d59ce211f13900af1347d7644d03d6aefb2c3506c31d5cf7d17cdaf4d0ed23d4efbb1ac569448c252819bfd6ac27d880567c4125b46fe97a40f86e97/ipc/ipdl/PCanvasManagerParent.cpp::652]
[task 2024-01-26T01:22:00.425Z] 01:22:00     INFO - GECKO(10148) | #07: mozilla::gfx::PCanvasManagerParent::OnChannelClose() [s3:gecko-generated-sources:f0f92794d59ce211f13900af1347d7644d03d6aefb2c3506c31d5cf7d17cdaf4d0ed23d4efbb1ac569448c252819bfd6ac27d880567c4125b46fe97a40f86e97/ipc/ipdl/PCanvasManagerParent.cpp::608]
[task 2024-01-26T01:22:00.426Z] 01:22:00     INFO - GECKO(10148) | #08: mozilla::ipc::MessageChannel::NotifyChannelClosed(mozilla::ReleasableMonitorAutoLock&) [ipc/glue/MessageChannel.cpp:2215]
[task 2024-01-26T01:22:00.426Z] 01:22:00     INFO - GECKO(10148) | #09: mozilla::ipc::MessageChannel::NotifyMaybeChannelError(mozilla::ReleasableMonitorAutoLock&) [ipc/glue/MessageChannel.cpp:2064]
[task 2024-01-26T01:22:00.427Z] 01:22:00     INFO - GECKO(10148) | #10: mozilla::ipc::MessageChannel::OnNotifyMaybeChannelError() [ipc/glue/MessageChannel.cpp:2090]
[task 2024-01-26T01:22:00.427Z] 01:22:00     INFO - GECKO(10148) | #11: mozilla::detail::RunnableMethodImpl<mozilla::ipc::MessageChannel *,void (mozilla::ipc::MessageChannel::*)() __attribute__((thiscall)),0,1>::Run() [xpcom/threads/nsThreadUtils.h:1216]
[task 2024-01-26T01:22:00.428Z] 01:22:00     INFO - GECKO(10148) | #12: nsThread::ProcessNextEvent(bool, bool*) [xpcom/threads/nsThread.cpp:1194]
[task 2024-01-26T01:22:00.428Z] 01:22:00     INFO - GECKO(10148) | #13: NS_ProcessNextEvent(nsIThread*, bool) [xpcom/threads/nsThreadUtils.cpp:480]
[task 2024-01-26T01:22:00.429Z] 01:22:00     INFO - GECKO(10148) | #14: mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) [ipc/glue/MessagePump.cpp:330]
[task 2024-01-26T01:22:00.429Z] 01:22:00     INFO - GECKO(10148) | #15: MessageLoop::RunInternal() [ipc/chromium/src/base/message_loop.cc:370]
[task 2024-01-26T01:22:00.430Z] 01:22:00     INFO - GECKO(10148) | #16: MessageLoop::Run() [ipc/chromium/src/base/message_loop.cc:346]
[task 2024-01-26T01:22:00.431Z] 01:22:00     INFO - GECKO(10148) | #17: nsThread::ThreadFunc(void*) [xpcom/threads/nsThread.cpp:372]
[task 2024-01-26T01:22:00.647Z] 01:22:00     INFO - GECKO(10148) | #18: _PR_NativeRunThread(void*) [nsprpub/pr/src/threads/combined/pruthr.c:399]
[task 2024-01-26T01:22:00.648Z] 01:22:00     INFO - GECKO(10148) | #19: pr_root(void*) [nsprpub/pr/src/md/windows/w95thred.c:139]
[task 2024-01-26T01:22:00.651Z] 01:22:00     INFO -  fix-stacks: error: failed to read debug info file `ucrtbase.pdb` for `C:\Windows\System32\ucrtbase.dll`
[task 2024-01-26T01:22:00.652Z] 01:22:00     INFO -  fix-stacks: note: this is expected and harmless for all PDB files on opt automation runs
[task 2024-01-26T01:22:00.652Z] 01:22:00     INFO -  fix-stacks: The system cannot find the file specified. (os error 2)
[task 2024-01-26T01:22:00.653Z] 01:22:00     INFO - GECKO(10148) | #20: time32 [C:\Windows\System32\ucrtbase.dll + 0x459d3]
[task 2024-01-26T01:22:00.656Z] 01:22:00     INFO -  fix-stacks: error: failed to read debug info file `wkernel32.pdb` for `C:\Windows\System32\KERNEL32.DLL`
[task 2024-01-26T01:22:00.656Z] 01:22:00     INFO -  fix-stacks: note: this is expected and harmless for all PDB files on opt automation runs
[task 2024-01-26T01:22:00.657Z] 01:22:00     INFO -  fix-stacks: The system cannot find the file specified. (os error 2)
[task 2024-01-26T01:22:00.657Z] 01:22:00     INFO - GECKO(10148) | #21: BaseThreadInitThunk [C:\Windows\System32\KERNEL32.DLL + 0x17ba9]
[task 2024-01-26T01:22:00.831Z] 01:22:00     INFO - GECKO(10148) | #22: Z23DllBlocklist_Initializej [Z:\task_170622997413941\build\application\firefox\mozglue.dll + 0x8222c]
[task 2024-01-26T01:22:00.835Z] 01:22:00     INFO -  fix-stacks: error: failed to read debug info file `wntdll.pdb` for `C:\Windows\SYSTEM32\ntdll.dll`
[task 2024-01-26T01:22:00.835Z] 01:22:00     INFO -  fix-stacks: note: this is expected and harmless for all PDB files on opt automation runs
[task 2024-01-26T01:22:00.835Z] 01:22:00     INFO -  fix-stacks: The system cannot find the file specified. (os error 2)
[task 2024-01-26T01:22:00.836Z] 01:22:00     INFO - GECKO(10148) | #23: RtlInitializeExceptionChain [C:\Windows\SYSTEM32\ntdll.dll + 0x6bd3b]
[task 2024-01-26T01:22:00.837Z] 01:22:00     INFO - GECKO(10148) | #24: RtlClearBits [C:\Windows\SYSTEM32\ntdll.dll + 0x6bcbf]
[task 2024-01-26T01:22:00.837Z] 01:22:00     INFO - GECKO(10148) | [Parent 10816, IPC I/O Parent] WARNING: [1.1]: Ignoring message 'EVENT_MESSAGE' to unknown peer 1C2DFF274C0D9208.4DBB95D1E38B28F1: file /builds/worker/checkouts/gecko/ipc/glue/NodeController.cpp:344
[task 2024-01-26T01:22:00.838Z] 01:22:00     INFO - GECKO(10148) | [Parent 10816, IPC I/O Parent] WARNING: [1.1]: Ignoring message 'EVENT_MESSAGE' to unknown peer 1C2DFF274C0D9208.4DBB95D1E38B28F1: file /builds/worker/checkouts/gecko/ipc/glue/NodeController.cpp:344
[task 2024-01-26T01:22:00.839Z] 01:22:00     INFO - GECKO(10148) | [GFX1-]: CompositorBridgeChild receives IPC close with reason=Ab[Parent 10816, IPC I/O Parent] WARNING: [1.1]: Ignoring message 'EVENT_MESSAGE' to unknown peer 1C2DFF274C0D9208.4DBB95D1E38B28F1: file /builds/worker/checkouts/gecko/ipc/glue/NodeController.cpp:344
[task 2024-01-26T01:22:00.840Z] 01:22:00     INFO - GECKO(10148) | normalShutdown
[task 2024-01-26T01:22:00.840Z] 01:22:00     INFO - GECKO(10148) | [Parent 10816, Main Thread] WARNING: [1.1]: Ignoring message 'EVENT_MESSAGE' to unknown peer 1C2DFF274C0D9208.4DBB95D1E38B28F1: file /builds/worker/checkouts/gecko/ipc/glue/NodeController.cpp:344
[task 2024-01-26T01:22:00.841Z] 01:22:00     INFO - GECKO(10148) | [GFX1-]: CompositorBridgeChild receives IPC close with reason=AbnormalShutdown
[task 2024-01-26T01:22:00.841Z] 01:22:00     INFO - GECKO(10148) | [Parent 10816, IPC I/O Parent] WARNING: [1.1]: Ignoring message 'EVENT_MESSAGE' to unknown peer 1C2DFF274C0D9208.4DBB95D1E38B28F1: file /builds/worker/checkouts/gecko/ipc/glue/NodeController.cpp:344
[task 2024-01-26T01:22:00.842Z] 01:22:00     INFO - GECKO(10148) | [Parent 10816, IPC I/O Parent] WARNING: [1.1]: Ignoring message 'EVENT_MESSAGE' to unknown peer 1C2DFF274C0D9208.4DBB95D1E38B28F1: file /builds/worker/checkouts/gecko/ipc/glue/NodeController.cpp:344
[task 2024-01-26T01:22:00.842Z] 01:22:00     INFO - GECKO(10148) | [Parent 10816, IPC I/O Parent] WARNING: [1.1]: Ignoring message 'EVENT_MESSAGE' to unknown peer 1C2DFF274C0D9208.4DBB95D1E38B28F1: file /builds/worker/checkouts/gecko/ipc/glue/NodeController.cpp:344
[task 2024-01-26T01:22:00.843Z] 01:22:00     INFO - GECKO(10148) | [Parent 10816, IPC I/O Parent] WARNING: [1.1]: Ignoring message 'EVENT_MESSAGE' to unknown peer 1C2DFF274C0D9208.4DBB95D1E38B28F1: file /builds/worker/checkouts/gecko/ipc/glue/NodeController.cpp:344
[task 2024-01-26T01:22:00.844Z] 01:22:00     INFO - GECKO(10148) | [Parent 10816, IPC I/O Parent] WARNING: [1.1]: GetUserData call for port 'FD6D27EE3C80E88A.7C2E4CB430F818B2' failed: file /builds/worker/checkouts/gecko/ipc/glue/NodeController.cpp:406
[task 2024-01-26T01:22:00.846Z] 01:22:00     INFO - GECKO(10148) | [Parent 10816, IPC I/O Parent] WARNING: [1.1]: Rejecting introduction request from 'DC1B4E7F60D5FBA6.3A7F8B7CBC94BA9D' for unknown peer '1C2DFF274C0D9208.4DBB95D1E38B28F1': file /builds/worker/checkouts/gecko/ipc/glue/NodeController.cpp:676
[task 2024-01-26T01:22:00.846Z] 01:22:00     INFO - GECKO(10148) | [GFX1-]: Compos[[GFiGXFto1-X]1-: rC]B: oComrmipposoistiotrodBgerrBiCrhiidldgde[Parent 10816, IPC I/O Parent] WARNING: [1.1]: Rejecting introduction request from 'BCDA589BF1A262B8.1C1FE52422002A58' for unknown peer '1C2DFF274C0D9208.4DBB95D1E38B28F1': file /builds/worker/checkouts/gecko/ipc/glue/NodeController.cpp:676
[task 2024-01-26T01:22:00.846Z] 01:22:00     INFO - GECKO(10148) | geC hCrhieicellidvd  rers eecIceeiPiCv ecsv eIlsoP sIPCC e  clcwlioostsee h  wwrieitha s[GFoX1-]n[Parent 10816, IPC I/O Parent] WARNING: [1.1]: Rejecting introduction request from '4D6289E7E1C3B8BB.EC7A6E5A6447E576' for unknown peer '1C2DFF274C0D9208.4DBB95D1E38B28F1': file /builds/worker/checkouts/gecko/ipc/glue/NodeController.cpp:676
[task 2024-01-26T01:22:00.847Z] 01:22:00     INFO - GECKO(10148) | =rAet:h  absrnCeoon=Aoabsornmoarmposinl=AtmoalbnoSrmSrahlBhSurthdutoiduowwdtnnd
[task 2024-01-26T01:22:00.848Z] 01:22:00     INFO - GECKO(10148) | gowe
[task 2024-01-26T01:22:00.848Z] 01:22:00     INFO - GECKO(10148) | n
[task 2024-01-26T01:22:00.849Z] 01:22:00     INFO - GECKO(10148) | Child receives IPC close with rea[Parent 10816, IPC I/O Parent] WARNING: [1.1]: Rejecting introduction request from 'BD012D446632F07C.E5C486BAC3260992' for unknown peer '1C2DFF274C0D9208.4DBB95D1E38B28F1': file /builds/worker/checkouts/gecko/ipc/glue/NodeController.cpp:676
[task 2024-01-26T01:22:00.849Z] 01:22:00     INFO - GECKO(10148) | son=AbnormalShutdown
[task 2024-01-26T01:22:00.850Z] 01:22:00     INFO - GECKO(10148) | [Parent 10816, IPC I/O Parent] WARNING: [1.1]: Rejecting introduction request from '41BE41D4EE96F9F4.60F6E30A6638339D' for unknown peer '1C2DFF274C0D9208.4DBB95D1E38B28F1': file /builds/worker/checkouts/gecko/ipc/glue/NodeController.cpp:676
[task 2024-01-26T01:22:00.851Z] 01:22:00     INFO - GECKO(10148) | [Parent 10816, IPC I/O Parent] WARNING: [1.1]: Rejecting introduction request from 'E81D7CC11565F987.70C009AAB62894BA' for unknown peer '1C2DFF274C0D9208.4DBB95D1E38B28F1': file /builds/worker/checkouts/gecko/ipc/glue/NodeController.cpp:676
[task 2024-01-26T01:22:00.851Z] 01:22:00     INFO - TEST-INFO | started process screenshot
[task 2024-01-26T01:22:01.095Z] 01:22:01     INFO - TEST-INFO | screenshot: exit 0
[task 2024-01-26T01:22:01.097Z] 01:22:01     INFO - Buffered messages logged at 01:21:40
[task 2024-01-26T01:22:01.097Z] 01:22:01     INFO - TEST-PASS | dom/webgpu/mochitest/test_buffer_mapping.html | Pref should be enabled. 
[task 2024-01-26T01:22:01.097Z] 01:22:01     INFO - Buffered messages finished
[task 2024-01-26T01:22:01.098Z] 01:22:01     INFO - TEST-UNEXPECTED-FAIL | dom/webgpu/mochitest/test_buffer_mapping.html | Unhandled exception AbortError: Internal communication error!
Status: RESOLVED → REOPENED
Flags: needinfo?(bwerth)
Resolution: FIXED → ---
Target Milestone: 124 Branch → ---
Flags: needinfo?(bwerth)
Pushed by bwerth@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/39c97da20626 Part 1: Make WebGPUParent supply a device lost callback. r=ErichDonGubler,webgpu-reviewers,nical https://hg.mozilla.org/integration/autoland/rev/26f908c2a616 Part 2: Add a test that awaits the device.lost promise. r=ErichDonGubler
Status: REOPENED → RESOLVED
Closed: 8 months ago8 months ago
Resolution: --- → FIXED
Target Milestone: --- → 124 Branch
Flags: needinfo?(bwerth)
Regressions: 1877046

(In reply to Natalia Csoregi [:nataliaCs] from comment #13)

Backed out for causing failures on test_device_lost.html .

[task 2024-01-24T01:13:27.810Z] 01:13:27     INFO - TEST-PASS | dom/webgpu/mochitest/test_device_lost.html | Pref should be enabled. 
[task 2024-01-24T01:13:27.810Z] 01:13:27     INFO - Buffered messages finished
[task 2024-01-24T01:13:27.812Z] 01:13:27     INFO - TEST-UNEXPECTED-PASS | dom/webgpu/mochitest/test_device_lost.html | fail-if condition in manifest - We expected at least one failure
[task 2024-01-24T01:13:27.812Z] 01:13:27     INFO - TEST-INFO | expected FAIL
[task 2024-01-24T01:13:27.825Z] 01:13:27     INFO - GECKO(1654) | MEMORY STAT | vsize 2583MB | residentFast 139MB | heapAllocated 7MB
[task 2024-01-24T01:13:27.832Z] 01:13:27     INFO - GECKO(1654) | Validation error without device target: No suitable adapter found
[task 2024-01-24T01:13:27.834Z] 01:13:27     INFO - GECKO(1654) | Validation error without device target: No suitable adapter found
[task 2024-01-24T01:13:27.846Z] 01:13:27     INFO - TEST-PASS | dom/webgpu/mochitest/test_device_lost.html | Unhandled exception TypeError: can't access property "limits", adapter is null 

== Change summary for alert #41228 (as of Tue, 30 Jan 2024 10:31:50 GMT) ==

Improvements:

Ratio Test Platform Options Absolute values (old vs new) Performance Profiles
8% office loadtime windows10-64-shippable-qr cold fission webrender 730.08 -> 669.44 Before/After

For up to date results, see: https://treeherder.mozilla.org/perfherder/alerts?id=41228

Keywords: perf-alert
Regressions: 1896195
No longer regressions: 1896195
Regressions: 1896195
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: