SubmarinerApp / Submariner

A Subsonic client for macOS
https://submarinerapp.com
BSD 3-Clause "New" or "Revised" License
122 stars 3 forks source link

Crash on startup macOS 14.4.1 #204

Closed mattiapv closed 2 months ago

mattiapv commented 2 months ago

Describe the bug Crash on startup. I uninstalled the previous version using CleanMyMac to ensure the removal of any leftover before opening the new version.

To Reproduce Open the app

Versions:

Crash Report https://pastebin.com/raw/bJ8fZT8J

NattyNarwhal commented 2 months ago

Looks like a regression in database fetching code. I'll push a hotfix for this.

NattyNarwhal commented 2 months ago

I've pushed 3.1.1, can you try this?

mattiapv commented 2 months ago

I've pushed 3.1.1, can you try this?

I confirm that now is working. Thanks you.

kingjon3377 commented 2 months ago

I'm still seeing crashes on startup with version 3.1.1. I tried both installing via Homebrew Cask and from the Apple App Store. (I'm not on macOS 14.4 yet, but this looks like the same crash to me.)

submariner-crash-report.txt

NattyNarwhal commented 2 months ago

@kingjon3377 The error here looks different; in particular, it seems to be hitting an assertion somewhere. That should be getting printed somewhere I hope; do you see anything in the console?

kingjon3377 commented 2 months ago

Yes, thank you, it looks like it's triggered in part by something specific to my local configuration. (I dual-boot macOS and Linux on my MacBooks, and have $HOME/music set as a symlink into the corresponding subdirectory of my home directory in the Linux partition, which is mounted via MacFUSE ... but I haven't gotten the Linux side of this MacBook properly set up yet, so the Linux $HOME/music doesn't exist, but because of the way MacFUSE works the symbolic link isn't seen as a broken link.)

The errors in the console are:

error   22:11:08.799372-0400    Submariner  os_unix.c:46922: (21) open(/Volumes/Gentoo/home/kingjon/music/Submariner/Submariner Library.sqlite) - Is a directory
error   22:11:08.799411-0400    Submariner  API call with unopened database connection pointer
error   22:11:08.799424-0400    Submariner  misuse at line 179671 of [554764a6e7]
error   22:11:08.799810-0400    Submariner  error: addPersistentStoreWithType:configuration:URL:options:error: returned error NSCocoaErrorDomain (256)
error   22:11:08.799879-0400    Submariner  error: userInfo:
error   22:11:08.799901-0400    Submariner  error:  NSFilePath : /Users/kingjon/Library/Containers/fr.read-write.Submariner/Data/Music/Submariner/Submariner Library.sqlite
error   22:11:08.799941-0400    Submariner  error:  NSSQLiteErrorDomain : 14
error   22:11:08.799962-0400    Submariner  error: storeType: SQLite
error   22:11:08.799978-0400    Submariner  error: configuration: (null)
error   22:11:08.800019-0400    Submariner  error: URL: file:///Users/kingjon/Library/Containers/fr.read-write.Submariner/Data/Music/Submariner/Submariner%20Library.sqlite/
default 22:11:08.800043-0400    Submariner  annotation: options:
default 22:11:08.800124-0400    Submariner  annotation:     NSMigratePersistentStoresAutomaticallyOption : 1
default 22:11:08.800144-0400    Submariner  annotation:     NSInferMappingModelAutomaticallyOption : 1
default 22:11:08.805589-0400    Submariner  Submariner/SBAppDelegate.swift:82: Fatal error: 'try!' expression unexpectedly raised an error: Error Domain=NSCocoaErrorDomain Code=256 "The file “Submariner Library.sqlite” couldn’t be opened." UserInfo={NSFilePath=/Users/kingjon/Library/Containers/fr.read-write.Submariner/Data/Music/Submariner/Submariner Library.sqlite, NSSQLiteErrorDomain=14}

Once I removed the problematic symlink, I tried again, and got the following in the console:

default 22:20:10.925579-0400    Submariner  Requesting container lookup; personaid = -1, type = NOPERSONA, name = <unknown>, origin [pid = 0, personaid = 0], proximate [pid = 0, personaid = 0], class = 2, identifier = <private>, group_identifier = <private>, create = 0, temp = 0, euid = 1000, uid = 1000
default 22:20:10.925698-0400    Submariner  Query; personaid = -1, type = NOPERSONA, name = <unknown>, origin [pid = 0, personaid = 0], proximate [pid = 0, personaid = 0], euid = 1000, uid = 1000, query = <private>
default 22:20:10.928148-0400    Submariner  container_query_get_single_result: success
default 22:20:10.928215-0400    Submariner  Consuming sandbox extension; path = [<private>], key = 0
default 22:20:10.928275-0400    Submariner  Consuming sandbox extension; path = [<private>], key = 0
default 22:20:10.928288-0400    Submariner  Revoking sandbox extension; key = 0
default 22:20:10.928338-0400    Submariner  container_create_or_lookup_for_platform: success
default 22:20:10.928378-0400    Submariner  Revoking sandbox extension; key = 0
default 22:20:10.960187-0400    Submariner  server port 0x00003a07, session port 0x00003a07
default 22:20:10.976150-0400    Submariner  Received configuration update from daemon (initial)
default 22:20:10.978728-0400    Submariner  New connection 0x88c17 main
default 22:20:10.982021-0400    Submariner  CHECKIN: pid=45282
default 22:20:10.991267-0400    Submariner  CHECKEDIN: pid=45282 asn=0x0-0x30f30f foreground=1
default 22:20:10.994636-0400    Submariner  FRONTLOGGING: version 1
default 22:20:10.994710-0400    Submariner  Registered, pid=45282 ASN=0x0,0x30f30f
default 22:20:11.000072-0400    Submariner  BringForward: pid=45282 asn=0x0-0x30f30f bringForward=1 foreground=1 uiElement=0 launchedByLS=1 modifiersCount=1 allDisabled=0
default 22:20:11.000123-0400    Submariner  BringFrontModifier: pid=45282 asn=0x0-0x30f30f Modifier 0 hideAfter=0 hideOthers=0 dontMakeFrontmost=0 mouseDown=0/0 seed=0/0
default 22:20:11.000236-0400    Submariner  BringForward: pid=45282 asn=0x0-0x30f30f
default 22:20:11.000344-0400    Submariner  SetFrontProcess: asn=0x0-0x30f30f options=0
default 22:20:11.007514-0400    Submariner  Current system appearance, (HLTB: 2), (SLS: 1)
default 22:20:11.011776-0400    Submariner  No persisted cache on this platform.
default 22:20:11.013430-0400    Submariner  Failed to copy the SysCfgDict MG key with error: 0
default 22:20:11.018553-0400    Submariner  Current system appearance, (HLTB: 2), (SLS: 1)
default 22:20:11.020023-0400    Submariner  Post-registration system appearance: (HLTB: 2)
default 22:20:11.104093-0400    Submariner  Submariner/SBAppDelegate.swift:179: Fatal error: 'try!' expression unexpectedly raised an error: Error Domain=NSCocoaErrorDomain Code=512 "The file “Data” couldn’t be saved in the folder “Submariner”." UserInfo={NSFilePath=/Users/kingjon/Library/Containers/fr.read-write.Submariner/Data, NSUnderlyingError=0x600000c0d590 {Error Domain=NSPOSIXErrorDomain Code=20 "Not a directory"}}

Then I tried removing all Submariner-related directories from ~/Library/Application Scripts and ~/Library/Containers, and tried starting again, and this time it opened properly.