Open brendan-pike opened 3 years ago
Since there are no tracks in your output, I am assuming it happens after starting the tagger. Could you try on isolated smaller portion of library (like 1K or less tracks)?
Also if it's possible, you could run debug version from source to get more useable output. (Just download the repo and cargo run
)
I'm getting a compile problem can you help?
error: failed to run custom build command for `openssl-sys v0.9.60`
Caused by:
process didn't exit successfully: `/home/bedlore/repos/discogstagger/target/debug/build/openssl-sys-db18d493257de4f7/build-script-main` (exit code: 101)
--- stdout
cargo:rustc-cfg=const_fn
cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR
X86_64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR unset
cargo:rerun-if-env-changed=OPENSSL_LIB_DIR
OPENSSL_LIB_DIR unset
cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR
X86_64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR unset
cargo:rerun-if-env-changed=OPENSSL_INCLUDE_DIR
OPENSSL_INCLUDE_DIR unset
cargo:rerun-if-env-changed=X86_64_UNKNOWN_LINUX_GNU_OPENSSL_DIR
X86_64_UNKNOWN_LINUX_GNU_OPENSSL_DIR unset
cargo:rerun-if-env-changed=OPENSSL_DIR
OPENSSL_DIR unset
cargo:rerun-if-env-changed=OPENSSL_NO_PKG_CONFIG
cargo:rerun-if-env-changed=PKG_CONFIG
cargo:rerun-if-env-changed=OPENSSL_STATIC
cargo:rerun-if-env-changed=OPENSSL_DYNAMIC
cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC
cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC
cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH
cargo:rerun-if-env-changed=PKG_CONFIG_PATH
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR
run pkg_config fail: "`\"pkg-config\" \"--libs\" \"--cflags\" \"openssl\"` did not exit successfully: exit code: 1\n--- stderr\nPackage openssl was not found in the pkg-config search path.\nPerhaps you should add the directory containing `openssl.pc\'\nto the PKG_CONFIG_PATH environment variable\nNo package \'openssl\' found\n"
--- stderr
thread 'main' panicked at '
Could not find directory of OpenSSL installation, and this `-sys` crate cannot
proceed without this knowledge. If OpenSSL is installed and this crate had
trouble finding it, you can set the `OPENSSL_DIR` environment variable for the
compilation process.
Make sure you also have the development packages of openssl installed.
For example, `libssl-dev` on Ubuntu or `openssl-devel` on Fedora.
If you're in a situation where you think the directory *should* be found
automatically, please open a bug at https://github.com/sfackler/rust-openssl
and include information about your system as well as this message.
$HOST = x86_64-unknown-linux-gnu
$TARGET = x86_64-unknown-linux-gnu
openssl-sys = 0.9.60
', /home/bedlore/.cargo/registry/src/github.com-1ecc6299db9ec823/openssl-sys-0.9.60/build/find_normal.rs:173:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
error: build failed
You are missing openssl. Install it using your distro's package manager (Arch: openssl
, Debian: libssl-dev
)
Thanks, I was confused because I do have openssl installed but it needed the -dev version. I was missing a few others also. Am I running it correctly, I see this now.
$ cargo run RUST_BACKTRACE=1
Finished dev [unoptimized + debuginfo] target(s) in 0.10s
Running `target/debug/discogstaggerrs RUST_BACKTRACE=1`
Starting...
thread '<unnamed>' panicked at 'range end index 31256947 out of range for slice of length 14479731', /home/bedlore/.cargo/registry/src/github.com-1ecc6299db9ec823/metaflac-0.2.4/src/block.rs:747:24
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
The program is still open, responsive to mouse and using CPU so not sure if its continuing or not?
Looks like the tagging thread is crashing. As I mentioned - could you try with smaller portion of library (like 1K songs)?
Most of my collection is sorted by Artists, I'm doing tom waits now, 295 in there. Looks like its working fine, I'll try and find somewhere larger.
Where to from here, do I need to find a larger collection?
Well I guess. We don't really have such big libraries, so we couldn't test. Maybe try like few thousand songs?
Okay, I'll try to find something in that range. As there is no current way to manually select multiple folders it makes it hard, it would mean me going in and manually selecting single folders, so would take weeks. So you have no thoughts on what the issue is currently?
I am assuming your library is FLAC? Could you check RAM usage when starting?
Also you can copy multiple folders into one, and then select that one, because all subfolders are included.
Yes 99% flac varying bitrates, a few aif and mp3. Currently doing a box album with 730 and its seems fine, total memory 16GB with 5.6G used. The moving albums is a plausible workaround I guess if it can't be resolved.
I am assuming that the problem is that one of the FLAC tracks has bad tag so it somehow crashes it. You can try running it on larger lists of tracks, and eventually find out one that crashes it.
Yeh right, is it possible to add a more verbose debug output so it can show me where its crashing?
Sure
I just pushed a new commit which prints each loaded file to console when running in debug mode. Could you try it? (you have to download source code and cargo run
)
Brilliant thank you, here is the output.
Loading track: /mnt/Audio/Lossless/Morrissey/Beethoven Was Deaf/04 November Spawned a Monster.flac
Loading track: /mnt/Audio/Lossless/Morrissey/California Son/06 It's Over.flac
thread '<unnamed>' panicked at 'range end index 31256947 out of range for slice of length 14479731', /home/bedlore/.cargo/registry/src/github.com-1ecc6299db9ec823/metaflac-0.2.4/src/block.rs:747:24
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
...
$ cd '/mnt/Audio/Lossless/Morrissey/California Son/'
bedlore Hyssop mnt Audio Lossless Morrissey California Son $ ls -l
total 648776
-rwxrwx---+ 1 bedlore www-data 57509650 Feb 4 2020 '01 Morning Starship.flac'
-rwxrwx---+ 1 bedlore www-data 60782731 Feb 4 2020 "02 Don't Interrupt the Sorrow.flac"
-rwxrwx---+ 1 bedlore www-data 59451480 Feb 4 2020 '03 Only a Pawn in Their Game.flac'
-rwxrwx---+ 1 bedlore www-data 58362727 Feb 4 2020 '04 Suffer the Little Children.flac'
-rwxrwx---+ 1 bedlore www-data 51530203 Feb 4 2020 '05 Days of Decision.flac'
-rwxrwx---+ 1 bedlore www-data 51839232 Feb 4 2020 "06 It's Over.flac"
-rwxrwx---+ 1 bedlore www-data 54159551 Feb 4 2020 '07 Wedding Bell Blues.flac'
-rwxrwx---+ 1 bedlore www-data 47711889 Feb 4 2020 '08 Loneliness Remembers What Happiness Forgets.flac'
-rwxrwx---+ 1 bedlore www-data 56667040 Feb 4 2020 '09 Lady Willpower.flac'
-rwxrwx---+ 1 bedlore www-data 55357887 Feb 4 2020 '10 When You Close Your Eyes.flac'
-rwxrwx---+ 1 bedlore www-data 50752890 Feb 4 2020 "11 Lenny's Tune.flac"
-rwxrwx---+ 1 bedlore www-data 59701392 Feb 4 2020 '12 Some Say I Got Devil.flac'
-rwxrwx---+ 1 bedlore www-data 3915 Jan 30 2020 AccuripResult.log
-rwxrwx---+ 1 bedlore www-data 476566 Jan 30 2020 cover.jpg
-rwxrwx---+ 1 bedlore www-data 1375 Jan 30 2020 dr14.txt
bedlore Hyssop mnt Audio Lossless Morrissey California Son $ mediainfo 06\ It\'s\ Over.flac
General
Complete name : 06 It's Over.flac
Format : FLAC
Format/Info : Free Lossless Audio Codec
File size : 49.4 MiB
Duration : 2 min 52 s
Overall bit rate mode : Variable
Overall bit rate : 2 411 kb/s
Album : California Son
Part : 1
Part/Total : 1
Track name : It’s Over
Track name/Position : 6
Track name/Total : 12
Performer : "Boz Boorer (electric guitar);Jesse Tobias (electric guitar);Sean Hurley (bass guitar);Roger Manning Jr. (keyboard);Jesse Tobias (guitar);Jesse Tobias (acoustic guitar);Matt Walker (drums (drum set));Matt Walker (percussion);LP (background vocals);Steven Morrissey (lead vocals)"
Composer : Morrissey
Label : BMG Rights Management
Genre : Alternative Rock / Indie Pop
Recorded date : 2019-05-24
Writing application : Lavf58.20.100
ISRC : GB5KW1900474
SCRIPT : Latn
RELEASESTATUS : official
PRODUCER : Joe Chiccarelli
RELEASETYPE : album
RELEASE TYPE : Album (CD)
CATALOG : 538481122
WORK : It's Over
MUSICBRAINZ_RELEASETRACKID : 798509a4-4c05-460f-a8c2-9024435b41d9
RIP DATE : 2019-05-24
BARCODE : 4050538481129
ALBUM DYNAMIC RANGE : 6
RELEASECOUNTRY : XE
MIXER : Joe Chiccarelli;Ryan Freeland;Ken Sluiter
ORIGINALDATE : 2019-05-24
ENGINEER : Chris Dugan;Tim Kvasnosky;Marcus Paquin
MUSICBRAINZ_RELEASEGROUPID : df7f3979-4466-4765-93e5-86b8638ed247
RETAIL DATE : 2019-00-00
CATALOGNUMBER : 538481122
STYLE : Indie Pop; Indie Rock
WRITER : William Dees;Roy Orbison
DYNAMIC RANGE : 5
ORIGINALYEAR : 2019
MUSICBRAINZ_WORKID : 8e95a967-31e5-3839-9290-e9d30af110d8
ACOUSTID_ID : fbcf0b3e-3cca-4bde-a0ca-cd97a615d333
RIPPING TOOL : EAC
ARTISTS : Morrissey
MEDIA : CD
MUSICBRAINZ_ALBUMSTATUS : official
MUSICBRAINZ_ALBUMTYPE : album
Album/Composer : Morrissey
Audio
Format : FLAC
Format/Info : Free Lossless Audio Codec
Duration : 2 min 52 s
Bit rate mode : Variable
Bit rate : 977 kb/s
Channel(s) : 2 channels
Channel layout : L R
Sampling rate : 44.1 kHz
Bit depth : 16 bits
Compression mode : Lossless
Stream size : 20.0 MiB (41%)
Writing library : Lavf58.20.100
Language : English
bedlore Hyssop mnt Audio Lossless Morrissey California Son $ mediainfo 07\ Wedding\ Bell\ Blues.flac
General
Complete name : 07 Wedding Bell Blues.flac
Format : FLAC
Format/Info : Free Lossless Audio Codec
File size : 51.7 MiB
Duration : 2 min 56 s
Overall bit rate mode : Variable
Overall bit rate : 2 452 kb/s
Album : California Son
Part : 1
Part/Total : 1
Track name : Wedding Bell Blues
Track name/Position : 7
Track name/Total : 12
Performer : "Boz Boorer (electric guitar);Jesse Tobias (electric guitar);Mando Lopez (bass guitar);Roger Manning Jr. (piano);Gustavo Manzur (celesta);Matt Walker (drums (drum set));Billie Joe Armstrong (background vocals);Lydia Night (background vocals);Brigette Bryant (other vocals);Arnold McCuller (other vocals);Valerie Pinkston (other vocals);Steven Morrissey (lead vocals)"
Composer : Laura Nyro / Morrissey
Label : BMG Rights Management
Genre : Alternative Rock / Indie Pop
Recorded date : 2019-05-24
Writing application : Lavf58.20.100
ISRC : GB5KW1900475
WORK : Wedding Bell Blues
MUSICBRAINZ_RELEASETRACKID : edd8946d-b544-4b44-94ea-d149aa82174b
MUSICBRAINZ_WORKID : 58c480c2-de5c-354e-9ce9-ca1dd0767a4b
CATALOG : 538481122
RELEASECOUNTRY : XE
RIPPING TOOL : EAC
RIP DATE : 2019-05-24
RETAIL DATE : 2019-00-00
COMPOSERSORT : Nyro, Laura
ALBUM DYNAMIC RANGE : 6
MEDIA : CD
ORIGINALYEAR : 2019
ORIGINALDATE : 2019-05-24
LYRICIST : Laura Nyro
DYNAMIC RANGE : 5
MUSICBRAINZ_RELEASEGROUPID : df7f3979-4466-4765-93e5-86b8638ed247
CATALOGNUMBER : 538481122
SCRIPT : Latn
RELEASETYPE : album
RELEASESTATUS : official
PRODUCER : Joe Chiccarelli
ENGINEER : Chris Dugan;Tim Kvasnosky;Marcus Paquin
STYLE : Indie Pop; Indie Rock
ARTISTS : Morrissey
BARCODE : 4050538481129
RELEASE TYPE : Album (CD)
ACOUSTID_ID : e2ae52fb-4396-45c7-8b62-b3808d8b5e25
MIXER : Joe Chiccarelli;Ryan Freeland;Ken Sluiter
MUSICBRAINZ_ALBUMSTATUS : official
MUSICBRAINZ_ALBUMTYPE : album
Album/Composer : Morrissey
Audio
Format : FLAC
Format/Info : Free Lossless Audio Codec
Duration : 2 min 56 s
Bit rate mode : Variable
Bit rate : 1 056 kb/s
Channel(s) : 2 channels
Channel layout : L R
Sampling rate : 44.1 kHz
Bit depth : 16 bits
Compression mode : Lossless
Stream size : 22.2 MiB (43%)
Writing library : Lavf58.20.100
Language : English
From what I can tell they are fine and they still play fine. Its still feeling like a limit somewhere. I did see some "WARNING: Failed loading track: " while odd at least it skipped over them fine. For reference that last track was number 8328. Maybe it needs a way to only load then dump a certain quantity at a time?
Ye it's a bug with the library - that's why my code doesn't catch it. I'll look into it. In meantime you could just temporarily move out the track.
No worries and thank you. I won't be running it over my collection until the corruption issue is fixed, feels too risky. About to report on that shortly.
Trying to retag my collection of 99872 tracks give me this error after a short time:
I'm using the precompiled linux version, let me know how I can help debug this.
Cheers
*edit, I don't think I had rust installed fully, I've now amended the output?