Hit MOZ_CRASH(Buffer[Id(0,1)] does not exist) at /third_party/rust/wgpu-core/src/storage.rs:129
Categories
(Core :: Graphics: WebGPU, defect, P1)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox-esr115 | --- | unaffected |
| firefox-esr128 | --- | unaffected |
| firefox139 | --- | disabled |
| firefox140 | --- | disabled |
| firefox141 | --- | verified |
People
(Reporter: jkratzer, Assigned: teoxoy)
References
(Blocks 1 open bug, Regression)
Details
(Keywords: regression, testcase, Whiteboard: [bugmon:bisected,confirmed])
Attachments
(2 files)
Testcase found while fuzzing mozilla-central rev 5f5c3d10232a (built with: --enable-address-sanitizer --enable-fuzzing).
Testcase can be reproduced using the following commands:
$ pip install fuzzfetch grizzly-framework --upgrade
$ python -m fuzzfetch --build 5f5c3d10232a --asan --fuzzing -n firefox
$ python -m grizzly.replay.bugzilla ./firefox/firefox <bugid>
Hit MOZ_CRASH(Buffer[Id(0,1)] does not exist) at /third_party/rust/wgpu-core/src/storage.rs:129
=================================================================
==1708074==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000001 (pc 0x7f2d10f03663 bp 0x7f2ca0e05750 sp 0x7f2ca0e05740 T72)
==1708074==The signal is caused by a WRITE memory access.
==1708074==Hint: address points to the zero page.
#0 0x7f2d10f03663 in MOZ_CrashSequence /builds/worker/workspace/obj-build/dist/include/mozilla/Assertions.h:248:3
#1 0x7f2d10f03663 in MOZ_Crash /builds/worker/workspace/obj-build/dist/include/mozilla/Assertions.h:381:3
#2 0x7f2d10f03663 in RustMozCrash /mozglue/static/rust/wrappers.cpp:18:3
#3 0x7f2d10f01ee7 in mozglue_static::panic_hook::heee11e1d1c1b52d8 /mozglue/static/rust/lib.rs:99:9
#4 0x7f2d10f01ee7 in core::ops::function::Fn::call::h31664a0eaade1427 /builds/worker/fetches/rust/library/core/src/ops/function.rs:79:5
#5 0x7f2d149e49f9 in std::panicking::rust_panic_with_hook::h089cf39f00799133 std.b0550a264f4b45a7-cgu.13
#6 0x7f2d149d8e86 in std::panicking::begin_panic_handler::_$u7b$$u7b$closure$u7d$$u7d$::hf02865fc1697377b std.b0550a264f4b45a7-cgu.10
#7 0x7f2d149d8998 in std::sys::backtrace::__rust_end_short_backtrace::h92bc9e113a7f691d std.b0550a264f4b45a7-cgu.10
#8 0x7f2d149e4403 in rust_begin_unwind std.b0550a264f4b45a7-cgu.13
#9 0x7f2d14a12452 in core::panicking::panic_fmt::he169818ca2499665 core.2e3d2901cc719945-cgu.15
#10 0x7f2d0e60df99 in wgpu_core::storage::Storage$LT$T$GT$::get::h709689dab838d6ec /third_party/rust/wgpu-core/src/storage.rs:129:46
#11 0x7f2d0e466088 in wgpu_core::registry::Registry$LT$T$GT$::get::h313e7b26759bf882 /third_party/rust/wgpu-core/src/registry.rs:123:9
#12 0x7f2d0e466088 in wgpu_core::command::compute::_$LT$impl$u20$wgpu_core..global..Global$GT$::compute_pass_dispatch_workgroups_indirect::hfc239ce45cd718e0 /third_party/rust/wgpu-core/src/command/compute.rs:1226:22
#13 0x7f2d0dfec597 in wgpu_bindings::command::replay_compute_pass_impl::h453d09770285a5c0 /gfx/wgpu_bindings/src/command.rs:978:17
#14 0x7f2d0dfec597 in wgpu_bindings::command::replay_compute_pass::hdba4e664e78d67d1 /gfx/wgpu_bindings/src/command.rs:939:23
#15 0x7f2d0e02f977 in _$LT$wgpu_bindings..server..Global$u20$as$u20$wgpu_bindings..server..wgpu_server_compute_pass..ReplayComputePass$GT$::replay_compute_pass::hee3d4166a9623925 /gfx/wgpu_bindings/src/server.rs:2438:13
#16 0x7f2d0e02f977 in wgpu_server_compute_pass /gfx/wgpu_bindings/src/server.rs:2442:5
#17 0x7f2d04ab431a in mozilla::webgpu::WebGPUParent::RecvComputePass(unsigned long, unsigned long, mozilla::ipc::ByteBuf const&) /dom/webgpu/ipc/WebGPUParent.cpp:1716:3
#18 0x7f2d04ad187d in mozilla::webgpu::PWebGPUParent::OnMessageReceived(IPC::Message const&) /builds/worker/workspace/obj-build/ipc/ipdl/PWebGPUParent.cpp:618:80
#19 0x7f2d01317059 in mozilla::gfx::PCanvasManagerParent::OnMessageReceived(IPC::Message const&) /builds/worker/workspace/obj-build/ipc/ipdl/PCanvasManagerParent.cpp:261:32
#20 0x7f2cff92b711 in mozilla::ipc::MessageChannel::DispatchAsyncMessage(mozilla::ipc::ActorLifecycleProxy*, IPC::Message const&) /ipc/glue/MessageChannel.cpp:1789:25
#21 0x7f2cff927b08 in mozilla::ipc::MessageChannel::DispatchMessage(mozilla::ipc::ActorLifecycleProxy*, mozilla::UniquePtr<IPC::Message, mozilla::DefaultDelete<IPC::Message>>) /ipc/glue/MessageChannel.cpp:1716:9
#22 0x7f2cff9289a4 in mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::ActorLifecycleProxy*, mozilla::ipc::MessageChannel::MessageTask&) /ipc/glue/MessageChannel.cpp:1507:3
#23 0x7f2cff929ea3 in mozilla::ipc::MessageChannel::MessageTask::Run() /ipc/glue/MessageChannel.cpp:1607:14
#24 0x7f2cfe2bd54c in nsThread::ProcessNextEvent(bool, bool*) /xpcom/threads/nsThread.cpp:1153:16
#25 0x7f2cfe2c7b28 in NS_ProcessNextEvent(nsIThread*, bool) /xpcom/threads/nsThreadUtils.cpp:480:10
#26 0x7f2cff935a1c in mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) /ipc/glue/MessagePump.cpp:329:5
#27 0x7f2cff818794 in RunInternal /ipc/chromium/src/base/message_loop.cc:369:10
#28 0x7f2cff818794 in RunHandler /ipc/chromium/src/base/message_loop.cc:362:3
#29 0x7f2cff818794 in MessageLoop::Run() /ipc/chromium/src/base/message_loop.cc:344:3
#30 0x7f2cfe2b6390 in nsThread::ThreadFunc(void*) /xpcom/threads/nsThread.cpp:366:10
#31 0x7f2d2166174b in _pt_root /nsprpub/pr/src/pthreads/ptthread.c:191:3
#32 0x5a9203c08406 in asan_thread_start(void*) /builds/worker/fetches/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:239:28
#33 0x7f2d21bedaa3 in start_thread nptl/pthread_create.c:447:8
#34 0x7f2d21c7ac3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
==1708074==Register values:
rax = 0x0000000000000081 rbx = 0x0000000000000081 rcx = 0x0000000000000001 rdx = 0x0000000000000000
rdi = 0x00005a9203d830d0 rsi = 0x00007f2ca0e056f8 rbp = 0x00007f2ca0e05750 rsp = 0x00007f2ca0e05740
r8 = 0x0000000000000000 r9 = 0x0000000000000000 r10 = 0xffffff0000000000 r11 = 0x4000000000000000
r12 = 0x00000fe613a8e600 r13 = 0x0000000000000081 r14 = 0x00007f2c9d4b32b4 r15 = 0x00007f2c9d4b3024
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /builds/worker/workspace/obj-build/dist/include/mozilla/Assertions.h:248:3 in MOZ_CrashSequence
Thread T72 created by T0 here:
#0 0x5a9203bf19e1 in pthread_create /builds/worker/fetches/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:250:3
#1 0x7f2d216522b9 in _PR_CreateThread /nsprpub/pr/src/pthreads/ptthread.c:429:10
#2 0x7f2d216404fe in PR_CreateThread /nsprpub/pr/src/pthreads/ptthread.c:496:10
#3 0x7f2cfe2b8d91 in nsThread::Init(nsTSubstring<char> const&) /xpcom/threads/nsThread.cpp:615:20
#4 0x7f2cfe2c63f6 in nsThreadManager::NewNamedThread(nsTSubstring<char> const&, nsIThreadManager::ThreadCreationOptions, nsIThread**) /xpcom/threads/nsThreadManager.cpp:619:22
#5 0x7f2cfe2d0d19 in NS_NewNamedThread(nsTSubstring<char> const&, nsIThread**, already_AddRefed<nsIRunnable>, nsIThreadManager::ThreadCreationOptions) /xpcom/threads/nsThreadUtils.cpp:176:57
#6 0x7f2d012deca0 in NS_NewNamedThread<15UL> /xpcom/threads/nsThreadUtils.h:76:10
#7 0x7f2d012deca0 in mozilla::gfx::CanvasRenderThread::Start() /gfx/ipc/CanvasRenderThread.cpp:115:17
#8 0x7f2d010d6132 in gfxPlatform::Init() /gfx/thebes/gfxPlatform.cpp:975:3
#9 0x7f2d088dc8b4 in GetPlatform /builds/worker/workspace/obj-build/dist/include/gfxPlatform.h:184:7
#10 0x7f2d088dc8b4 in mozilla::widget::GfxInfoBase::GetContentBackend(nsTSubstring<char16_t>&) /widget/GfxInfoBase.cpp:1809:25
#11 0x7f2cfe30622d in NS_InvokeByIndex /xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_x86_64_unix.S:101
#12 0x7f2cffbf3d74 in Invoke /js/xpconnect/src/XPCWrappedNative.cpp:1620:10
#13 0x7f2cffbf3d74 in Call /js/xpconnect/src/XPCWrappedNative.cpp:1174:19
#14 0x7f2cffbf3d74 in XPCWrappedNative::CallMethod(XPCCallContext&, XPCWrappedNative::CallMode) /js/xpconnect/src/XPCWrappedNative.cpp:1120:23
#15 0x7f2cffbf89be in GetAttribute /js/xpconnect/src/xpcprivate.h:1451:12
#16 0x7f2cffbf89be in XPC_WN_GetterSetter(JSContext*, unsigned int, JS::Value*) /js/xpconnect/src/XPCWrappedNativeJSOps.cpp:1006:10
#17 0x7f2d0ab683c7 in CallJSNative /js/src/vm/Interpreter.cpp:494:13
#18 0x7f2d0ab683c7 in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /js/src/vm/Interpreter.cpp:590:12
#19 0x7f2d0ab6a241 in InternalCall /js/src/vm/Interpreter.cpp:657:10
#20 0x7f2d0ab6a241 in js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) /js/src/vm/Interpreter.cpp:689:8
#21 0x7f2d0ab6bf6a in js::CallGetter(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>) /js/src/vm/Interpreter.cpp:811:10
#22 0x7f2d0af6db3a in CallGetter(JSContext*, JS::Handle<js::NativeObject*>, JS::Handle<JS::Value>, JS::Handle<JS::PropertyKey>, js::PropertyInfoBase<unsigned int>, JS::MutableHandle<JS::Value>) /js/src/vm/NativeObject.cpp:2092:12
#23 0x7f2d0af5012d in GetExistingProperty<(js::AllowGC)1> /js/src/vm/NativeObject.cpp:2120:12
#24 0x7f2d0af5012d in NativeGetPropertyInline<(js::AllowGC)1> /js/src/vm/NativeObject.cpp:2273:14
#25 0x7f2d0af5012d in js::NativeGetProperty(JSContext*, JS::Handle<js::NativeObject*>, JS::Handle<JS::Value>, JS::Handle<JS::PropertyKey>, JS::MutableHandle<JS::Value>) /js/src/vm/NativeObject.cpp:2303:10
#26 0x7f2d0bc3995e in GetProperty /js/src/vm/ObjectOperations-inl.h:113:10
#27 0x7f2d0bc3995e in GetObjectElementOperation /js/src/vm/Interpreter-inl.h:390:10
#28 0x7f2d0bc3995e in GetElementOperationWithStackIndex /js/src/vm/Interpreter-inl.h:473:10
#29 0x7f2d0bc3995e in GetElementOperation /js/src/vm/Interpreter-inl.h:481:10
#30 0x7f2d0bc3995e in js::jit::DoGetElemFallback(JSContext*, js::jit::BaselineFrame*, js::jit::ICFallbackStub*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>) /js/src/jit/BaselineIC.cpp:733:8
#31 0x1079fa4fbb13 ([anon:js-executable-memory]+0x2b13)
#32 0x1079fa502c26 ([anon:js-executable-memory]+0x9c26)
#33 0x1079fa4f94e5 ([anon:js-executable-memory]+0x4e5)
#34 0x7f2d0c686ea4 in EnterJit /js/src/jit/Jit.cpp:114:5
#35 0x7f2d0c686ea4 in js::jit::MaybeEnterJit(JSContext*, js::RunState&) /js/src/jit/Jit.cpp:260:10
#36 0x7f2d0ab89b63 in js::Interpret(JSContext*, js::RunState&) /js/src/vm/Interpreter.cpp:3325:40
#37 0x7f2d0ab67198 in MaybeEnterInterpreterTrampoline /js/src/vm/Interpreter.cpp:395:10
#38 0x7f2d0ab67198 in js::RunScript(JSContext*, js::RunState&) /js/src/vm/Interpreter.cpp:464:13
#39 0x7f2d0ab6853d in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /js/src/vm/Interpreter.cpp:622:13
#40 0x7f2d0ab6a241 in InternalCall /js/src/vm/Interpreter.cpp:657:10
#41 0x7f2d0ab6a241 in js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) /js/src/vm/Interpreter.cpp:689:8
#42 0x7f2d0ab6bf6a in js::CallGetter(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>) /js/src/vm/Interpreter.cpp:811:10
#43 0x7f2d0af6db3a in CallGetter(JSContext*, JS::Handle<js::NativeObject*>, JS::Handle<JS::Value>, JS::Handle<JS::PropertyKey>, js::PropertyInfoBase<unsigned int>, JS::MutableHandle<JS::Value>) /js/src/vm/NativeObject.cpp:2092:12
#44 0x7f2d0af5012d in GetExistingProperty<(js::AllowGC)1> /js/src/vm/NativeObject.cpp:2120:12
#45 0x7f2d0af5012d in NativeGetPropertyInline<(js::AllowGC)1> /js/src/vm/NativeObject.cpp:2273:14
#46 0x7f2d0af5012d in js::NativeGetProperty(JSContext*, JS::Handle<js::NativeObject*>, JS::Handle<JS::Value>, JS::Handle<JS::PropertyKey>, JS::MutableHandle<JS::Value>) /js/src/vm/NativeObject.cpp:2303:10
#47 0x7f2d0ab9fcb1 in GetProperty /js/src/vm/ObjectOperations-inl.h:113:10
#48 0x7f2d0ab9fcb1 in GetProperty /js/src/vm/ObjectOperations-inl.h:120:10
#49 0x7f2d0ab9fcb1 in js::GetProperty(JSContext*, JS::Handle<JS::Value>, JS::Handle<js::PropertyName*>, JS::MutableHandle<JS::Value>) /js/src/vm/Interpreter.cpp:4630:10
#50 0x7f2d0ab7e72b in GetPropertyOperation /js/src/vm/Interpreter.cpp:280:10
#51 0x7f2d0ab7e72b in js::Interpret(JSContext*, js::RunState&) /js/src/vm/Interpreter.cpp:2941:12
#52 0x7f2d0ab67198 in MaybeEnterInterpreterTrampoline /js/src/vm/Interpreter.cpp:395:10
#53 0x7f2d0ab67198 in js::RunScript(JSContext*, js::RunState&) /js/src/vm/Interpreter.cpp:464:13
#54 0x7f2d0ab6853d in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /js/src/vm/Interpreter.cpp:622:13
#55 0x7f2d0ab6a241 in InternalCall /js/src/vm/Interpreter.cpp:657:10
#56 0x7f2d0ab6a241 in js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) /js/src/vm/Interpreter.cpp:689:8
#57 0x7f2d0acac546 in JS_CallFunctionValue(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) /js/src/vm/CallAndConstruct.cpp:55:10
#58 0x7f2cffbe7a1e in nsXPCWrappedJS::CallMethod(unsigned short, nsXPTMethodInfo const*, nsXPTCMiniVariant*) /js/xpconnect/src/XPCWrappedJSClass.cpp:918:17
#59 0x7f2cfe307aa9 in PrepareAndDispatch /xpcom/reflect/xptcall/md/unix/xptcstubs_x86_64_linux.cpp:115:37
#60 0x7f2cfe30695e in SharedStub xptcstubs_x86_64_linux.cpp
#61 0x7f2cfe25bc8e in NS_CreateServicesFromCategory(char const*, nsISupports*, char const*, char16_t const*) /xpcom/components/nsCategoryManager.cpp:680:19
#62 0x7f2d0a8c064c in nsXREDirProvider::DoStartup() /toolkit/xre/nsXREDirProvider.cpp:653:11
#63 0x7f2d0a89fe2c in XREMain::XRE_mainRun() /toolkit/xre/nsAppRunner.cpp:5668:18
#64 0x7f2d0a8a1c9b in XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) /toolkit/xre/nsAppRunner.cpp:6136:8
#65 0x7f2d0a8a2cf3 in XRE_main(int, char**, mozilla::BootstrapConfig const&) /toolkit/xre/nsAppRunner.cpp:6209:21
#66 0x5a9203c4eed4 in do_main /browser/app/nsBrowserApp.cpp:232:22
#67 0x5a9203c4eed4 in main /browser/app/nsBrowserApp.cpp:464:16
#68 0x7f2d21b7b1c9 in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#69 0x7f2d21b7b28a in __libc_start_main csu/../csu/libc-start.c:360:3
#70 0x5a9203b6e8a8 in _start (/home/jkratzer/builds/m-c-20250529033404-fuzzing-asan-opt/firefox+0xc78a8) (BuildId: 4247ae08b919de37f96289b3e5ac747c61cfa62d)
==1708074==ABORTING
| Reporter | ||
Comment 1•10 months ago
|
||
| Reporter | ||
Updated•10 months ago
|
Comment 2•10 months ago
|
||
Verified bug as reproducible on mozilla-central 20250529033404-5f5c3d10232a.
The bug appears to have been introduced in the following build range:
Start: 639d61a9a326ce05c6bd095c628841a03b09c7dc (20241119091210)
End: 11c60eb4490ade388b49a3b9fd3c634a4aa95da0 (20241119111811)
Pushlog: https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=639d61a9a326ce05c6bd095c628841a03b09c7dc&tochange=11c60eb4490ade388b49a3b9fd3c634a4aa95da0
Comment 3•10 months ago
|
||
Set release status flags based on info from the regressing bug 1930756
:teoxoy, since you are the author of the regressor, bug 1930756, could you take a look? Also, could you set the severity field?
For more information, please visit BugBot documentation.
| Assignee | ||
Comment 4•10 months ago
|
||
Hmm, this seems to be a regression because we removed the pref.
This function needs to register the buffer as used, will put up a patch.
| Assignee | ||
Comment 5•10 months ago
|
||
Updated•10 months ago
|
Updated•10 months ago
|
Comment 7•10 months ago
|
||
| bugherder | ||
Comment 8•10 months ago
|
||
Verified bug as fixed on rev mozilla-central 20250605040737-236f8bd740a3.
Removing bugmon keyword as no further action possible. Please review the bug and re-add the keyword for further analysis.
Description
•