-
Notifications
You must be signed in to change notification settings - Fork 48
Tag::read_from_path(): value: Parsing: uneven number of IPLS strings #147
Description
Recently, id3 completely stopped being able to parse any of my files. Strangely enough, I have not run cargo update in a long time, so I don't understand how I could have even introduced a regression, but nevertheless, here's a reproducible example.
use id3::Tag;
fn main() {
let tag = Tag::read_from_path("sample.mp3").unwrap();
println!("{:#?}", tag);
}sample.mp3.tar.gz
I attached sample.mp3 as a gzipped tar archive, because GitHub does not seem to support attaching MP3s directly (but MP4s are totally fine, huh .-.). I tested many of my over 10,000 local mp3 files and all of them exhibit the same error. It did not use to happen before, and other tools like mid3v2 and eyeD3 have no trouble reading the same files.
Executing the above program with sample.mp3 in the current directory produces the following, with RUST_BACKTRACE=full:
$ RUST_BACKTRACE=full cargo r
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.04s
Running `target/debug/rsid3`
thread 'main' panicked at src/main.rs:4:49:
called `Result::unwrap()` on an `Err` value: Parsing: uneven number of IPLS strings
stack backtrace:
0: 0x5555555f2ed6 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h9754a6437f1de22a
1: 0x5555556326cb - core::fmt::write::hb706a393bb60a06f
2: 0x5555555f7399 - std::io::Write::write_fmt::h9b447dc5d824d0bd
3: 0x55555561dad6 - std::panicking::default_hook::{{closure}}::h227952daede9dd84
4: 0x55555561d766 - std::panicking::default_hook::h31626ee1feb8ee2a
5: 0x55555561dfa1 - std::panicking::rust_panic_with_hook::h76d2aa694a00748e
6: 0x5555555f3427 - std::panicking::begin_panic_handler::{{closure}}::h8855a344ffa1638b
7: 0x5555555f30e9 - std::sys::backtrace::__rust_end_short_backtrace::h3110d0cbfbf26886
8: 0x55555561dc14 - rust_begin_unwind
9: 0x555555563833 - core::panicking::panic_fmt::h3af706d0346c1c60
10: 0x555555563246 - core::result::unwrap_failed::h2ba69a02b8a8418b
11: 0x55555556b843 - core::result::Result<T,E>::unwrap::h2d43590ad2b0d9b1
at /build/rustc-1.82.0-src/library/core/src/result.rs:1102:23
12: 0x55555556b843 - rsid3::main::hd10313d690953dd6
at /home/pcache/Software/id3/src/main.rs:4:15
13: 0x55555558f2db - core::ops::function::FnOnce::call_once::hb3f7b392556f4b59
at /build/rustc-1.82.0-src/library/core/src/ops/function.rs:250:5
14: 0x5555555664de - std::sys::backtrace::__rust_begin_short_backtrace::h1656c15ebe1192d9
at /build/rustc-1.82.0-src/library/std/src/sys/backtrace.rs:154:18
15: 0x555555566491 - std::rt::lang_start::{{closure}}::h59c225471d41be13
at /build/rustc-1.82.0-src/library/std/src/rt.rs:164:18
16: 0x55555561f985 - std::rt::lang_start_internal::h2084fce485147f46
17: 0x55555556646a - std::rt::lang_start::h1684807171f34ae4
at /build/rustc-1.82.0-src/library/std/src/rt.rs:163:17
18: 0x55555556bafe - main
19: 0x7ffff7dca27e - __libc_start_call_main
20: 0x7ffff7dca339 - __libc_start_main_alias_2
21: 0x555555563d45 - _start
22: 0x0 - <unknown>
If there's something wrong with my files, I would appreciate some feedback. Although, again, other tools seem to have no trouble reading them, and neither did rust-id3 just a few weeks ago, so this seems strange.