Closed Bug 1771251 Opened 2 years ago Closed 2 years ago

Hit MOZ_CRASH(called `Result::unwrap()` on an `Err` value: InvalidResource) at /third_party/rust/wgpu-core/src/command/bundle.rs:341

Categories

(Core :: Graphics: WebGPU, defect)

x86_64
Linux
defect

Tracking

()

RESOLVED FIXED

People

(Reporter: jkratzer, Unassigned, NeedInfo)

References

(Blocks 2 open bugs)

Details

(Keywords: testcase, Whiteboard: [bugmon:bisected,confirmed])

Attachments

(1 file)

Testcase found while fuzzing mozilla-central rev 41271d27d65a (built with: --enable-address-sanitizer --enable-fuzzing).

Testcase can be reproduced using the following commands:

$ pip install fuzzfetch grizzly-framework
$ python -m fuzzfetch --build 41271d27d65a --asan --fuzzing -n firefox
$ python -m grizzly.replay ./firefox/firefox testcase.html
Hit MOZ_CRASH(called `Result::unwrap()` on an `Err` value: InvalidResource) at /third_party/rust/wgpu-core/src/command/bundle.rs:341

    =================================================================
    ==1660612==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000001 (pc 0x7f5483049be0 bp 0x7f5447cfdaf0 sp 0x7f5447cfdae0 T47)
    ==1660612==The signal is caused by a WRITE memory access.
    ==1660612==Hint: address points to the zero page.
        #0 0x7f5483049be0 in MOZ_Crash /builds/worker/workspace/obj-build/dist/include/mozilla/Assertions.h:261:3
        #1 0x7f5483049be0 in RustMozCrash /mozglue/static/rust/wrappers.cpp:18:3
        #2 0x7f5483049206 in mozglue_static::panic_hook::h3395d9151612f644 /mozglue/static/rust/lib.rs:91:9
        #3 0x7f5483048735 in core::ops::function::Fn::call::h123068b42f5e1fd5 /builds/worker/fetches/rust/library/core/src/ops/function.rs:70:5
        #4 0x7f54860491af in std::panicking::rust_panic_with_hook::hd4b01d10d132fdc5 (/home/jkratzer/builds/mc-asan/libxul.so+0x1f9c31af) (BuildId: 296feae269509c33fdba619b138afd6a0b713763)
        #5 0x7f548606b4b6 in std::panicking::begin_panic_handler::_$u7b$$u7b$closure$u7d$$u7d$::head537b50d915cd5 std.19cbab4a-cgu.7
        #6 0x7f548606aca3 in std::sys_common::backtrace::__rust_end_short_backtrace::h3809453eea6ed96e crtstuff.c
        #7 0x7f5486048c81 in rust_begin_unwind (/home/jkratzer/builds/mc-asan/libxul.so+0x1f9c2c81) (BuildId: 296feae269509c33fdba619b138afd6a0b713763)
        #8 0x7f546ee47642 in core::panicking::panic_fmt::heea304e80a792787 (/home/jkratzer/builds/mc-asan/libxul.so+0x87c1642) (BuildId: 296feae269509c33fdba619b138afd6a0b713763)
        #9 0x7f546ee47992 in core::result::unwrap_failed::h5673fe4f7b1d3045 (/home/jkratzer/builds/mc-asan/libxul.so+0x87c1992) (BuildId: 296feae269509c33fdba619b138afd6a0b713763)
        #10 0x7f547f3ff0d1 in core::result::Result$LT$T$C$E$GT$::unwrap::hbe4d49c23e0b4f4a /builds/worker/fetches/rust/library/core/src/result.rs:1065:23
        #11 0x7f547f3ff0d1 in wgpu_core::command::bundle::RenderBundleEncoder::finish::h14ada21177f09172 /third_party/rust/wgpu-core/src/command/bundle.rs:337:34
        #12 0x7f547f3ff0d1 in wgpu_core::device::_$LT$impl$u20$wgpu_core..hub..Global$LT$G$GT$$GT$::render_bundle_encoder_finish::h8d1b5563551518b7 /third_party/rust/wgpu-core/src/device/mod.rs:4367:39
        #13 0x7f547f3ff0d1 in wgpu_bindings::server::Global::device_action::h53919e18bc4a993d /gfx/wgpu_bindings/src/server.rs:349:34
        #14 0x7f547f49ff29 in wgpu_server_device_action /gfx/wgpu_bindings/src/server.rs:515:5
        #15 0x7f5475476f36 in mozilla::webgpu::WebGPUParent::RecvDeviceAction(unsigned long, mozilla::ipc::ByteBuf const&) /dom/webgpu/ipc/WebGPUParent.cpp:875:3
        #16 0x7f54754a0d23 in mozilla::webgpu::PWebGPUParent::OnMessageReceived(IPC::Message const&) /builds/worker/workspace/obj-build/ipc/ipdl/PWebGPUParent.cpp:237:80
        #17 0x7f547260f28c in mozilla::gfx::PCanvasManagerParent::OnMessageReceived(IPC::Message const&) /builds/worker/workspace/obj-build/ipc/ipdl/PCanvasManagerParent.cpp:214:32
        #18 0x7f54713fd8c9 in mozilla::ipc::MessageChannel::DispatchAsyncMessage(mozilla::ipc::ActorLifecycleProxy*, IPC::Message const&) /ipc/glue/MessageChannel.cpp:1781:25
        #19 0x7f54713fa937 in mozilla::ipc::MessageChannel::DispatchMessage(mozilla::ipc::ActorLifecycleProxy*, mozilla::UniquePtr<IPC::Message, mozilla::DefaultDelete<IPC::Message> >) /ipc/glue/MessageChannel.cpp:1706:9
        #20 0x7f54713fb584 in mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::ActorLifecycleProxy*, mozilla::ipc::MessageChannel::MessageTask&) /ipc/glue/MessageChannel.cpp:1506:3
        #21 0x7f54713fc812 in mozilla::ipc::MessageChannel::MessageTask::Run() /ipc/glue/MessageChannel.cpp:1604:14
        #22 0x7f546fce54ae in nsThread::ProcessNextEvent(bool, bool*) /xpcom/threads/nsThread.cpp:1174:16
        #23 0x7f546fceedec in NS_ProcessNextEvent(nsIThread*, bool) /xpcom/threads/nsThreadUtils.cpp:465:10
        #24 0x7f5471406961 in mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) /ipc/glue/MessagePump.cpp:330:5
        #25 0x7f547128b011 in RunInternal /ipc/chromium/src/base/message_loop.cc:380:10
        #26 0x7f547128b011 in RunHandler /ipc/chromium/src/base/message_loop.cc:373:3
        #27 0x7f547128b011 in MessageLoop::Run() /ipc/chromium/src/base/message_loop.cc:355:3
        #28 0x7f546fcdd07b in nsThread::ThreadFunc(void*) /xpcom/threads/nsThread.cpp:378:10
        #29 0x7f54952d857e in _pt_root /nsprpub/pr/src/pthreads/ptthread.c:201:5
        #30 0x7f5495f33608 in start_thread /build/glibc-SzIz7B/glibc-2.31/nptl/pthread_create.c:477:8
        #31 0x7f5495afa132 in __clone /build/glibc-SzIz7B/glibc-2.31/misc/../sysdeps/unix/sysv/linux/x86_64/clone.S:95
    
    AddressSanitizer can not provide additional info.
    SUMMARY: AddressSanitizer: SEGV /builds/worker/workspace/obj-build/dist/include/mozilla/Assertions.h:261:3 in MOZ_Crash
    Thread T47 (Compositor) created by T0 here:
        #0 0x558e8bf22aec in __interceptor_pthread_create /builds/worker/fetches/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:208:3
        #1 0x7f54952c862c in _PR_CreateThread /nsprpub/pr/src/pthreads/ptthread.c:458:14
        #2 0x7f54952b99ce in PR_CreateThread /nsprpub/pr/src/pthreads/ptthread.c:533:12
        #3 0x7f546fce0325 in nsThread::Init(nsTSubstring<char> const&) /xpcom/threads/nsThread.cpp:604:18
        #4 0x7f546fcecacf in nsThreadManager::NewNamedThread(nsTSubstring<char> const&, unsigned int, nsIThread**) /xpcom/threads/nsThreadManager.cpp:534:12
        #5 0x7f546fcf88a1 in NS_NewNamedThread(nsTSubstring<char> const&, nsIThread**, already_AddRefed<nsIRunnable>, unsigned int) /xpcom/threads/nsThreadUtils.cpp:161:57
        #6 0x7f5472212302 in NS_NewNamedThread<11UL> /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:74:10
        #7 0x7f5472212302 in mozilla::layers::CompositorThreadHolder::CreateCompositorThread() /gfx/layers/ipc/CompositorThread.cpp:66:17
        #8 0x7f54722126f1 in CompositorThreadHolder /gfx/layers/ipc/CompositorThread.cpp:40:25
        #9 0x7f54722126f1 in mozilla::layers::CompositorThreadHolder::Start() /gfx/layers/ipc/CompositorThread.cpp:109:33
        #10 0x7f547246bb9b in gfxPlatform::Init() /gfx/thebes/gfxPlatform.cpp:956:3
        #11 0x7f547246f506 in GetPlatform /gfx/thebes/gfxPlatform.cpp:466:5
        #12 0x7f547246f506 in gfxPlatform::InitializeCMS() /gfx/thebes/gfxPlatform.cpp:2089:9
        #13 0x7f5478206cf4 in EnsureCMSInitialized /builds/worker/workspace/obj-build/dist/include/gfxPlatform.h:982:7
        #14 0x7f5478206cf4 in gfxPlatform::GetCMSMode() /builds/worker/workspace/obj-build/dist/include/gfxPlatform.h:526:5
        #15 0x7f547820655d in nsXPLookAndFeel::GetColorValue(mozilla::StyleSystemColor, mozilla::ColorScheme, mozilla::LookAndFeel::UseStandins, unsigned int&) /widget/nsXPLookAndFeel.cpp:879:9
        #16 0x7f547820a6be in mozilla::LookAndFeel::GetColor(mozilla::StyleSystemColor, mozilla::ColorScheme, mozilla::LookAndFeel::UseStandins) /widget/nsXPLookAndFeel.cpp:1279:47
        #17 0x7f5478177b4c in Color /builds/worker/workspace/obj-build/dist/include/mozilla/LookAndFeel.h:444:12
        #18 0x7f5478177b4c in ThemedAccentColor /widget/ThemeColors.cpp:88:37
        #19 0x7f5478177b4c in mozilla::widget::ThemeColors::RecomputeAccentColors() /widget/ThemeColors.cpp:197:20
        #20 0x7f5478177795 in mozilla::widget::Theme::LookAndFeelChanged() /widget/Theme.cpp:180:3
        #21 0x7f5478204936 in nsXPLookAndFeel::GetInstance() /widget/nsXPLookAndFeel.cpp:361:3
        #22 0x7f547820b05d in mozilla::LookAndFeel::GetThemeInfo(nsTSubstring<char>&) /widget/nsXPLookAndFeel.cpp:1392:3
        #23 0x7f546fb4399a in nsSystemInfo::Init() /xpcom/base/nsSystemInfo.cpp:1047:5
        #24 0x7f546fc54517 in mozilla::xpcom::CreateInstanceImpl(mozilla::xpcom::ModuleID, nsID const&, void**) /builds/worker/workspace/obj-build/xpcom/components/StaticComponents.cpp:8912:7
        #25 0x7f546fc91670 in CreateInstance /xpcom/components/nsComponentManager.cpp:185:46
        #26 0x7f546fc91670 in nsComponentManagerImpl::GetServiceLocked(mozilla::Maybe<mozilla::detail::BaseMonitorAutoLock<mozilla::Monitor> >&, (anonymous namespace)::EntryWrapper&, nsID const&, void**) /xpcom/components/nsComponentManager.cpp:1283:17
        #27 0x7f546fc92118 in nsComponentManagerImpl::GetService(mozilla::xpcom::ModuleID, nsID const&, void**) /xpcom/components/nsComponentManager.cpp:1373:10
        #28 0x7f546fc67a7d in mozilla::xpcom::GetServiceHelper::operator()(nsID const&, void**) const /builds/worker/workspace/obj-build/xpcom/components/StaticComponents.cpp:12207:50
        #29 0x7f546fafb071 in nsCOMPtr_base::assign_from_helper(nsCOMPtr_helper const&, nsID const&) /xpcom/base/nsCOMPtr.cpp:109:7
        #30 0x7f54717011af in nsCOMPtr /builds/worker/workspace/obj-build/dist/include/nsCOMPtr.h:999:5
        #31 0x7f54717011af in GetServiceImpl /js/xpconnect/src/JSServices.cpp:83:32
        #32 0x7f54717011af in GetService /js/xpconnect/src/JSServices.cpp:130:8
        #33 0x7f54717011af in xpc::Services_Resolve(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::PropertyKey>, bool*) /js/xpconnect/src/JSServices.cpp:153:25
        #34 0x7f547d6e64a7 in CallResolveOp /js/src/vm/NativeObject-inl.h:640:8
        #35 0x7f547d6e64a7 in NativeLookupOwnPropertyInline<js::CanGC, js::LookupResolveMode::CheckResolve> /js/src/vm/NativeObject-inl.h:760:14
        #36 0x7f547d6e64a7 in NativeGetPropertyInline<js::CanGC> /js/src/vm/NativeObject.cpp:2136:10
        #37 0x7f547d6e64a7 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:2184:10
        #38 0x7f547d3ffdf9 in GetProperty /js/src/vm/ObjectOperations-inl.h:120:10
        #39 0x7f547d3ffdf9 in js::GetProperty(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, js::PropertyName*, JS::MutableHandle<JS::Value>) /js/src/vm/ObjectOperations-inl.h:127:10
        #40 0x7f547edd6ebb in js::GetProperty(JSContext*, JS::Handle<JS::Value>, JS::Handle<js::PropertyName*>, JS::MutableHandle<JS::Value>) /js/src/vm/Interpreter.cpp:4668:10
        #41 0x7f547edaf7c4 in GetPropertyOperation /js/src/vm/Interpreter.cpp:203:10
        #42 0x7f547edaf7c4 in Interpret(JSContext*, js::RunState&) /js/src/vm/Interpreter.cpp:2984:12
        #43 0x7f547eda1b61 in js::RunScript(JSContext*, js::RunState&) /js/src/vm/Interpreter.cpp:389:13
        #44 0x7f547edcfe2f in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /js/src/vm/Interpreter.cpp:539:13
        #45 0x7f547edd19ba in InternalCall /js/src/vm/Interpreter.cpp:574:10
        #46 0x7f547edd19ba 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:605:8
        #47 0x7f547d5044fc in JS_CallFunctionValue(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) /js/src/vm/CallAndConstruct.cpp:53:10
        #48 0x7f5471746da5 in nsXPCWrappedJS::CallMethod(unsigned short, nsXPTMethodInfo const*, nsXPTCMiniVariant*) /js/xpconnect/src/XPCWrappedJSClass.cpp:981:17
        #49 0x7f546fd35772 in PrepareAndDispatch /xpcom/reflect/xptcall/md/unix/xptcstubs_x86_64_linux.cpp:115:37
        #50 0x7f546fd344ca in SharedStub xptcstubs_x86_64_linux.cpp
        #51 0x7f546fc87bdd in NS_CreateServicesFromCategory(char const*, nsISupports*, char const*, char16_t const*) /xpcom/components/nsCategoryManager.cpp:682:19
        #52 0x7f547d0cbb79 in nsXREDirProvider::DoStartup() /toolkit/xre/nsXREDirProvider.cpp:936:11
        #53 0x7f547d0a8dc0 in XREMain::XRE_mainRun() /toolkit/xre/nsAppRunner.cpp:5474:18
        #54 0x7f547d0ab675 in XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) /toolkit/xre/nsAppRunner.cpp:5916:8
        #55 0x7f547d0ac3b3 in XRE_main(int, char**, mozilla::BootstrapConfig const&) /toolkit/xre/nsAppRunner.cpp:5983:21
        #56 0x558e8bf7774d in do_main /browser/app/nsBrowserApp.cpp:227:22
        #57 0x558e8bf7774d in main /browser/app/nsBrowserApp.cpp:406:16
        #58 0x7f54959ff082 in __libc_start_main /build/glibc-SzIz7B/glibc-2.31/csu/../csu/libc-start.c:308:16
    
    ==1660612==ABORTING
Attached file Testcase

Bugmon Analysis
Verified bug as reproducible on mozilla-central 20220525150600-41271d27d65a.
Unable to bisect testcase (Testcase reproduces on start build!):

Start: 257c3c51ab2338a35634610b9d3c6c4c305e6005 (20210527031253)
End: 41271d27d65a17e29ea8cfeacc2bbaf9ddd43975 (20220525150600)
BuildFlags: BuildFlags(asan=True, tsan=False, debug=False, fuzzing=True, coverage=False, valgrind=False, no_opt=False, fuzzilli=False)

Whiteboard: [bugmon:confirm] → [bugmon:bisected,confirmed]

The severity field is not set for this bug.
:jimb, could you have a look please?

For more information, please visit auto_nag documentation.

Flags: needinfo?(jimb)

Bugmon Analysis
Testcase crashes using the initial build (mozilla-central 20220525150600-41271d27d65a) but not with tip (mozilla-central 20220610213450-46d8ba611632.)
The bug appears to have been fixed in the following build range:

Start: 300c3e6dc17678ee75637c37cdb124fe6b13d057 (20220605213032)
End: ac2545916df0c2add499d2273ce25db858b71cb7 (20220605232311)
Pushlog: https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=300c3e6dc17678ee75637c37cdb124fe6b13d057&tochange=ac2545916df0c2add499d2273ce25db858b71cb7
Removing bugmon keyword as no further action possible. Please review the bug and re-add the keyword for further analysis.

Keywords: bugmon

This appears to have been fixed by bug 1772004.

Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: