PromyLOPh / pianobar

Console-based pandora.com player
http://6xq.net/pianobar/
Other
1.74k stars 321 forks source link

Assertion `ph->user.authToken != NULL' failed. #697

Closed scoaste closed 4 years ago

scoaste commented 4 years ago

Subject of the issue

Pianobar fails with authToken assertion error.

Your environment

Steps to reproduce

$ pianobar Welcome to pianobar (2019.02.14)! Press ? for a list of commands. (i) Login... Ok. (i) Get stations... pianobar: src/libpiano/request.c:477: PianoRequest: Assertion `ph->user.authToken != NULL' failed. Aborted (core dumped)

Expected behaviour

Expect to listen to music

Actual behaviour

Core dump

scoaste commented 4 years ago

Perhaps related to recent pulseaudio updates (from /var/log/apt/history.log)?

Start-Date: 2020-05-12 18:12:35 Upgrade: glib-networking-services:amd64 (2.64.1-1, 2.64.2-1build1), libpulsedsp:amd64 (1:13.99.1-1ubuntu3, 1:13.99.1-1ubuntu3.2), glib-networking:amd64 (2.64.1-1, 2.64.2-1build1), pulseaudio:amd64 (1:13.99.1-1ubuntu3, 1:13.99.1-1ubuntu3.2), glib-networking-common:amd64 (2.64.1-1, 2.64.2-1build1), ubuntu-drivers-common:amd64 (1:0.8.1, 1:0.8.1.1), libpulse0:amd64 (1:13.99.1-1ubuntu3, 1:13.99.1-1ubuntu3.2), libpulse-mainloop-glib0:amd64 (1:13.99.1-1ubuntu3, 1:13.99.1-1ubuntu3.2), firefox-locale-en:amd64 (76.0+build2-0ubuntu0.20.04.1, 76.0.1+build1-0ubuntu0.20.04.1), firefox:amd64 (76.0+build2-0ubuntu0.20.04.1, 76.0.1+build1-0ubuntu0.20.04.1), pulseaudio-utils:amd64 (1:13.99.1-1ubuntu3, 1:13.99.1-1ubuntu3.2) End-Date: 2020-05-12 18:12:59

wokawoka commented 4 years ago

I'm experiencing the same issue after an update I did to my system (pop os 20.04) yesterday when many different packages did update.

PromyLOPh commented 4 years ago

I can’t reproduce this issue with the current HEAD or 2019.02.14. Could you follow the instructions here and get me some debug information? I am particularly interested in the response to auth.userLogin and why there’s no authToken.

wokawoka commented 4 years ago

the problem resolved by itself, I just received an update of the package "libjson-c4" and now pianobar starts again. Thank you so much anyway and keep up with the awesome work

scoaste commented 4 years ago

Hmmm... well today it's not happening. Only thing I updated was libjson-c4 since yesterday.

PromyLOPh commented 4 years ago

Alright, must’ve been an issue with libjson-c then.

winny- commented 4 years ago

Hello, I seem to have ran into this issue today.

I had been using 2019.01.25 until this issue occurred, then upgraded to 2020.04.05 to be sure it's present on latest release. Like the OP, I upgraded json-c recently (0.13.1 → 0.14).

Install information

 * dependency graph for media-sound/pianobar-2020.04.05
 `--  media-sound/pianobar-2020.04.05  ~amd64 
   `--  dev-libs/json-c-0.14-r2  (dev-libs/json-c) amd64 
   `--  dev-libs/libgcrypt-1.8.5  (dev-libs/libgcrypt) amd64 
   `--  media-libs/libao-1.2.2  (media-libs/libao) amd64 
   `--  media-video/ffmpeg-4.2.2  (>=media-video/ffmpeg-3.3) amd64 
   `--  net-misc/curl-7.69.1  (net-misc/curl) amd64 
   `--  virtual/pkgconfig-1  (virtual/pkgconfig) amd64 
[ media-sound/pianobar-2020.04.05 stats: packages (7), max depth (1) ]

Backtrace

#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007ffff62ce56b in __GI_abort () at abort.c:79
#2  0x00007ffff62ce43f in __assert_fail_base (fmt=0x7ffff642ea98 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x7ffff7f887fe "ph->user.authToken != NULL", file=0x7ffff7f88514 "src/libpiano/request.c", line=480, function=<optimized out>) at assert.c:92
#3  0x00007ffff62dd0b2 in __GI___assert_fail (assertion=assertion@entry=0x7ffff7f887fe "ph->user.authToken != NULL", file=file@entry=0x7ffff7f88514 "src/libpiano/request.c", line=line@entry=480, function=function@entry=0x7ffff7f88a78 <__PRETTY_FUNCTION__.7792> "PianoRequest") at assert.c:101
#4  0x00007ffff7f857aa in PianoRequest (ph=ph@entry=0x5555555684e0 <app>, req=req@entry=0x7fffffffc9e0, type=type@entry=PIANO_REQUEST_GET_STATIONS) at src/libpiano/request.c:397
#5  0x000055555555fb7e in BarUiPianoCall (app=0x5555555684e0 <app>, type=PIANO_REQUEST_GET_STATIONS, data=0x0, pRet=0x7fffffffd668, wRet=0x7fffffffd670) at src/ui.c:283
#6  0x0000555555559d79 in BarMainGetStations (app=0x5555555684e0 <app>) at src/main.c:174
#7  BarMainLoop (app=0x5555555684e0 <app>) at src/main.c:348
#8  main (argc=<optimized out>, argv=<optimized out>) at src/main.c:489

See full backtrace here.

PromyLOPh commented 4 years ago

Please mask =dev-libs/json-c-0.14-r2. Upstream issues are https://bugs.gentoo.org/723480 (this issue) and https://bugs.gentoo.org/722150 (original CVE)

winny- commented 4 years ago

Adding the suggested mask (=dev-libs/json-c-0.14-r2) and downgrading to =dev-libs/json-c-0.13.1-r1 fixed the issue for me, thanks!