-
Notifications
You must be signed in to change notification settings - Fork 194
Closed
Description
When probing a specific invalid MP3 file with enable_gapless set to true, a panic occurs. I encountered this error when using rodio to play the mp3, but since the panic occurred in Symphonia, I made a minimum reproduction to post the issue here.
Sample Code
use std::fs::File;
use symphonia::core::formats::FormatOptions;
use symphonia::core::io::MediaSourceStream;
use symphonia::default;
fn main() {
let probe = default::get_probe();
let mss = MediaSourceStream::new(
Box::new(File::open("bad_mp3.mp3").expect("open audio file")),
Default::default()
);
let pr = probe.format(&Default::default(), mss, &FormatOptions {
enable_gapless:true,
..Default::default()
}, &Default::default()).expect("probe failed");
}
Sample mp3:
bad_mp3.mp3
Unwind
thread 'main' (2861667) panicked at /home/atomr/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/symphonia-bundle-mp3-0.5.5/src/demuxer.rs:128:42:
attempt to subtract with overflow
stack backtrace:
0: 0x6319d1137b02 - std::backtrace_rs::backtrace::libunwind::trace::hd57362190422746d
at /rustc/ded5c06cf21d2b93bffd5d884aa6e96934ee4234/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
1: 0x6319d1137b02 - std::backtrace_rs::backtrace::trace_unsynchronized::he61be86f5e8dfc7b
at /rustc/ded5c06cf21d2b93bffd5d884aa6e96934ee4234/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
2: 0x6319d1137b02 - std::sys::backtrace::_print_fmt::hd233ea33e70c29e2
at /rustc/ded5c06cf21d2b93bffd5d884aa6e96934ee4234/library/std/src/sys/backtrace.rs:66:9
3: 0x6319d1137b02 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h718e2d17a1928e63
at /rustc/ded5c06cf21d2b93bffd5d884aa6e96934ee4234/library/std/src/sys/backtrace.rs:39:26
4: 0x6319d1147fdf - core::fmt::rt::Argument::fmt::hdeda3281325c4830
at /rustc/ded5c06cf21d2b93bffd5d884aa6e96934ee4234/library/core/src/fmt/rt.rs:173:76
5: 0x6319d1147fdf - core::fmt::write::h1d2246b072ea91eb
at /rustc/ded5c06cf21d2b93bffd5d884aa6e96934ee4234/library/core/src/fmt/mod.rs:1469:25
6: 0x6319d11156b3 - std::io::default_write_fmt::h4ebfe695aebd90ac
at /rustc/ded5c06cf21d2b93bffd5d884aa6e96934ee4234/library/std/src/io/mod.rs:639:11
7: 0x6319d11156b3 - std::io::Write::write_fmt::haf55272405c09d9b
at /rustc/ded5c06cf21d2b93bffd5d884aa6e96934ee4234/library/std/src/io/mod.rs:1954:13
8: 0x6319d111adb2 - std::sys::backtrace::BacktraceLock::print::h61c3bd81a9458a03
at /rustc/ded5c06cf21d2b93bffd5d884aa6e96934ee4234/library/std/src/sys/backtrace.rs:42:9
9: 0x6319d111c81c - std::panicking::default_hook::{{closure}}::haf1ffb5d1e33a97f
at /rustc/ded5c06cf21d2b93bffd5d884aa6e96934ee4234/library/std/src/panicking.rs:301:27
10: 0x6319d111c676 - std::panicking::default_hook::hc32245deb6eaa988
at /rustc/ded5c06cf21d2b93bffd5d884aa6e96934ee4234/library/std/src/panicking.rs:328:9
11: 0x6319d111cdf5 - std::panicking::panic_with_hook::h43adc00fd0e494cb
at /rustc/ded5c06cf21d2b93bffd5d884aa6e96934ee4234/library/std/src/panicking.rs:834:13
12: 0x6319d111cc56 - std::panicking::panic_handler::{{closure}}::h44391079756da3e7
at /rustc/ded5c06cf21d2b93bffd5d884aa6e96934ee4234/library/std/src/panicking.rs:700:13
13: 0x6319d111aef9 - std::sys::backtrace::__rust_end_short_backtrace::h934e1568393e5b8f
at /rustc/ded5c06cf21d2b93bffd5d884aa6e96934ee4234/library/std/src/sys/backtrace.rs:174:18
14: 0x6319d1109f0d - __rustc[d9b87f19e823c0ef]::rust_begin_unwind
at /rustc/ded5c06cf21d2b93bffd5d884aa6e96934ee4234/library/std/src/panicking.rs:698:5
15: 0x6319d114bd10 - core::panicking::panic_fmt::h62031895f6e012da
at /rustc/ded5c06cf21d2b93bffd5d884aa6e96934ee4234/library/core/src/panicking.rs:80:14
16: 0x6319d114b8c7 - core::panicking::panic_const::panic_const_sub_overflow::heaac45fefd120943
at /rustc/ded5c06cf21d2b93bffd5d884aa6e96934ee4234/library/core/src/panicking.rs:180:17
17: 0x6319d1075ad3 - <symphonia_bundle_mp3::demuxer::MpaReader as symphonia_core::formats::FormatReader>::try_new::haa8cc10d5392dcb7
at /home/atomr/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/symphonia-bundle-mp3-0.5.5/src/demuxer.rs:128:42
18: 0x6319d10764ee - <symphonia_bundle_mp3::demuxer::MpaReader as symphonia_core::probe::QueryDescriptor>::query::{{closure}}::h8618c1f931333fde
at /home/atomr/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/symphonia-core-0.5.5/src/probe.rs:360:65
19: 0x6319d1067cb0 - core::ops::function::FnOnce::call_once::h44e9ac6c9ba447be
at /home/atomr/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
20: 0x6319d11024b8 - symphonia_core::probe::Probe::format::h443e241fc9adcd82
at /home/atomr/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/symphonia-core-0.5.5/src/probe.rs:326:34
21: 0x6319d0f71c19 - profileTest::main::hd77074c68507a100
at /home/atomr/Documents/code/RustProjects/profileTest/src/main.rs:12:20
22: 0x6319d0f72c0b - core::ops::function::FnOnce::call_once::h6744bff2907e3f34
at /home/atomr/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
23: 0x6319d0f7192e - std::sys::backtrace::__rust_begin_short_backtrace::h53f783c6046259cf
at /home/atomr/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/backtrace.rs:158:18
24: 0x6319d0f72221 - std::rt::lang_start::{{closure}}::h50b223a6835adf87
at /home/atomr/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/rt.rs:206:18
25: 0x6319d1116800 - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::hef272b0bbce060cb
at /rustc/ded5c06cf21d2b93bffd5d884aa6e96934ee4234/library/core/src/ops/function.rs:287:21
26: 0x6319d1116800 - std::panicking::catch_unwind::do_call::hb8c4cc43eed9a08c
at /rustc/ded5c06cf21d2b93bffd5d884aa6e96934ee4234/library/std/src/panicking.rs:590:40
27: 0x6319d1116800 - std::panicking::catch_unwind::h2729a121c7344441
at /rustc/ded5c06cf21d2b93bffd5d884aa6e96934ee4234/library/std/src/panicking.rs:553:19
28: 0x6319d1116800 - std::panic::catch_unwind::h8930b2483deb2063
at /rustc/ded5c06cf21d2b93bffd5d884aa6e96934ee4234/library/std/src/panic.rs:359:14
29: 0x6319d1116800 - std::rt::lang_start_internal::{{closure}}::hada379c5dd834c6b
at /rustc/ded5c06cf21d2b93bffd5d884aa6e96934ee4234/library/std/src/rt.rs:175:24
30: 0x6319d1116800 - std::panicking::catch_unwind::do_call::hc3ea95eb90ebfdc8
at /rustc/ded5c06cf21d2b93bffd5d884aa6e96934ee4234/library/std/src/panicking.rs:590:40
31: 0x6319d1116800 - std::panicking::catch_unwind::h0b97aa6eb277c112
at /rustc/ded5c06cf21d2b93bffd5d884aa6e96934ee4234/library/std/src/panicking.rs:553:19
32: 0x6319d1116800 - std::panic::catch_unwind::h2db34aa2a1d62ae5
at /rustc/ded5c06cf21d2b93bffd5d884aa6e96934ee4234/library/std/src/panic.rs:359:14
33: 0x6319d1116800 - std::rt::lang_start_internal::h00c7908c7c2f92b8
at /rustc/ded5c06cf21d2b93bffd5d884aa6e96934ee4234/library/std/src/rt.rs:171:5
34: 0x6319d0f72207 - std::rt::lang_start::h4ffefa828a54d767
at /home/atomr/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/rt.rs:205:5
35: 0x6319d0f71d4e - main
36: 0x7b0ffd02a575 - __libc_start_call_main
at ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
37: 0x7b0ffd02a628 - __libc_start_main_impl
at ./csu/../csu/libc-start.c:360:3
38: 0x6319d0f715d5 - _start
39: 0x0 - <unknown>
Info
Package Versions
[dependencies]
symphonia = "0.5.5"
symphonia-bundle-mp3 = "0.5.5"
General system info
Operating System: Kubuntu 25.10
KDE Plasma Version: 6.4.5
KDE Frameworks Version: 6.17.0
Qt Version: 6.9.2
Kernel Version: 6.17.0-8-generic (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 3700X 8-Core Processor
Memory: 96 GiB of RAM (94.2 GiB usable)
Graphics Processor: NVIDIA GeForce RTX 3060
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels