Bug 241464 - audio/spotifyd panicks after upgrade to packages from 2019/Q4 quarterly repo
Summary: audio/spotifyd panicks after upgrade to packages from 2019/Q4 quarterly repo
Status: Closed Feedback Timeout
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Tobias Kortkamp
Keywords: needs-qa
Depends on:
Reported: 2019-10-24 12:42 UTC by SolarCatcher
Modified: 2020-04-07 10:52 UTC (History)
0 users

See Also:
tobik: maintainer-feedback+


Note You need to log in before you can comment on or make changes to this bug.
Description SolarCatcher 2019-10-24 12:42:17 UTC
Trying to start spotifyd gives me the following message:

thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 20, kind: Other, message: "Not a directory" }', src/libcore/result.rs:1084:5

Version: spotifyd-0.2.17
OS: 12.0-RELEASE-p10

spotifyd worked flawlessly until the October upgrade.

The suggested backtrace does not look very helpful:
stack backtrace:
   0: <unknown>
   1: <unknown>
   2: <unknown>
   3: <unknown>
   4: <unknown>
   5: <unknown>
   6: <unknown>
   7: <unknown>
   8: <unknown>
   9: <unknown>
  10: <unknown>
  11: <unknown>
  12: <unknown>
  13: <unknown>
  14: <unknown>
  15: <unknown>
  16: <unknown>
Comment 1 Tobias Kortkamp freebsd_committer 2019-10-26 13:17:10 UTC
Try the audio/spotifyd from HEAD (0.2.19) [1].  If that works for you I
can merge it to quarterly.  If not then start bisecting spotifyd versions
to find out when it first broke.

Running spotifyd under truss(1) might also give you some idea what exactly
is "Not a directory".

[1] http://pkg.freebsd.org/FreeBSD:12:amd64/latest/All/spotifyd-0.2.19.txz
Comment 2 SolarCatcher 2020-04-07 10:15:34 UTC
Sorry for the very long delay in answering! At the time of my bug report rust would not compile (there were also no packages in the official repo, then) and therefore, I could not build a new spotifyd version myself.

The problem persists. But with the help of truss, I was able to identify the problem.

I used the -c option to let spotifyd know that my configuration file was located at /usr/local/etc/spotifyd.conf.

However, spotifyd then tries to create a cache directory at
/usr/local/etc/spotifyd.conf/files which obviously fails.

I tried each of these configuration options, but without success:
I created a directory /tmp/spotifycache and set
cache_path = /tmp/spotifycache

I tried to disable caching altogether
no_audio_cache = true

I was able to circumvent it, by placing the configuration file in the default location at ~/.config/spotifyd/spotifyd.conf And that solved my problem.

However the bug with the -c option persists in spotifyd-0.2.24_3.
Comment 3 Tobias Kortkamp freebsd_committer 2020-04-07 10:34:41 UTC
> However the bug with the -c option persists in spotifyd-0.2.24_3.

-c means --cache-path but you probably want --config-path
(see spotifyd --help).  They changed it some time ago.
Comment 4 SolarCatcher 2020-04-07 10:52:14 UTC
Many thanks!!! I had not noticed this change! Then, it makes sense of course.

Sorry for reporting this as a bug.

I fault upstream: Changing something as significant as -c is a mistake, I think. I am a great fan of the principle of least astonishment.

A big thank you for maintaining this port!