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 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]
(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]

Back to Bug 1856765 Comment 8