(In reply to Jim Blandy :jimb from comment #6) > Could you attach the output from `about:support` on the machine on which this was reproduced? Sure. I reproduced it easily on two different PCs, one with Windows 10 home, one with Windows 11 Enterprise. One crash stack on the win 11 machine: 119.0a1 (2023-10-01) (64-bit) Windows 11 Enterprise 22H2 build 22621.2283 Unhandled exception at 0x00007FFBD90A9717 (d3d10warp.dll) in firefox.exe: An out of range switch jumptable entry was invoked. 00007FFBD90A96FC xor byte ptr [rsi+4900h],cl 00007FFBD90A9702 mov r15,qword ptr [rsp+60h] 00007FFBD90A9707 movzx r12d,byte ptr [rsp+51h] 00007FFBD90A970D jmp UMCommandQueue::ExecuteCommandList+5B9h (07FFBD90A86C9h) 00007FFBD90A9712 mov ecx,25h 00007FFBD90A9717 int 29h ECX 00000025 R12D 00000000 RSP 00000076DD83B840 > d3d10warp.dll!UMCommandQueue::ExecuteCommandList(struct UMCommand const *,struct D3D12DDI_HCOMMANDLIST,class UMCommandList *) Unknown d3d10warp.dll!UMCommandQueue::ExecuteCommandLists(struct D3D12DDI_HCOMMANDQUEUE,unsigned int,struct D3D12DDI_HCOMMANDLIST const *) Unknown D3D12Core.dll!CCommandQueue<0>::ExecuteCommandListsImpl(unsigned int,struct ID3D12CommandList * const *) Unknown D3D12Core.dll!CCommandQueue<0>::ExecuteCommandLists(unsigned int,struct ID3D12CommandList * const *) Unknown d3d12SDKLayers.dll!NDebug::CCommandQueue::ExecuteCommandListsImpl(class NDebug::CInterfaceSentinel::CFunctionSentinel &,unsigned int,struct ID3D12CommandList * const *,class NDebug::CCastableCommandList<struct ID3D12CommandList> * const *) Unknown d3d12SDKLayers.dll!NDebug::CCommandQueue::ExecuteCommandLists(unsigned int,struct ID3D12CommandList * const *) Unknown xul.dll!d3d12::com::ComPtr<winapi::um::d3d12::ID3D12CommandQueue>::execute_command_lists(ref$<slice2$<d3d12::com::ComPtr<winapi::um::d3d12::ID3D12CommandList>>> self) Line 27 Rust xul.dll!wgpu_hal::dx12::impl$42::submit(wgpu_hal::dx12::Queue * self, ref$<slice2$<ref$<wgpu_hal::dx12::CommandBuffer>>>) Line 835 Rust xul.dll!wgpu_core::global::Global<wgpu_bindings::identity::IdentityRecyclerFactory>::queue_submit<wgpu_bindings::identity::IdentityRecyclerFactory,wgpu_hal::dx12::Api>(wgpu_core::id::Id<wgpu_core::device::resource::Device<wgpu_hal::empty::Api>> self, ref$<slice2$<wgpu_core::id::Id<wgpu_core::command::CommandBuffer<wgpu_hal::empty::Api>>>> queue_id) Line 1369 Rust xul.dll!wgpu_bindings::server::wgpu_server_queue_submit(wgpu_bindings::server::Global * global, wgpu_core::id::Id<wgpu_core::device::resource::Device<wgpu_hal::empty::Api>> self_id, wgpu_core::id::Id<wgpu_core::command::CommandBuffer<wgpu_hal::empty::Api>> * command_buffer_ids, unsigned __int64 command_buffer_id_length, wgpu_bindings::error::ErrorBuffer error_buf) Line 790 Rust xul.dll!mozilla::webgpu::WebGPUParent::RecvQueueSubmit(unsigned __int64 aQueueId, unsigned __int64 aDeviceId, const nsTArray<unsigned long long> & aCommandBuffers) Line 662 C++ xul.dll!mozilla::webgpu::PWebGPUParent::OnMessageReceived(const IPC::Message & msg__) Line 1512 C++ xul.dll!mozilla::gfx::PCanvasManagerParent::OnMessageReceived(const IPC::Message & msg__) Line 214 C++ xul.dll!mozilla::ipc::MessageChannel::DispatchAsyncMessage(mozilla::ipc::ActorLifecycleProxy * aProxy, const IPC::Message & aMsg) Line 1800 C++ xul.dll!mozilla::ipc::MessageChannel::DispatchMessage(mozilla::ipc::ActorLifecycleProxy * aProxy, mozilla::UniquePtr<IPC::Message,mozilla::DefaultDelete<IPC::Message>> aMsg) Line 1725 C++ xul.dll!mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::ActorLifecycleProxy * aProxy, mozilla::ipc::MessageChannel::MessageTask & aTask) Line 1525 C++ xul.dll!mozilla::ipc::MessageChannel::MessageTask::Run() Line 1632 C++ xul.dll!nsThread::ProcessNextEvent(bool aMayWait, bool * aResult) Line 1194 C++ xul.dll!NS_ProcessNextEvent(nsIThread * aThread, bool aMayWait) Line 480 C++ xul.dll!mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate * aDelegate) Line 330 C++ xul.dll!MessageLoop::RunHandler() Line 364 C++ xul.dll!MessageLoop::Run() Line 346 C++ xul.dll!nsThread::ThreadFunc(void * aArg) Line 393 C++ nss3.dll!_PR_NativeRunThread(void * arg) Line 408 C nss3.dll!pr_root(void * arg) Line 140 C [External Code] [Inline Frame] mozglue.dll!mozilla::interceptor::FuncHook<mozilla::interceptor::WindowsDllInterceptor<mozilla::interceptor::VMSharingPolicyShared>,void (*)(int, void *, void *)>::operator()(int & aArgs, void * & aArgs, void * & aArgs) Line 150 C++ mozglue.dll!patched_BaseThreadInitThunk(int aIsInitialThread, void * aStartAddress, void * aThreadParam) Line 561 C++ [External Code]
Bug 1856765 Comment 8 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
(In reply to Jim Blandy :jimb from comment #6) > Could you attach the output from `about:support` on the machine on which this was reproduced? Sure. I reproduced it easily on two different PCs, one with Windows 11 home, one with Windows 11 Enterprise. One crash stack on the win 11 machine: 119.0a1 (2023-10-01) (64-bit) Windows 11 Enterprise 22H2 build 22621.2283 Unhandled exception at 0x00007FFBD90A9717 (d3d10warp.dll) in firefox.exe: An out of range switch jumptable entry was invoked. 00007FFBD90A96FC xor byte ptr [rsi+4900h],cl 00007FFBD90A9702 mov r15,qword ptr [rsp+60h] 00007FFBD90A9707 movzx r12d,byte ptr [rsp+51h] 00007FFBD90A970D jmp UMCommandQueue::ExecuteCommandList+5B9h (07FFBD90A86C9h) 00007FFBD90A9712 mov ecx,25h 00007FFBD90A9717 int 29h ECX 00000025 R12D 00000000 RSP 00000076DD83B840 > d3d10warp.dll!UMCommandQueue::ExecuteCommandList(struct UMCommand const *,struct D3D12DDI_HCOMMANDLIST,class UMCommandList *) Unknown d3d10warp.dll!UMCommandQueue::ExecuteCommandLists(struct D3D12DDI_HCOMMANDQUEUE,unsigned int,struct D3D12DDI_HCOMMANDLIST const *) Unknown D3D12Core.dll!CCommandQueue<0>::ExecuteCommandListsImpl(unsigned int,struct ID3D12CommandList * const *) Unknown D3D12Core.dll!CCommandQueue<0>::ExecuteCommandLists(unsigned int,struct ID3D12CommandList * const *) Unknown d3d12SDKLayers.dll!NDebug::CCommandQueue::ExecuteCommandListsImpl(class NDebug::CInterfaceSentinel::CFunctionSentinel &,unsigned int,struct ID3D12CommandList * const *,class NDebug::CCastableCommandList<struct ID3D12CommandList> * const *) Unknown d3d12SDKLayers.dll!NDebug::CCommandQueue::ExecuteCommandLists(unsigned int,struct ID3D12CommandList * const *) Unknown xul.dll!d3d12::com::ComPtr<winapi::um::d3d12::ID3D12CommandQueue>::execute_command_lists(ref$<slice2$<d3d12::com::ComPtr<winapi::um::d3d12::ID3D12CommandList>>> self) Line 27 Rust xul.dll!wgpu_hal::dx12::impl$42::submit(wgpu_hal::dx12::Queue * self, ref$<slice2$<ref$<wgpu_hal::dx12::CommandBuffer>>>) Line 835 Rust xul.dll!wgpu_core::global::Global<wgpu_bindings::identity::IdentityRecyclerFactory>::queue_submit<wgpu_bindings::identity::IdentityRecyclerFactory,wgpu_hal::dx12::Api>(wgpu_core::id::Id<wgpu_core::device::resource::Device<wgpu_hal::empty::Api>> self, ref$<slice2$<wgpu_core::id::Id<wgpu_core::command::CommandBuffer<wgpu_hal::empty::Api>>>> queue_id) Line 1369 Rust xul.dll!wgpu_bindings::server::wgpu_server_queue_submit(wgpu_bindings::server::Global * global, wgpu_core::id::Id<wgpu_core::device::resource::Device<wgpu_hal::empty::Api>> self_id, wgpu_core::id::Id<wgpu_core::command::CommandBuffer<wgpu_hal::empty::Api>> * command_buffer_ids, unsigned __int64 command_buffer_id_length, wgpu_bindings::error::ErrorBuffer error_buf) Line 790 Rust xul.dll!mozilla::webgpu::WebGPUParent::RecvQueueSubmit(unsigned __int64 aQueueId, unsigned __int64 aDeviceId, const nsTArray<unsigned long long> & aCommandBuffers) Line 662 C++ xul.dll!mozilla::webgpu::PWebGPUParent::OnMessageReceived(const IPC::Message & msg__) Line 1512 C++ xul.dll!mozilla::gfx::PCanvasManagerParent::OnMessageReceived(const IPC::Message & msg__) Line 214 C++ xul.dll!mozilla::ipc::MessageChannel::DispatchAsyncMessage(mozilla::ipc::ActorLifecycleProxy * aProxy, const IPC::Message & aMsg) Line 1800 C++ xul.dll!mozilla::ipc::MessageChannel::DispatchMessage(mozilla::ipc::ActorLifecycleProxy * aProxy, mozilla::UniquePtr<IPC::Message,mozilla::DefaultDelete<IPC::Message>> aMsg) Line 1725 C++ xul.dll!mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::ActorLifecycleProxy * aProxy, mozilla::ipc::MessageChannel::MessageTask & aTask) Line 1525 C++ xul.dll!mozilla::ipc::MessageChannel::MessageTask::Run() Line 1632 C++ xul.dll!nsThread::ProcessNextEvent(bool aMayWait, bool * aResult) Line 1194 C++ xul.dll!NS_ProcessNextEvent(nsIThread * aThread, bool aMayWait) Line 480 C++ xul.dll!mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate * aDelegate) Line 330 C++ xul.dll!MessageLoop::RunHandler() Line 364 C++ xul.dll!MessageLoop::Run() Line 346 C++ xul.dll!nsThread::ThreadFunc(void * aArg) Line 393 C++ nss3.dll!_PR_NativeRunThread(void * arg) Line 408 C nss3.dll!pr_root(void * arg) Line 140 C [External Code] [Inline Frame] mozglue.dll!mozilla::interceptor::FuncHook<mozilla::interceptor::WindowsDllInterceptor<mozilla::interceptor::VMSharingPolicyShared>,void (*)(int, void *, void *)>::operator()(int & aArgs, void * & aArgs, void * & aArgs) Line 150 C++ mozglue.dll!patched_BaseThreadInitThunk(int aIsInitialThread, void * aStartAddress, void * aThreadParam) Line 561 C++ [External Code]