Closed Bug 1908403 Opened 1 year ago Closed 6 months ago

"Assertion failure: false (This operation is not support for this scalar type.), at ..../toolkit/components/telemetry/core/TelemetryScalar.cpp:360"

Categories

(Data Platform and Tools :: General, defect)

defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: mbrodesser, Unassigned)

Details

Crash on startup after ./mach run.

Happens on Ubuntu 22.04 with current origin/main.

[mirko@mirko-ThinkPad-P1-Gen-5 gecko ((01fc16845f9ac...))]$ ./mach run
 0:00.24 /home/mirko/work/code/gecko/obj-ff-dbg/dist/bin/firefox -no-remote -profile /home/mirko/work/code/gecko/obj-ff-dbg/tmp/profile-default
Initializing context 79250cfa14a0 surface 0 on display 792513990b00
GL_VENDOR: Intel
mVendor: Intel
GL_RENDERER: Mesa Intel(R) Graphics (ADL GT2)
mRenderer: Unknown
mIsMesa: 1
[Parent 203449, Renderer] WARNING: robust_buffer_access_behavior marked as unsupported: file /home/mirko/work/code/gecko/gfx/gl/GLContextFeatures.cpp:638
[Parent 203449, Main Thread] WARNING: Last startup was detected as a crash.: file /home/mirko/work/code/gecko/toolkit/components/startup/nsAppStartup.cpp:966
[WARN  webrender::device::gl] Missing optimized shader source for gpu_cache_update
[WARN  webrender::device::gl] Cropping texture upload Box2D((0, 0), (0, 1)) to None
[WARN  webrender::device::gl] Cropping texture upload Box2D((0, 0), (0, 1)) to None
[WARN  webrender::device::gl] Cropping texture upload Box2D((0, 0), (0, 1)) to None
[Parent 203449, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x804B000A (NS_ERROR_MALFORMED_URI): file /home/mirko/work/code/gecko/toolkit/components/antitracking/AntiTrackingUtils.cpp:802
[Parent 203449, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x804B000A (NS_ERROR_MALFORMED_URI): file /home/mirko/work/code/gecko/toolkit/components/antitracking/AntiTrackingUtils.cpp:802
[Parent 203449, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x804B000A (NS_ERROR_MALFORMED_URI): file /home/mirko/work/code/gecko/toolkit/components/antitracking/AntiTrackingUtils.cpp:802
[203449] Assertion failure: false (This operation is not support for this scalar type.), at /home/mirko/work/code/gecko/toolkit/components/telemetry/core/TelemetryScalar.cpp:360
(gdb) bt
#0  0x000079252a2e57f8 in __GI___clock_nanosleep (clock_id=clock_id@entry=0, flags=flags@entry=0, req=req@entry=0x7ffc03d85a30, rem=rem@entry=0x7ffc03d85a30) at ../sysdeps/unix/sysv/linux/clock_nanosleep.c:78
#1  0x000079252a2ea677 in __GI___nanosleep (req=req@entry=0x7ffc03d85a30, rem=rem@entry=0x7ffc03d85a30) at ../sysdeps/unix/sysv/linux/nanosleep.c:25
#2  0x000079252a2ea5ae in __sleep (seconds=0) at ../sysdeps/posix/sleep.c:55
#3  0x0000792520f4cc50 in common_crap_handler(int, void const*) (signum=11, aFirstFramePC=<optimized out>) at /home/mirko/work/code/gecko/toolkit/xre/nsSigHandlers.cpp:100
#4  0x0000792520f4cd3d in ah_crap_handler(int) (signum=0) at /home/mirko/work/code/gecko/toolkit/xre/nsSigHandlers.cpp:108
#5  0x0000792520f2047d in nsProfileLock::FatalSignalHandler(int, siginfo_t*, void*) (signo=11, info=0x7ffc03d85d30, context=0x7ffc03d85c00) at /home/mirko/work/code/gecko/toolkit/profile/nsProfileLock.cpp:183
#6  0x00007925225e6a23 in WasmTrapHandler(int, siginfo_t*, void*) (signum=11, info=0x7ffc03d85d30, context=0x7ffc03d85c00) at /home/mirko/work/code/gecko/js/src/wasm/WasmSignalHandlers.cpp:792
#7  0x000079252a242520 in <signal handler called> () at /lib/x86_64-linux-gnu/libc.so.6
#8  (anonymous namespace)::ScalarBase::HandleUnsupported() const (this=<optimized out>) at /home/mirko/work/code/gecko/toolkit/components/telemetry/core/TelemetryScalar.cpp:360
#9  (anonymous namespace)::ScalarBase::SetValue(bool) (this=<optimized out>, aValue=<optimized out>) at /home/mirko/work/code/gecko/toolkit/components/telemetry/core/TelemetryScalar.cpp:325
#10 0x0000792520dd33de in TelemetryScalar::Set(mozilla::Telemetry::ScalarID, bool) (aId=mozilla::Telemetry::ScalarID::EXTENSIONS_APIS_DNR_EVALUATE_RULES_COUNT_MAX, aValue=true)
    at /home/mirko/work/code/gecko/toolkit/components/telemetry/core/TelemetryScalar.cpp:2594
#11 0x0000792520db20da in mozilla::Telemetry::ScalarSet(mozilla::Telemetry::ScalarID, bool) (aId=708954720, aVal=false) at /home/mirko/work/code/gecko/toolkit/components/telemetry/core/Telemetry.cpp:1985
#12 0x0000792520bed232 in mozilla::glean::impl::BooleanMetric::Set(bool) const (this=0x7924d72ea3f8, aValue=<optimized out>)
    at /home/mirko/work/code/gecko/toolkit/components/glean/bindings/private/Boolean.cpp:22
#13 0x000079251d8c56df in mozilla::dom::GleanBoolean_Binding::set(JSContext*, JS::Handle<JSObject*>, void*, JSJitMethodCallArgs const&)Python Exception <class 'gdb.error'>: value has been optimized out
 (cx=0x79251383a200, obj=, void_self=<optimized out>, args=...)
    at ./GleanMetricsBinding.cpp:409
#14 0x000079251d9fc5d8 in mozilla::dom::binding_detail::GenericMethod<mozilla::dom::binding_detail::NormalThisPolicy, mozilla::dom::binding_detail::ThrowExceptions>(JSContext*, unsigned int, JS::Value*)
    (cx=cx@entry=0x79251383a200, argc=<optimized out>, vp=<optimized out>) at /home/mirko/work/code/gecko/dom/bindings/BindingUtils.cpp:3268
#15 0x0000792521168f85 in CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&)
    (cx=cx@entry=0x79251383a200, native=0x79251d9fc410 <mozilla::dom::binding_detail::GenericMethod<mozilla::dom::binding_detail::NormalThisPolicy, mozilla::dom::binding_detail::ThrowExceptions>(JSContext*, unsigned int, JS::Value*)>, reason=reason@entry=js::CallReason::Call, args=...) at /home/mirko/work/code/gecko/js/src/vm/Interpreter.cpp:491
#16 0x0000792521141799 in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason)
    (cx=0x79251383a200, args=..., construct=construct@entry=js::NO_CONSTRUCT, reason=js::CallReason::Call) at /home/mirko/work/code/gecko/js/src/vm/Interpreter.cpp:585
#17 0x00007925211424b8 in InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason) (cx=<optimized out>, args=..., reason=2140141904) at /home/mirko/work/code/gecko/js/src/vm/Interpreter.cpp:652
#18 0x0000792521151543 in js::CallFromStack(JSContext*, JS::CallArgs const&, js::CallReason) (cx=0x79252a41ca60 <_IO_stdfile_2_lock>, args=..., reason=<optimized out>)
    at /home/mirko/work/code/gecko/js/src/vm/Interpreter.cpp:657
#19 js::Interpret(JSContext*, js::RunState&) (cx=0x79251383a200, state=...) at /home/mirko/work/code/gecko/js/src/vm/Interpreter.cpp:3363
#20 0x0000792521141019 in MaybeEnterInterpreterTrampoline(JSContext*, js::RunState&) (cx=0x79252a41ca60 <_IO_stdfile_2_lock>, cx@entry=0x79251383a200, state=...)
    at /home/mirko/work/code/gecko/js/src/vm/Interpreter.cpp:405
#21 0x0000792521140ccf in js::RunScript(JSContext*, js::RunState&) (cx=cx@entry=0x79251383a200, state=...) at /home/mirko/work/code/gecko/js/src/vm/Interpreter.cpp:463
#22 0x000079252114166c in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason)
    (cx=0x79251383a200, args=..., construct=construct@entry=js::NO_CONSTRUCT, reason=<optimized out>) at /home/mirko/work/code/gecko/js/src/vm/Interpreter.cpp:617
#23 0x00007925211424b8 in InternalCall(JSContext*, js::AnyInvokeArgs const&, js::CallReason) (cx=<optimized out>, args=..., reason=2140141904, reason@entry=js::CallReason::Call)
    at /home/mirko/work/code/gecko/js/src/vm/Interpreter.cpp:652
#24 0x00007925211426a9 in js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason)Python Exception <class 'gdb.error'>: value has been optimized out

    (cx=cx@entry=0x79251383a200, fval=, thisv=thisv@entry=$JS::Value((JSObject *) 0x349c1de1dd98 [object Object]), args=..., rval=rval@entry=$JS::UndefinedValue(), reason=reason@entry=js::CallReason::Call)
    at /home/mirko/work/code/gecko/js/src/vm/Interpreter.cpp:684
#25 0x000079252126eeff in JS_CallFunctionValue(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>)
    (cx=0x79251383a200, obj=(JSObject * const) 0x349c1de1dd98 [object Object], fval=$JS::Value((JSObject *) 0x349c1de6a708 [object Function "observe"]), args=..., rval=rval@entry=$JS::UndefinedValue())
    at /home/mirko/work/code/gecko/js/src/vm/CallAndConstruct.cpp:55
#26 0x000079251b4a154e in nsXPCWrappedJS::CallMethod(unsigned short, nsXPTMethodInfo const*, nsXPTCMiniVariant*)
    (this=<optimized out>, methodIndex=<optimized out>, info=<optimized out>, nativeParams=0x7ffc03d876f0) at /home/mirko/work/code/gecko/js/xpconnect/src/XPCWrappedJSClass.cpp:918
#27 0x000079251a7d1905 in PrepareAndDispatch(nsXPTCStubBase*, uint32_t, uint64_t*, uint64_t*, double*)
     (self=0x7925139415a0, methodIndex=<optimized out>, args=<optimized out>, gpregs=0x7ffc03d877a0, fpregs=0x7ffc03d877d0) at /home/mirko/work/code/gecko/xpcom/reflect/xptcall/md/unix/xptcstubs_x86_64_linux.cpp:115
#28 0x000079251a7d0bfb in SharedStub () at /home/mirko/work/code/gecko/obj-ff-dbg/dist/bin/libxul.so
#29 0x0000792520f541b1 in nsXREDirProvider::DoStartup() (this=0x7ffc03d87ab0) at /home/mirko/work/code/gecko/toolkit/xre/nsXREDirProvider.cpp:828
#30 0x0000792520f419df in XREMain::XRE_mainRun() (this=this@entry=0x7ffc03d87a70) at /home/mirko/work/code/gecko/toolkit/xre/nsAppRunner.cpp:5511
#31 0x0000792520f433fe in XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) (this=this@entry=0x7ffc03d87a70, argc=argc@entry=4, argv=argv@entry=0x7ffc03d88d78, aConfig=...)
    at /home/mirko/work/code/gecko/toolkit/xre/nsAppRunner.cpp:5973
#32 0x0000792520f44083 in XRE_main(int, char**, mozilla::BootstrapConfig const&) (argc=4, argv=0x7ffc03d88d78, aConfig=...) at /home/mirko/work/code/gecko/toolkit/xre/nsAppRunner.cpp:6030
#33 0x00005a827f8293a8 in do_main(int, char**, char**) (argc=4, argv=0x7ffc03d88d78, envp=<optimized out>) at /home/mirko/work/code/gecko/browser/app/nsBrowserApp.cpp:230

Still occurs after pulling today's changes from origin/main.

Anna: the ticket-component might be wrong, could you PTAL? This is blocking local development.

Flags: needinfo?(ascholtz)

Even when commenting out the violating assertion, Firefox crashes because of another Glean-related failure:

#0  0x00007ab57cae57f8 in __GI___clock_nanosleep (clock_id=clock_id@entry=0, flags=flags@entry=0, req=req@entry=0x7ffcabd4e470, rem=rem@entry=0x7ffcabd4e470) at ../sysdeps/unix/sysv/linux/clock_nanosleep.c:78
#1  0x00007ab57caea677 in __GI___nanosleep (req=req@entry=0x7ffcabd4e470, rem=rem@entry=0x7ffcabd4e470) at ../sysdeps/unix/sysv/linux/nanosleep.c:25
#2  0x00007ab57caea5ae in __sleep (seconds=0) at ../sysdeps/posix/sleep.c:55
#3  0x00007ab5737105e0 in common_crap_handler(int, void const*) (signum=11, aFirstFramePC=<optimized out>) at /home/mirko/work/code/gecko/toolkit/xre/nsSigHandlers.cpp:100
#4  0x00007ab5737106cd in ah_crap_handler(int) (signum=0) at /home/mirko/work/code/gecko/toolkit/xre/nsSigHandlers.cpp:108
#5  0x00007ab5736e3e0d in nsProfileLock::FatalSignalHandler(int, siginfo_t*, void*) (signo=11, info=0x7ffcabd4e770, context=0x7ffcabd4e640) at /home/mirko/work/code/gecko/toolkit/profile/nsProfileLock.cpp:183
#6  0x00007ab574dae123 in WasmTrapHandler(int, siginfo_t*, void*) (signum=11, info=0x7ffcabd4e770, context=0x7ffcabd4e640) at /home/mirko/work/code/gecko/js/src/wasm/WasmSignalHandlers.cpp:792
#7  0x00007ab57ca42520 in <signal handler called> () at /lib/x86_64-linux-gnu/libc.so.6
#8  MOZ_Crash(char const*, int, char const*) (aFilename=<optimized out>, aLine=68721, aReason=0x7ffcabd4f534 "No labeled_counter for metric id 3094")
    at /home/mirko/work/code/gecko/obj-ff-dbg/dist/include/mozilla/Assertions.h:317
#9  RustMozCrash(char const*, int, char const*) (aFilename=<optimized out>, aLine=68721, aReason=0x7ffcabd4f534 "No labeled_counter for metric id 3094") at wrappers.cpp:18
#10 0x00007ab575c46e34 in mozglue_static::panic_hook (info=<optimized out>) at mozglue/static/rust/lib.rs:98
#11 core::ops::function::Fn::call<fn(&core::panic::panic_info::PanicInfo), (&core::panic::panic_info::PanicInfo)> () at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ops/function.rs:79
#12 0x00007ab576967096 in alloc::boxed::{impl#49}::call<(&core::panic::panic_info::PanicInfo), (dyn core::ops::function::Fn<(&core::panic::panic_info::PanicInfo), Output=()> + core::marker::Send + core::marker::Sync), alloc::alloc::Global> () at library/alloc/src/boxed.rs:2029
#13 std::panicking::rust_panic_with_hook () at library/std/src/panicking.rs:783
#14 0x00007ab576966de2 in std::panicking::begin_panic_handler::{closure#0} () at library/std/src/panicking.rs:657
#15 0x00007ab5769642d6 in std::sys_common::backtrace::__rust_end_short_backtrace<std::panicking::begin_panic_handler::{closure_env#0}, !> () at library/std/src/sys_common/backtrace.rs:171
#16 0x00007ab576966b40 in std::panicking::begin_panic_handler () at library/std/src/panicking.rs:645
#17 0x00007ab5769b2b35 in core::panicking::panic_fmt () at library/core/src/panicking.rs:72
#18 0x00007ab575d9158c in firefox_on_glean::metrics::__glean_metric_maps::labeled_counter_get (metric_id=<optimized out>, label=...) at obj-ff-dbg/toolkit/components/glean/api/src/metrics.rs:68721

After ./mach clobber, the assertion isn't violated anymore.

Flags: needinfo?(ascholtz)

This seems to be both in the wrong component and resolved. Closing as fixed. Please reopen if this is wrong.

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