strawberrymusicplayer / strawberry

:strawberry: Strawberry Music Player
https://www.strawberrymusicplayer.org/
GNU General Public License v3.0
2.68k stars 184 forks source link

I found a repeatable fatal exception on macos 10.14.6 (18G5033) when using search on my v large library #583

Closed tomachinz closed 3 years ago

tomachinz commented 3 years ago

The app will crash and disappear shortly after typing in a search keyword and likely hitting enter. My library is large and showed 0% progress on updating. It is a 7200 rpm HDD on USB external. The library is 13,617 songs presently and contains a lot of Apple Lossless files in .m4a container.

To Reproduce I simply restart the app, click Collection, click the text field "enter search terms here", in my case covid is the track I'm hoping to edit the ID3 for, but when I hit the enter key... the cursor freezes, then the beachball animation, then after what I'm guessing is an OS timeout it crashes and disappears, quitting. This time I needed to force quit. Drive is formatted CoreStorage Logical Volume • Mac OS Extended (Journaled, Encrypted)

image

Expected behavior It begins my search for covid. Hopefully it finds my track Baby Boomer Remover over at: funk.co.nz/boomer

Screenshots: If applicable, add screenshots to help explain your problem.

System Information:

Other factors

My library likely has some scary ASCII in there if you know what I mean. Some of the filenames are a bit extreme. image

jonaski commented 3 years ago

Are you getting a backtrace? Run strawberry from the terminal to see any output. Open a terminal and type: /Applications/strawberry.app/Contents/MacOS/strawberry

tomachinz commented 3 years ago

Good idea! This has enabled me to realise which file it was killing the app. The file contains the Chinese characters for the phrase "Spreading Rumours" and thusly it is a prime candidate for why I am experiencing issues.

➜  ~ /Applications/strawberry.app/Contents/MacOS/strawberry
04:04:10.440 INFO  main:166                         Strawberry 0.8.2
04:04:10.449 INFO  main:167                         "macOS Mojave (10.14) 10.14 - (darwin 18.7.0) [x86_64]"
04:04:10.449 DEBUG Utilities:827                    Max fd: 24576
04:04:10.698 DEBUG main:192                         Looking for resources in "/Applications/strawberry.app/Contents/MacOS/../PlugIns"
04:04:10.747 DEBUG Application:254                  Database(0x7fc5b1e393e0) moved to thread QThread(0x7fc5b1e73b70)
04:04:10.749 DEBUG SCollection:63                   CollectionBackend(0x7fc5b1e3da60) moved to thread QThread(0x7fc5b1e73b70)
04:04:10.864 DEBUG Application:254                  AlbumCoverLoader(0x7fc5b1e8bd10) moved to thread QThread(0x7fc5b1e8c790)
04:04:10.907 DEBUG SCollection:95                   CollectionWatcher(0x7fc5b1e8e780) moved to thread QThread(0x7fc5b1e8e5e0)
04:04:10.931 DEBUG Application:254                  TagReaderClient(0x7fc5b1f326b0) moved to thread QThread(0x7fc5b1cde4f0)
04:04:10.959 DEBUG GstStartup:100                   Setting GIO module path to "/Applications/strawberry.app/Contents/MacOS/../PlugIns/gio-modules"
04:04:10.959 DEBUG GstStartup:110                   Setting GStreamer plugin scanner to "/Applications/strawberry.app/Contents/MacOS/../PlugIns/gst-plugin-scanner"
04:04:10.959 DEBUG GstStartup:120                   Setting GStreamer plugin path to "/Applications/strawberry.app/Contents/MacOS/../PlugIns/gstreamer"
04:04:10.959 DEBUG GstStartup:131                   Setting GStreamer registry file to "/Users/tom/Library/Application Support/Strawberry/Strawberry/gst-registry-0.8.2-bin"
04:04:10.961 DEBUG >:282                            Starting worker 0x700002808878 "/Applications/strawberry.app/Contents/MacOS/../PlugIns/strawberry-tagreader" "/private/var/folders/r_/jpqlqgn95plb1ly153_0r6xw0000gn/T/strawberry_38254491"
04:04:10.975 DEBUG >:282                            Starting worker 0x700002808878 "/Applications/strawberry.app/Contents/MacOS/../PlugIns/strawberry-tagreader" "/private/var/folders/r_/jpqlqgn95plb1ly153_0r6xw0000gn/T/strawberry_-1983182000"
04:04:11.168 INFO  main:56                          TagReader worker connecting to "/private/var/folders/r_/jpqlqgn95plb1ly153_0r6xw0000gn/T/strawberry_38254491"
04:04:11.169 INFO  main:56                          TagReader worker connecting to "/private/var/folders/r_/jpqlqgn95plb1ly153_0r6xw0000gn/T/strawberry_-1983182000"
04:04:11.178 DEBUG >:300                            Worker 0x7fc5b1f33db0 connected to "/private/var/folders/r_/jpqlqgn95plb1ly153_0r6xw0000gn/T/strawberry_38254491"
04:04:11.179 DEBUG >:300                            Worker 0x7fc5b1f346c0 connected to "/private/var/folders/r_/jpqlqgn95plb1ly153_0r6xw0000gn/T/strawberry_-1983182000"
04:04:11.891 INFO  Player:799                       Registered URL handler for "subsonic"
04:04:11.897 DEBUG InternetServices:49              Added internet service "Subsonic"
04:04:11.898 INFO  Player:799                       Registered URL handler for "tidal"
04:04:11.914 DEBUG InternetServices:49              Added internet service "Tidal"
04:04:11.915 INFO  Player:799                       Registered URL handler for "qobuz"
04:04:11.932 DEBUG InternetServices:49              Added internet service "Qobuz"
04:04:12.311 DEBUG MainWindow:318                   Starting
04:04:12.506 DEBUG CoverProviders:105               Registered cover provider "Last.fm"
04:04:12.506 DEBUG CoverProviders:105               Registered cover provider "MusicBrainz"
04:04:12.507 DEBUG CoverProviders:105               Registered cover provider "Discogs"
04:04:12.511 DEBUG CoverProviders:105               Registered cover provider "Deezer"
04:04:12.513 DEBUG CoverProviders:105               Registered cover provider "Musixmatch"
04:04:12.514 DEBUG CoverProviders:105               Registered cover provider "Spotify"
04:04:12.515 DEBUG CoverProviders:105               Registered cover provider "Tidal"
04:04:12.515 DEBUG CoverProviders:105               Registered cover provider "Qobuz"
04:04:12.560 DEBUG LyricsProviders:103              Registered lyrics provider "AudD"
04:04:12.560 DEBUG LyricsProviders:103              Registered lyrics provider "Genius"
04:04:12.560 DEBUG LyricsProviders:103              Registered lyrics provider "Lyrics.ovh"
04:04:12.561 DEBUG LyricsProviders:103              Registered lyrics provider "LoloLyrics"
04:04:12.561 DEBUG LyricsProviders:103              Registered lyrics provider "Musixmatch"
04:04:12.561 DEBUG LyricsProviders:103              Registered lyrics provider "ChartLyrics"
04:04:13.004 DEBUG MainWindow:366                   Initialising player
04:04:13.005 DEBUG MainWindow:376                   Creating models
04:04:13.005 DEBUG MainWindow:383                   Creating models finished
04:04:13.009 DEBUG DeviceLister:66                  MacOsDeviceLister(0x7fc5b537e050) moved to thread QThread(0x7fc5b53766a0)
04:04:13.014 DEBUG MacOsDeviceLister:500            Interface class: 9
04:04:13.018 DEBUG Application:254                  PlaylistBackend(0x7fc5b527d5f0) moved to thread QThread(0x7fc5b1e73b70)
04:04:13.025 DEBUG MacOsDeviceLister:500            Interface class: 3
04:04:13.026 DEBUG MainWindow:401                   Creating UI
04:04:13.066 DEBUG ScrobblerServices:49             Registered scrobbler service "Last.fm"
04:04:13.067 DEBUG ScrobblerServices:49             Registered scrobbler service "Libre.fm"
04:04:13.068 DEBUG ScrobblerServices:49             Registered scrobbler service "ListenBrainz"
04:04:13.068 DEBUG ScrobblerServices:49             Registered scrobbler service "Subsonic"
04:04:13.081 DEBUG MainWindow:819                   Creating playing widget
04:04:13.125 DEBUG MacOsDeviceLister:500            Interface class: 255
04:04:13.152 DEBUG MacOsDeviceLister:500            Interface class: 8
04:04:13.163 DEBUG MacOsDeviceLister:500            Interface class: 9
04:04:13.175 DEBUG MacOsDeviceLister:500            Interface class: 8
04:04:13.184 DEBUG MacOsDeviceLister:500            Interface class: 9
04:04:13.192 DEBUG MacOsDeviceLister:500            Interface class: 3
04:04:13.278 DEBUG MainWindow:871                   Loading settings
04:04:13.383 DEBUG MacOsDeviceLister:500            Interface class: 8
04:04:13.397 DEBUG MacOsDeviceLister:500            Interface class: 3
04:04:13.411 DEBUG MacOsDeviceLister:500            Interface class: 8
04:04:13.433 DEBUG MacOsDeviceLister:500            Interface class: 9
04:04:13.678 DEBUG MacOsDeviceLister:500            Interface class: 9
04:04:13.713 DEBUG MacOsDeviceLister:500            Interface class: 255
04:04:13.739 DEBUG MacOsDeviceLister:500            Interface class: 9
04:04:13.820 DEBUG MacOsDeviceLister:500            Interface class: 3
04:04:13.857 DEBUG MacOsDeviceLister:500            Interface class: 9
04:04:13.878 DEBUG MacOsDeviceLister:500            Interface class: 9
04:04:13.893 DEBUG MacOsDeviceLister:500            Interface class: 9
04:04:13.932 DEBUG MacOsDeviceLister:500            Interface class: 9
04:04:14.203 DEBUG MainWindow:989                   Started QThread(0x7fc5b1d17c80)
04:04:14.445 DEBUG _MessageReplyBase:30             Waiting on ID 0
04:04:14.447 DEBUG TagReader:173                    Reading tags from "/Volumes/13xOLDSKOOL/Users/tom/Projects OLDSKOOL/Album2 The Atkinson Diet 13inch/Faticle/COVID-19 Tentacle MASTER/Bounces/Covid-19 Tentacle is a Baby Boomer Remover Spreading Rumours 散布谣言 (radio-edit-6-11-2020)_24bit.flac"
TagLib: Could not open file /Volumes/13xOLDSKOOL/Users/tom/Projects OLDSKOOL/Album2 The Atkinson Diet 13inch/Faticle/COVID-19 Tentacle MASTER/Bounces/Covid-19 Tentacle is a Baby Boomer Remover Spreading Rumours 散布谣言 (radio-edit-6-11-2020)_24bit.flac
04:04:14.449 INFO  TagReader:187                    TagLib hasn't been able to read "/Volumes/13xOLDSKOOL/Users/tom/Projects OLDSKOOL/Album2 The Atkinson Diet 13inch/Faticle/COVID-19 Tentacle MASTER/Bounces/Covid-19 Tentacle is a Baby Boomer Remover Spreading Rumours 散布谣言 (radio-edit-6-11-2020)_24bit.flac" file
04:04:14.450 DEBUG MessageReply<pb::tagreader::Message>:90 Releasing ID 0 (finished)
04:04:14.450 DEBUG _MessageReplyBase:32             Acquired ID 0
04:04:14.451 DEBUG PlaylistBackend:336              Saving playlist 3
04:04:41.658 INFO  Database:149                     Creating initial database schema

I will go now and rename this file and try again. I will also download the latest release as when I launch, I can see there is a new release (after I check the file re-name success/fail)

The file is causing: TagLib: Could not open file /Volumes/13xOLDSKOOL/Users/tom/Projects OLDSKOOL/Album2 The Atkinson Diet 13inch/Faticle/COVID-19 Tentacle MASTER/Bounces/Covid-19 Tentacle is a Baby Boomer Remover Spreading Rumours 散布谣言 (radio-edit-6-11-2020)_24bit.flac

tomachinz commented 3 years ago

You can get a copy of the music file at:

http://www.funk.co.nz/boomer

currently is the file with 散布谣言 in the filename and ID3 tag for song title, but later will change to not include the 散布谣言 so let me know if you would like a copy (of the present/old munged filename - or just add 散布谣言 using your operating system) in the future case where I change the URL target to the sanitised filename (its a redirect), and even consider changing the ID3 tag (since iTunes may then warp the file, and then crash Strawberry, maybe I don't want that).

I kinda did want to push the envelope in this regard with this release (I expect it will be banned officially in China - will be interesting to see how long this takes huh?! Have a listen and see what I mean!) however I'm having seconds thoughts about this (songname/filename) at an earlier phase than I was expecting!! eg re: Strawberry bug. I figured it would get rejected by Distrokid (my aggregator/worldwide distributor) or perhaps one of their stores (itunes, spotify etc). I think perhaps I will save my experiment, or at least move it to a different ID3 tag.... .

The song is composed by myself and about to released worldwide on November 19. If you like it, please consider purchasing it via my bandcamp at tomachi.tv and/or any of the major stores. The official release will have an extended version, and stem-mixes of the drums, melodies, and vocals separately.

PS when I tried to find the file before I noticed I had used .flacc as the filename. I can't remember when I removed the extra c, but the flac I uploaded above does not have this plus I set.

PPS actually now I noticed some weird file permissions issue (while using foobar2000 to edit the flac ID3).... foobar2000 says:

Could not update tags on: "/Volumes/13xOLDSKOOL/Users/tom/Projects OLDSKOOL/Album2 The Atkinson Diet 13inch/Faticle/COVID-19 Tentacle MASTER/Bounces/Baby_Boomer_Remover_-_Spreading_Rumours_散布谣言_(COVID-19_Tentacle_Radio_Edit).flac" Reason: Access denied

Lucky the file is outside my library folder so it is not picked up each launch.

ls -la shows they aren't owned by me so after fixing my ridiculous permissions issue I can now update the library: image I can now edit the files ID3 tag in foobar2000 and also VLC bouncing between the two to check the update to the file each time is good even with the chars. I just tested the mp3 of the radio edit and.... its works fine! I may almost close this issue once I test again with the .flac version of the file, which I will do now... (got sidetracked)

image

tomachinz commented 3 years ago

Closing issue: was a PEBCAC (problem exists between chair and computer = me the luser).

After fixing my ridiculous permission issue (no read/write perms!) I was even able to edit the ID3 of the flac inside Strawberry with no problems! Sorry for bugging you on this by the way. 👍 Great app.

image