spotifyd
spotifyd copied to clipboard
Spotifyd does not work after resuming from sleep
Description
My spotifyd service no longer works after resuming if my computer sleeps for at least a couple of minutes. There are no errors logged by spotifyd, and the service does not restart automatically (I am using the systemd method on Linux).
To Reproduce
- Start
spotifyd, and ensure that it works by listening to some music; I am normally using spotify-tui, but I can use open.spotify.com and see thatspotifydappears as a device and I can play music on it; - Suspend your computer, and wait for a couple of minutes; for me, sleeping for 2 minutes was enough to reproduce the issue, but sleeping for 10 seconds wasn't;
- Wake up your computer, and try to play music, either by something like
spotify-tuior through open.spotify.com - See that
spotify-tuior open.spotify.com don't seespotifydas a device, therefore you cannot play music; - Restart the
spotifyd, and notice thatspotify-tuiand open.spotify.com recognize it as a device, and you can play music. - I also noticed that after resuming from sleep
spotifydsometimes starts to constantly use the equivalent of 1 CPU core (12.5% CPU in my case), like it got stuck in some kind of a loop.
Expected behavior
spotifyd should work after resuming from sleep, or it should fail gracefully and let the service management restart it (systemd in my case).
Logs
For the below logs, I followed the steps above between 1-4, and instead of running it through systemd, I started the process from the command line using spotifyd --verbose --no-daemon.
Click to show logs
Loading config from "/etc/spotifyd.conf" CliConfig { config_path: None, no_daemon: true, verbose: true, pid: None, shared_config: SharedConfigValues { username: None, password: None, password_cmd: None, use_keyring: true, on_song_change_hook: None, cache_path: Some("/home/zdonca/.cache/spotifyd"), no-audio-cache: false, backend: Some(PulseAudio), volume_controller: Some(SoftVolume), device: None, control: None, mixer: None, device_name: Some("spotifyd"), bitrate: Some(Bitrate160), volume_normalisation: false, normalisation_pregain: None, zeroconf_port: Some(1234), proxy: None } } Found shell "/usr/bin/zsh" using SHELL environment variable. No proxy specified registering with poller registering with poller registering with poller registering with poller registering with poller registering with poller registering with poller registering with poller build; num-workers=8 registering with poller Using software volume controller. starting background reactor adding I/O source: 0 registering with poller Zeroconf server listening on 0.0.0.0:1234 adding I/O source: 4194305 registering with poller adding I/O source: 8388610 registering with poller event Writable Token(4194305) loop process - 1 events, 0.000s event Writable Token(8388610) loop process - 1 events, 0.000s adding I/O source: 12582915 registering with poller event Writable Token(12582915) loop process - 1 events, 0.000s park; waiting for idle connection: "http://apresolve.spotify.com" Http::connect("http://apresolve.spotify.com/") consuming notification queue scheduling Read for: 0 resolving host="apresolve.spotify.com", port=80 scheduling Read for: 1 sending packet to V4(224.0.0.251:5353) event Readable | Writable Token(4194305) loop process - 1 events, 0.000s scheduling Read for: 2 sending packet to V6([ff02::fb]:5353) event Readable | Writable Token(8388610) loop process - 1 events, 0.000s scheduling Read for: 3 loop poll - 580.177µs loop time - Instant { tv_sec: 6432, tv_nsec: 109488129 } loop process, 27.922µs event Readable | Writable Token(4194305) loop process - 1 events, 0.000s received packet from V4(192.168.43.163:5353) received packet from V4(192.168.43.163:5353) with no query scheduling Read for: 1 scheduling Read for: 1 received packet from V6([fe80::d7e7:fc94:1047:e5a4]:5353) received packet from V6([fe80::d7e7:fc94:1047:e5a4]:5353) with no query scheduling Read for: 2 scheduling Read for: 2 loop poll - 72.533µs loop time - Instant { tv_sec: 6432, tv_nsec: 109596392 } loop process, 8.655µs event Writable Token(8388610) loop process - 1 events, 0.000s loop poll - 1.934606ms loop time - Instant { tv_sec: 6432, tv_nsec: 111543921 } loop process, 21.473µs connecting to 34.98.74.57:80 adding I/O source: 16777220 registering with poller scheduling Write for: 4 event Writable Token(16777220) loop process - 1 events, 0.000s loop poll - 650.499045ms loop time - Instant { tv_sec: 6432, tv_nsec: 762207420 } loop process, 13.293µs read_keep_alive; is_mid_message=false scheduling Read for: 4 should_keep_alive(version=Http11, header=None) = true Client::encode has_body=false, method=None reclaiming write buf Vec flushed 47 bytes flushed State { reading: Init, writing: KeepAlive, keep_alive: Busy, error: None } wants_read_again? false loop poll - 100.79µs loop time - Instant { tv_sec: 6432, tv_nsec: 762374892 } loop process, 4.981µs event Readable | Writable Token(16777220) loop process - 1 events, 0.000s Conn::read_head read 648 bytes Response.parse([Header; 100], [u8; 648]) Response.parse Complete(230) maybe_literal not found, copying "Via" parsed 7 headers (230 bytes) incoming body is content-length (418 bytes) expecting_continue(version=Http11, header=None) = false should_keep_alive(version=Http11, header=None) = true Conn::read_body decode; state=Length(418) flushed State { reading: Body(Length(0)), writing: KeepAlive, keep_alive: Busy, error: None } wants_read_again? false loop poll - 90.649141ms loop time - Instant { tv_sec: 6432, tv_nsec: 853031892 } loop process, 7.071µs Conn::read_body decode; state=Length(0) incoming body completed scheduling Read for: 4 maybe_notify; read_from_io blocked read_keep_alive; is_mid_message=false scheduling Read for: 4 signal: Want flushed State { reading: Init, writing: Init, keep_alive: Idle, error: None } wants_read_again? false poll_want: taker wants! pool dropped, dropping pooled ("http://apresolve.spotify.com") loop poll - 96.181µs loop time - Instant { tv_sec: 6432, tv_nsec: 853218913 } loop process, 5.608µs Connecting to AP "gew1-accesspoint-b-94l7.ap.spotify.com:443" adding I/O source: 20971525 registering with poller scheduling Write for: 5 read_keep_alive; is_mid_message=false scheduling Read for: 4 client tx closed State::close_read() State::close_write() flushed State { reading: Closed, writing: Closed, keep_alive: Disabled, error: None } wants_read_again? false shut down IO deregistering handle with poller dropping I/O source: 4 signal: Closed loop poll - 156.956µs loop time - Instant { tv_sec: 6432, tv_nsec: 903687414 } loop process, 7.491µs event Writable Token(20971525) loop process - 1 events, 0.000s loop poll - 82.590845ms loop time - Instant { tv_sec: 6432, tv_nsec: 986289340 } loop process, 16.404µs scheduling Read for: 5 event Readable | Writable Token(20971525) loop process - 1 events, 0.000s loop poll - 686.918392ms loop time - Instant { tv_sec: 6433, tv_nsec: 685532281 } loop process, 14.727µs flushing framed transport writing; remaining=289 framed transport flushed scheduling Read for: 5 event Readable | Writable Token(20971525) loop process - 1 events, 0.000s loop poll - 511.768903ms loop time - Instant { tv_sec: 6434, tv_nsec: 208468030 } loop process, 14.859µs attempting to decode a frame frame decoded from buffer Authenticated as "mq6wqlafys994ewc5lj7yaopj" ! new Session[0] new Spirc[0] new MercuryManager new Player[0] Using PulseAudio sink input volume:65535 to mixer: 65535 attempting to decode a frame frame decoded from buffer Session[0] strong=4 weak=2 attempting to decode a frame frame decoded from buffer attempting to decode a frame frame decoded from buffer attempting to decode a frame frame decoded from buffer Country: "RO" attempting to decode a frame scheduling Read for: 5 flushing framed transport writing; remaining=901 framed transport flushed loop poll - 141.078µs loop time - Instant { tv_sec: 6434, tv_nsec: 209113274 } loop process, 8.6µs event Readable | Writable Token(20971525) loop process - 1 events, 0.000s attempting to decode a frame scheduling Read for: 5 flushing framed transport framed transport flushed loop poll - 148.549µs loop time - Instant { tv_sec: 6434, tv_nsec: 209274800 } loop process, 7.615µs event Readable | Writable Token(20971525) loop process - 1 events, 0.000s attempting to decode a frame frame decoded from buffer attempting to decode a frame frame decoded from buffer attempting to decode a frame scheduling Read for: 5 flushing framed transport framed transport flushed loop poll - 3.160114ms loop time - Instant { tv_sec: 6434, tv_nsec: 212447344 } loop process, 9.595µs event Readable | Writable Token(20971525) loop process - 1 events, 0.000s attempting to decode a frame frame decoded from buffer attempting to decode a frame scheduling Read for: 5 flushing framed transport framed transport flushed loop poll - 186.433296ms loop time - Instant { tv_sec: 6434, tv_nsec: 398895228 } loop process, 11.305µs event Readable | Writable Token(20971525) loop process - 1 events, 0.000s attempting to decode a frame frame decoded from buffer attempting to decode a frame frame decoded from buffer attempting to decode a frame frame decoded from buffer attempting to decode a frame scheduling Read for: 5 flushing framed transport framed transport flushed loop poll - 402.129µs loop time - Instant { tv_sec: 6434, tv_nsec: 399314124 } loop process, 8.592µs subscribed uri=hm://remote/user/mq6wqlafys994ewc5lj7yaopj/ count=0 loop poll - 2.266µs loop time - Instant { tv_sec: 6434, tv_nsec: 399355020 } loop process, 5.096µs event Readable | Writable Token(20971525) loop process - 1 events, 0.000s attempting to decode a frame frame decoded from buffer attempting to decode a frame scheduling Read for: 5 flushing framed transport framed transport flushed loop poll - 94.338534ms loop time - Instant { tv_sec: 6434, tv_nsec: 493700995 } loop process, 7.205µs Modify_watch: Watch { fd: 35, read: true, write: false }, poll_now: false adding I/O source: 25165828 registering with poller Dropping AConnection scheduling Read for: 4 scheduling Read for: 4 D-Bus i/o poll ready: 35 is NotReady handle_msgs: (Signal, Some("/org/freedesktop/DBus"), Some("org.freedesktop.DBus"), Some("NameAcquired")) handle_msgs: (Signal, Some("/org/freedesktop/DBus"), Some("org.freedesktop.DBus"), Some("NameAcquired")) loop poll - 68.031µs loop time - Instant { tv_sec: 6434, tv_nsec: 495265917 } loop process, 9.461µs event Readable | Writable Token(20971525) loop process - 1 events, 0.000s attempting to decode a frame attempting to decode a frame frame decoded from buffer attempting to decode a frame scheduling Read for: 5 flushing framed transport framed transport flushed loop poll - 46.282178849s loop time - Instant { tv_sec: 6480, tv_nsec: 777458767 } loop process, 9.775µs Polling message stream msgstream found Ok(Ready(Some((Signal, Some("/org/freedesktop/DBus"), Some("org.freedesktop.DBus"), Some("NameAcquired"))))) Unhandled DBus message: (Signal, Some("/org/freedesktop/DBus"), Some("org.freedesktop.DBus"), Some("NameAcquired")) Polling message stream msgstream found Ok(Ready(Some((Signal, Some("/org/freedesktop/DBus"), Some("org.freedesktop.DBus"), Some("NameAcquired"))))) Unhandled DBus message: (Signal, Some("/org/freedesktop/DBus"), Some("org.freedesktop.DBus"), Some("NameAcquired")) Polling message stream msgstream found Ok(NotReady) kMessageTypeLoad "" webapi-c654d7e89e6d4d0592b1a569a5ab38d8 321162818 1587311531577 State: context_uri: "spotify:playlist:37i9dQZF1E35n2kuOWGBus" index: 10 position_ms: 0 status: kPlayStatusPlay position_measured_at: 1587311578007 context_description: "Daily Mix 1" shuffle: false repeat: false playing_from_fallback: true row: 0 playing_track_index: 10 track {gid: "4\276\364\306\014\363Gc\274l\214\305\344\303\002\373"} track {gid: "\005?\021\236q\256F\257\204Q\341\230\327]\336\246"} track {gid: "\202\021#!\304lMh\212\200\317\r\352O\035v"} track {gid: ">\243v\374*\273D\036\205\275\346\307\020\211\366|"} track {gid: "0\201y\212\326\177E\256\242\372\024I\201A\030\262"} track {gid: "Dw\234*\340VB\025\210\345\035\332\274\031\337\245"} track {gid: "\025\352 H,\247L}\250\242h\000\023"\037\340"} track {gid: "\2741\273=$\021GH\223\177\234uk\277gA"} track {gid: "s'<\016'\242ET\240\005\036\375!\367\216\276"} track {gid: "}H2\243\0343J\207\224\360\371\351d\374\270\301"} track {gid: "aZ\243\223\005\221M\354\236\206\350b\304.\232\320"} track {gid: "\240\372\317*'\374Bi\216\004\246Z\250:\203@"} track {gid: "\231\275\277J\335y@\025\261\361\251x\344\233\327\"} track {gid: "!g\375\376\376:@\303\227\323\333\021\031\242eQ"} track {gid: "9h\261\016e\352FN\236<\373\3704I`"} track {gid: "\010O\210\334\010\351@\034\247\314&\257\221B\007B"} track {gid: "\014#\347\257\344\270B \240\356w\360\372C\214/"} track {gid: "\306u\225\3476+H\005\213J\352\310\014h\004\026"} track {gid: "\347'u\207\030/D\324\203#;\0014C\221M"} track {gid: "y\223\252\005\204\234O\243\206 \005\321\264M63"} track {gid: "ms\223P52Gh\214\252\217\246\350Dx\363"} track {gid: "\344P\177L\016t@Q\277\265\344GY\305\336\217"} track {gid: "T\026\t\354\321DB\213\225\014\225\205cz(\213"} track {gid: "\362\317yC\376\360L\212\260\005A\255v\005\353\345"} track {gid: "\264\276\375S\235aMU\213p\302\035#mB\253"} track {gid: "\203 \375\027\374;C?\215\345\002\315|\364\316\200"} track {gid: "|*\212\007\357dJ\253\245\001\277\r\020\027#\334"} track {gid: "3^\235\010\224mL8\252\350\326\320z\222\270\265"} track {gid: "\0349\355\327\303\362L\260\244q\022\232%i#"} track {gid: "R&N\200\334$J\341\243\252\355>\363\317B\341"} Frame has 30 tracks Loading context: spotify:playlist:37i9dQZF1E35n2kuOWGBus index: [10] of 30 command=Load(SpotifyId { id: 129405739989433346257398461117603158736, audio_type: Track }, true, 0) scheduling Read for: 5 flushing framed transport writing; remaining=1142 framed transport flushed loop poll - 80.211µs loop time - Instant { tv_sec: 6480, tv_nsec: 803736278 } loop process, 7.239µs event Readable | Writable Token(20971525) loop process - 1 events, 0.000s attempting to decode a frame frame decoded from buffer attempting to decode a frame frame decoded from buffer attempting to decode a frame scheduling Read for: 5 flushing framed transport framed transport flushed loop poll - 89.211793ms loop time - Instant { tv_sec: 6480, tv_nsec: 892958888 } loop process, 7.065µs Polling message stream msgstream found Ok(NotReady) loop poll - 2.999µs loop time - Instant { tv_sec: 6480, tv_nsec: 892999780 } loop process, 5.162µs Loading <Jesus' Tod> with Spotify URI spotify:track:2XHG1C3ksw9EAclBFDYZ2M new AudioKeyManager scheduling Read for: 5 File 9ac84f5ee64ecbbbcbed1ba28e5381dbd04c40fb already in cache flushing framed transport writing; remaining=49 framed transport flushed loop poll - 181.273µs loop time - Instant { tv_sec: 6480, tv_nsec: 893188427 } loop process, 7.779µs event Readable | Writable Token(20971525) loop process - 1 events, 0.000s attempting to decode a frame frame decoded from buffer attempting to decode a frame scheduling Read for: 5 flushing framed transport framed transport flushed loop poll - 78.304666ms loop time - Instant { tv_sec: 6480, tv_nsec: 971505893 } loop process, 9.955µs Normalisation Data: NormalisationData { track_gain_db: -6.1100006, track_peak: 0.87279046, album_gain_db: -5.3600006, album_peak: 0.96440756 } Applied normalisation factor: 0.49488008 <Jesus' Tod> loaded loop poll - 3.483251ms loop time - Instant { tv_sec: 6480, tv_nsec: 975005818 } loop process, 7.478µs Polling message stream msgstream found Ok(NotReady) event Readable | Writable Token(20971525) loop process - 1 events, 0.000s attempting to decode a frame frame decoded from buffer attempting to decode a frame scheduling Read for: 5 flushing framed transport framed transport flushed loop poll - 23.968138829s loop time - Instant { tv_sec: 6504, tv_nsec: 943184122 } loop process, 7.552µs Polling message stream msgstream found Ok(NotReady) kMessageTypePause "" webapi-c654d7e89e6d4d0592b1a569a5ab38d8 321186971 1587311578178 scheduling Read for: 5 flushing framed transport writing; remaining=1061 framed transport flushed loop poll - 62.399µs loop time - Instant { tv_sec: 6504, tv_nsec: 943385487 } loop process, 6.863µs command=Pause loop poll - 7.867173ms loop time - Instant { tv_sec: 6504, tv_nsec: 951262475 } loop process, 18.587µs Polling message stream msgstream found Ok(NotReady) event Readable | Writable Token(20971525) loop process - 1 events, 0.000s attempting to decode a frame frame decoded from buffer attempting to decode a frame scheduling Read for: 5 flushing framed transport framed transport flushed loop poll - 99.550852ms loop time - Instant { tv_sec: 6505, tv_nsec: 50854493 } loop process, 7.681µs Polling message stream msgstream found Ok(NotReady) loop poll - 2.714µs loop time - Instant { tv_sec: 6505, tv_nsec: 50895325 } loop process, 5.1µs loop poll - 13.059632024s loop time - Instant { tv_sec: 6518, tv_nsec: 110535093 } loop process, 22.66µs loop poll - 3.967970119s loop time - Instant { tv_sec: 6522, tv_nsec: 78533785 } loop process, 21.08µs loop poll - 30.931854ms loop time - Instant { tv_sec: 6522, tv_nsec: 109492403 } loop process, 26.191µs loop poll - 4.053µs loop time - Instant { tv_sec: 6522, tv_nsec: 109530104 } loop process, 6.676µs event Readable | Writable Token(4194305) loop process - 1 events, 0.000s event Readable | Writable Token(4194305) loop process - 1 events, 0.000s received packet from V4(192.168.43.163:5353) received packet from V4(192.168.43.163:5353) scheduling Read for: 1 scheduling Read for: 1 scheduling Read for: 2 loop poll - 20.519138847s loop time - Instant { tv_sec: 6542, tv_nsec: 628678751 } loop process, 4.362µs event Readable | Writable Token(4194305) loop process - 1 events, 0.000s event Readable | Writable Token(4194305) loop process - 1 events, 0.000s received packet from V4(192.168.43.163:5353) received packet from V4(192.168.43.163:5353) scheduling Read for: 1 scheduling Read for: 1 scheduling Read for: 2 loop poll - 3.09199438s loop time - Instant { tv_sec: 6545, tv_nsec: 720681325 } loop process, 10.27µs event Readable | Writable Token(4194305) loop process - 1 events, 0.000s received packet from V4(192.168.43.163:5353) received packet from V4(192.168.43.163:5353) scheduling Read for: 1 scheduling Read for: 1 scheduling Read for: 2 loop poll - 1.000877763s loop time - Instant { tv_sec: 6546, tv_nsec: 721575533 } loop process, 10.852µs event Readable | Writable Token(4194305) loop process - 1 events, 0.000s received packet from V4(192.168.43.163:5353) received packet from V4(192.168.43.163:5353) scheduling Read for: 1 scheduling Read for: 1 scheduling Read for: 2 loop poll - 2.000575948s loop time - Instant { tv_sec: 6548, tv_nsec: 722169770 } loop process, 11.619µs
Compilation flags
- [x] dbus_mpris
- [x] dbus_keyring
- [x] alsa_backend
- [x] portaudio_backend
- [x] pulseaudio_backend
- [x] rodio_backend
I am using the Arch Linux package spotifyd-full, which is supposed to be "with all Linux features enabled" (though it built it everything locally).
Versions (please complete the following information):
- OS: Arch Linux
- Spotifyd: 0.2.24
- cargo: 1.42.0
Experiencing the same issue running as a service on Arch, with the package spotify-bin-full.
I never suspended my pc as it runs 24/7 but might this be related to my issue: https://github.com/Spotifyd/spotifyd/issues/581
Is spotifyd intended to quit after the system is suspended? If so, you can't run a user service on wakeup since system sleeps are specific to system sevices. Source
I'm having the same issue. When I run it as a non-daemon (spotifyd --no-daemon) when this happens, and I try to stop it with CTRL + C, it will still hang for quite a while, then return { code: 60, kind: TimedOut, message: "Operation timed out" }. When I hit CTRL + C once more after that message occurs, it exits. I believe that this is the reason that it's not able to recover when run as a service.
Sometimes when I start it again at once, I get this message: Caught panic with message: called 'Result::unwrap()' on an 'Err' value: Custom { kind: Other, error: "bytes remaining on stream" }. Another restart, and it starts successfully.
I'm seeing the same problem. After suspending and resuming, when I attempt to play to spotifyd, it outputs this error, once:
Os { code: 104, kind: ConnectionReset, message: "Connection reset by peer" }
+1
As I am running spotifyd via systemd --user, as a workaround I've created a service which
restarts my spotifyd.service after resume as described here: https://superuser.com/questions/1528786/how-to-restart-a-systemd-service-upon-resume
[Unit]
Description=Restart spotifyd after resume
After=suspend.target
[Service]
Type=simple
ExecStart=/bin/systemctl --user --no-block restart spotifyd.service
[Install]
WantedBy=suspend.target
+1
Same problem for me too. Since I'm using Spotify-tui and Homebrew this is my workaround.
alias spot="spt"
alias spotfresh="brew services restart spotifyd&&spt"
Simply use spotfresh when your machine just woke up, otherwise use spot.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
This is a significant issue. Please, don't let it be closed.
I can replicate this issue on my void linux installation. Reproduction Steps
- Run
zzz(sleep) while spotifyd is running (no client running - for me isspotify-tui). - After waking your PC, run your client (
spotify-tuifor me). It can't find any devices now - Restart
spotifydand your client - Works fine now, however I randomly get the error mentioned above (404 one) or sometimes the error shown below.

Solution which works for me Kill spotifyd before sleep
Version OS: Void Linux Spotifyd: 0.3.2
Logs Nothing from the logs stand out
2021-10-23T11:01:03.46329 daemon.info: Oct 23 12:01:03 spotifyd[0]: Loading config from "/home/<myusername>/.config/spotifyd/spotifyd.conf"
2021-10-23T11:01:03.46346 daemon.info: Oct 23 12:01:03 spotifyd[0]: No proxy specified
2021-10-23T11:01:03.46348 daemon.info: Oct 23 12:01:03 spotifyd[0]: Daemonizing running instance
2021-10-23T11:01:03.46414 daemon.info: Oct 23 12:01:03 spotifyd[0]: Detached from shell, now running in background.
2021-10-23T11:01:03.46455 daemon.info: Oct 23 12:01:03 spotifyd[0]: Using alsa volume controller.
2021-10-23T11:01:03.53685 daemon.info: Oct 23 12:01:03 spotifyd[0]: Connecting to AP "gew1-accesspoint-a-nxcg.ap.spotify.com:443"
2021-10-23T11:01:03.72591 daemon.info: Oct 23 12:01:03 spotifyd[0]: Authenticated as "<BLAH_BLAH>" !
2021-10-23T11:01:03.72619 daemon.info: Oct 23 12:01:03 spotifyd[0]: Using alsa sink
2021-10-23T11:01:03.72686 daemon.info: Oct 23 12:01:03 spotifyd[0]: Country: "IE"
2021-10-23T11:01:06.27744 daemon.warn: Oct 23 12:01:06 spotifyd[0]: Unhandled DBus message: (Signal, Some("/org/freedesktop/DBus"), Some("org.freedesktop.DBus"), Some("NameAcquired"))
2021-10-23T11:01:06.27749 daemon.warn: Oct 23 12:01:06 spotifyd[0]: Unhandled DBus message: (Signal, Some("/org/freedesktop/DBus"), Some("org.freedesktop.DBus"), Some("NameAcquired"))
Same here I use spotifyd with spotify-qt on manjaro 5.13 with gnome 41, and after sleep Spotifyd just breaks. Edit: spotifyd v0.3.2
same problem. It usually helps to send a kill -HUP to the spotifyd process id so that it reloads it's config. Not sure if this can be automated by a systemd script?
Same here on manjaro with community/spotifyd - 0.3.3
In service logs:
PANIC: Shutting down spotifyd. Error message: called `Result::unwrap()` on an `Err` value: reqwest::Error { kind: Request, url: Url { scheme: "https", cannot_be_a_base: >
Same here. As mentioned in #1024 for me (on macOS) also my hostname changes after waking out of sleep: FeekApp.local becomes FeekApp-1.local.
I can also reproduce this error on macOS Monterey using brew as my services manager.
Can also reproduce here with spotify-qt. It doesn't matter if I start spotifd as daemon, if I run it manually of if I let spotify-qt handle the startup. If I suspend my computer, spotifyd always hangs or crashes after wakeup.
[hh:mm:ss] [err] Refresh failed: {
"error": { "status": 401, "message": "The access token expired" } } [hh:mm:ss] [err] Refresh failed: No response
@tannenfreund87 While the issue is certainly still there, these logs don't seem to come from spotifyd.
@eladyn I'm sorry, I pasted the output from the wrong terminal. This is the output of spotify-qt, which uses spotifyd in the background.
I thought spotify-qt used librespot directly?
I thought spotify-qt used librespot directly?
It can autostart spotifyd, but no it doesn't
I can also reproduce this on a Mac M1 running Ventura (13.1)
I just read through this issue again that many people seem to be facing. While some problems mentioned might not be related, I think the main issue is, that spotifyd (due to librespot not handling this well) doesn't notice a broken server connection, when there hasn't been playback in a while. If this were the case, it would be the same as https://github.com/Spotifyd/spotifyd/issues/903.