Program terminated with signal SIGXCPU, CPU time limit exceeded.
Categories
(Core :: Audio/Video, defect, P3)
Tracking
()
People
(Reporter: braiamp, Unassigned, NeedInfo)
Details
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:132.0) Gecko/20100101 Firefox/132.0
Steps to reproduce:
Playing video while multitasking. Several tabs opened.
Actual results:
Firefox stopped responding and then crashed.
Expected results:
Maybe kill the child process.
Comment 1•1 month ago
|
||
The Bugbug bot thinks this bug should belong to the 'Core::Audio/Video: Playback' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.
Ok, the form was unhelpful, since it didn't ask for any details.
Here's the complete backtrace:
#0 core::intrinsics::copy_nonoverlapping<u8> (dst=0x7ef95f810000, count=1, src=<optimized out>) at /usr/src/rustc-1.82.0/library/core/src/intrinsics.rs:3325
#1 alloc::vec::Vec<u8, alloc::alloc::Global>::append_elements<u8, alloc::alloc::Global> (self=0x7efd52ed6830, other=...) at /usr/src/rustc-1.82.0/library/alloc/src/vec/mod.rs:2157
#2 alloc::vec::spec_extend::{impl#4}::spec_extend<u8, alloc::alloc::Global> (self=0x7efd52ed6830, iterator=...) at /usr/src/rustc-1.82.0/library/alloc/src/vec/spec_extend.rs:55
#3 alloc::vec::Vec<u8, alloc::alloc::Global>::extend_from_slice<u8, alloc::alloc::Global> (self=0x7efd52ed6830, other=...) at /usr/src/rustc-1.82.0/library/alloc/src/vec/mod.rs:2606
#4 std::io::impls::{impl#11}::write_all<alloc::alloc::Global> (self=0x7efd52ed6830, buf=...) at /usr/src/rustc-1.82.0/library/std/src/io/impls.rs:432
#5 std::io::impls::{impl#1}::write_all<alloc::vec::Vec<u8, alloc::alloc::Global>> (buf=..., self=<optimized out>) at /usr/src/rustc-1.82.0/library/std/src/io/impls.rs:77
#6 bincode::byteorder::WriteBytesExt::write_u8<&mut alloc::vec::Vec<u8, alloc::alloc::Global>> (n=0, self=<optimized out>) at ./third_party/rust/bincode/src/byteorder.rs:304
#7 bincode::ser::Serializer<&mut alloc::vec::Vec<u8, alloc::alloc::Global>, bincode::config::WithOtherLimit<bincode::config::DefaultOptions, bincode::config::limit::Bounded>>::serialize_byte<&mut alloc::vec::Vec<u8, alloc::alloc::Global>, bincode::config::WithOtherLimit<bincode::config::DefaultOptions, bincode::config::limit::Bounded>> (v=0, self=<optimized out>) at ./third_party/rust/bincode/src/ser/mod.rs:45
#8 bincode::config::int::VarintEncoding::serialize_varint<&mut alloc::vec::Vec<u8, alloc::alloc::Global>, bincode::config::WithOtherLimit<bincode::config::DefaultOptions, bincode::config::limit::Bounded>> (n=0, ser=<optimized out>) at ./third_party/rust/bincode/src/config/int.rs:228
#9 bincode::config::int::{impl#2}::serialize_u32<&mut alloc::vec::Vec<u8, alloc::alloc::Global>, bincode::config::WithOtherLimit<bincode::config::DefaultOptions, bincode::config::limit::Bounded>> (val=0, ser=<optimized out>) at ./third_party/rust/bincode/src/config/int.rs:493
#10 bincode::ser::{impl#1}::serialize_struct_variant<&mut alloc::vec::Vec<u8, alloc::alloc::Global>, bincode::config::WithOtherLimit<bincode::config::DefaultOptions, bincode::config::limit::Bounded>> (_name=..., variant_index=0, _variant=..., _len=3, self=<optimized out>)
at ./third_party/rust/bincode/src/ser/mod.rs:195
#11 audioipc2::messages::_::{impl#0}::serialize<&mut bincode::ser::Serializer<&mut alloc::vec::Vec<u8, alloc::alloc::Global>, bincode::config::WithOtherLimit<bincode::config::DefaultOptions, bincode::config::limit::Bounded>>>
(self=<error reading variable: Cannot access memory at address 0x0>, __serializer=<optimized out>) at ./third_party/rust/audioipc2/src/messages.rs:275
#12 bincode::internal::serialize_into<&mut alloc::vec::Vec<u8, alloc::alloc::Global>, audioipc2::messages::CallbackReq, bincode::config::WithOtherLimit<bincode::config::DefaultOptions, bincode::config::limit::Bounded>>
(writer=0x7efd52ed6830, options=..., value=<error reading variable: Cannot access memory at address 0x0>) at ./third_party/rust/bincode/src/internal.rs:22
#13 bincode::config::Options::serialize_into<bincode::config::WithOtherLimit<bincode::config::DefaultOptions, bincode::config::limit::Bounded>, &mut alloc::vec::Vec<u8, alloc::alloc::Global>, audioipc2::messages::CallbackReq> (w=0x7efd52ed6830, t=<error reading variable: Cannot access memory at address 0x0>)
at ./third_party/rust/bincode/src/config/mod.rs:194
#14 audioipc2::codec::{impl#2}::encode<audioipc2::messages::CallbackReq, audioipc2::messages::CallbackResp> (self=0x7efd52ed6830, item=..., buf=0x7efec1e68128) at ./third_party/rust/audioipc2/src/codec.rs:185
#15 audioipc2::ipccore::{impl#5}::flush_outbound<audioipc2::rpccore::ClientHandler<audioipc2_server::server::CallbackClient>> (self=0x7efd52ed6830, outbound=0x7efec1e68108) at ./third_party/rust/audioipc2/src/ipccore.rs:649
#16 0x00007eff2e3c27b2 in audioipc2::ipccore::Connection::flush_outbound (self=0x7efec1e680c8) at src/ipccore.rs:514
#17 audioipc2::ipccore::Connection::handle_wake (self=0x7efec1e680c8, registry=0x7efef2a93cf8) at src/ipccore.rs:448
#18 audioipc2::ipccore::EventLoop::poll (self=0x7efef2a93c90) at src/ipccore.rs:264
#19 0x00007eff2e3dd8a6 in audioipc2::ipccore::{impl#7}::new::{closure#0}<audioipc2_server::init_threads::{closure_env#3}, audioipc2_server::init_threads::{closure_env#4}> () at ./third_party/rust/audioipc2/src/ipccore.rs:706
#20 std::sys::backtrace::__rust_begin_short_backtrace<audioipc2::ipccore::{impl#7}::new::{closure_env#0}<audioipc2_server::init_threads::{closure_env#3}, audioipc2_server::init_threads::{closure_env#4}>, core::result::Result<(), std::io::error::Error>> (f=...)
at /usr/src/rustc-1.82.0/library/std/src/sys/backtrace.rs:154
#21 0x00007eff2e3dd67b in std::thread::{impl#0}::spawn_unchecked_::{closure#1}::{closure#0}<audioipc2::ipccore::{impl#7}::new::{closure_env#0}<audioipc2_server::init_threads::{closure_env#3}, audioipc2_server::init_threads::{closure_env#4}>, core::result::Result<(), std::io::error::Error>> ()
at /usr/src/rustc-1.82.0/library/std/src/thread/mod.rs:522
#22 core::panic::unwind_safe::{impl#23}::call_once<core::result::Result<(), std::io::error::Error>, std::thread::{impl#0}::spawn_unchecked_::{closure#1}::{closure_env#0}<audioipc2::ipccore::{impl#7}::new::{closure_env#0}<audioipc2_server::init_threads::{closure_env#3}, audioipc2_server::init_threads::{closure_env#4}>, core::result::Result<(), std::io::error::Error>>> (self=<error reading variable: Cannot access memory at address 0x80>) at /usr/src/rustc-1.82.0/library/core/src/panic/unwind_safe.rs:272
#23 std::panicking::try::do_call<core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked_::{closure#1}::{closure_env#0}<audioipc2::ipccore::{impl#7}::new::{closure_env#0}<audioipc2_server::init_threads::{closure_env#3}, audioipc2_server::init_threads::{closure_env#4}>, core::result::Result<(), std::io::error::Error>>>, core::result::Result<(), std::io::error::Error>> (data=<optimized out>) at /usr/src/rustc-1.82.0/library/std/src/panicking.rs:554
#24 std::panicking::try<core::result::Result<(), std::io::error::Error>, core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked_::{closure#1}::{closure_env#0}<audioipc2::ipccore::{impl#7}::new::{closure_env#0}<audioipc2_server::init_threads::{closure_env#3}, audioipc2_server::init_threads::{closure_env#4}>, core::result::Result<(), std::io::error::Error>>>> (f=...) at /usr/src/rustc-1.82.0/library/std/src/panicking.rs:518
#25 std::panic::catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked_::{closure#1}::{closure_env#0}<audioipc2::ipccore::{impl#7}::new::{closure_env#0}<audioipc2_server::init_threads::{closure_env#3}, audioipc2_server::init_threads::{closure_env#4}>, core::result::Result<(), std::io::error::Error>>>, core::result::Result<(), std::io::error::Error>> (f=...) at /usr/src/rustc-1.82.0/library/std/src/panic.rs:345
#26 std::thread::{impl#0}::spawn_unchecked_::{closure#1}<audioipc2::ipccore::{impl#7}::new::{closure_env#0}<audioipc2_server::init_threads::{closure_env#3}, audioipc2_server::init_threads::{closure_env#4}>, core::result::Result<(), std::io::error::Error>> ()
at /usr/src/rustc-1.82.0/library/std/src/thread/mod.rs:521
#27 core::ops::function::FnOnce::call_once<std::thread::{impl#0}::spawn_unchecked_::{closure_env#1}<audioipc2::ipccore::{impl#7}::new::{closure_env#0}<audioipc2_server::init_threads::{closure_env#3}, audioipc2_server::init_threads::{closure_env#4}>, core::result::Result<(), std::io::error::Error>>, ()> ()
at /usr/src/rustc-1.82.0/library/core/src/ops/function.rs:250
#28 0x00007eff2ee38adb in alloc::boxed::{impl#48}::call_once<(), dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global> (self=..., args=()) at alloc/src/boxed.rs:2231
#29 alloc::boxed::{impl#48}::call_once<(), alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global>, alloc::alloc::Global> (self=0x7efec3c984d0, args=()) at alloc/src/boxed.rs:2231
#30 std::sys::pal::unix::thread::{impl#2}::new::thread_start (main=main@entry=0x7efec3c984d0) at std/src/sys/pal/unix/thread.rs:105
#31 0x000055fd004003f5 in set_alt_signal_stack_and_start (params=<optimized out>) at ./mozglue/interposers/pthread_create_interposer.cpp:81
#32 0x00007eff35bfa112 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:447
#33 0x00007eff35c788f8 in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
The signature for the crash is this:
Program terminated with signal SIGXCPU, CPU time limit exceeded.
#0 core::intrinsics::copy_nonoverlapping<u8> (dst=0x7ef95f810000, count=1, src=<optimized out>) at /usr/src/rustc-1.82.0/library/core/src/intrinsics.rs:3325
This is a RT kernel using Debian Linux RT (6.11.5-rt-amd64) patches. I'm not uploading the full core dump as it's half Gb.
Comment 3•1 month ago
•
|
||
Do you see any crash signature in about:crashes that you could share?
Nope, as https://bugzilla.mozilla.org/show_bug.cgi?id=1641761#c7 explains, the main browser process doesn't seem to have a SIGXCPU handler. The latest crash shown in about:crashes is https://crash-stats.mozilla.org/report/index/a04fc7ab-9fb7-41d0-8412-2eb3b0241107 which doesn't seem to fit, and also occurred the day before.
Comment 5•1 month ago
|
||
Trying to move to Core::Audio/Video, given the references to audioipc2
.
:kinetik, would you have any thoughts here?
Description
•