For some reason Plexamp no longer plays on any of my computers (all running ArchLinux KDE), I can’t access my servers nor can I even log into my account in any way. I have the Plexamp image v4.2.1 from the AUR repo. My server version is Version 1.26.2.5797 on a Raspberry Pi 4B running the 64-bit Raspbian, the server is also running in Docker
This is what I get in the logs
May 31, 2022 22:02:17.736 [Javascript] INFO - PubSub: Connection broken to plex.tv, reconnecting.
May 31, 2022 22:02:32.693 [Javascript] INFO - PubSub: Connection broken to plex.tv, reconnecting.
May 31, 2022 22:02:33.594 [Javascript] INFO - Discovery: Fetching hubs for library null server null refreshing from cloud false.
May 31, 2022 22:02:34.641 [Javascript] INFO - Auth: Requesting PIN.
May 31, 2022 22:02:34.641 [0xaa32aa40] DEBUG - Networking: Create request 28: (POST https://plex.tv/api/v2/pins?strong=true).
May 31, 2022 22:02:34.873 [0x9dbfb640] DEBUG - Networking: Completed request 28: (POST https://plex.tv/api/v2/pins?strong=true) with code -59 (have 0 bytes) in 231 ms.
May 31, 2022 22:02:34.873 [Javascript] ERROR - Auth: Could not get PIN HTTP status -59
Error 59 is CURLE_SSL_CIPHER, which means “Couldn’t use specified cipher”
Since Plexamp should be using its own libcurl and associated libraries, there’s probably something amiss with the install (or the AUR repo itself, which I don’t have much of an idea about).
Hey @elan I’m seeing the exact same issue (Error 59). I’ve never used the AUR version but only the AppImage. It all worked fine for me until yesterday. Please help!
I can also confirm this issue on my system (Arch updated as of writing).
Both the AppImage from the AUR and downloaded from plexamp.com has the same problem.
I suspect that the AppImage might not be as self-contained as what we’d hoped @elan. If this is manifesting on all Arch Linux installs, it probably points to libcurl from the underlying OS being used. As of writing, this is libcurl/7.83.1 on a fully upgraded Arch system.
Is there some way for you to log what version of libcurl is used on application initialisation?
I’m pretty sure it doesn’t use system libcurl as all other applications using the system lib work fine. I’m not too familiar with the inner workings of AppImages, but lld on the appimage doesn’t work since it’s not a dynamic executable directly. However lsof on the running process shows that it uses these libs at least:
Plexamp.A 9838 ====== mem REG 254,1 259968 14070668 /usr/lib/libfuse.so.2.9.9
Plexamp.A 9838 ====== mem REG 254,1 2104984 14028175 /usr/lib/libc.so.6
Plexamp.A 9838 ====== mem REG 254,1 100184 14072830 /usr/lib/libz.so.1.2.12
Plexamp.A 9838 ====== mem REG 254,1 14368 14028226 /usr/lib/libpthread.so.0
Plexamp.A 9838 ====== mem REG 254,1 14360 14028186 /usr/lib/libdl.so.2
Plexamp.A 9838 ------ mem REG 254,1 228376 14028158 /usr/lib/ld-linux-x86-64.so.2
libCurl uses just libc and libz as far as I’m aware. So possibly a libc incompatibility??
In any case, I’m guessing updating libcurl would solve the issue anyways, since the version bundled with PlexAmp is quite old (7.74 was released in December 2020). It’s also worth mentioning that this version contains numerous CVEs so an update would do good
I’m guessing that many people are currently affected by this problem @elan, at least all the Arch Linux users and probably for all its derivative distros too. Do you think you could do a release with an upgraded libcurl version as @LudvigH suggested?
It should be self-contained, so I’m still confused as to why that would solve the issue. I’d prefer to understand what’s going on before going and updating deps, which is a decent amount of work.
I dug into the chrome developer tools and debugged what I could. It appears the app might be failing on the internet reachability test. The reachability test URL is set to “/”, which is getting translated to a file:/// check and failing.
Somebody posted on Reddit that the issue is with the Arch Linux libcups 2.4.2-1 package.
Indeed it is, I browsed to /var/cache/pacman/pkg and installed the older libcups package: sudo pacman -U libcups-1:2.4.1-1-x86_64.pkg.tar.zst (to downgrade to 2.4.1-1). Restarted plexamp. Plexamp successfully logged me in and is playing music.
I tried the latest libcups package (2.4.2-2 which contains a TLS patch from today, June 9, 2022). Same behavior with the -59 error.
The new libcups-2.4.2 source added support for OpenSSL and the library is now linking against OpenSSL. Older versions only had support for gnutls. I created an Arch issue [1] to track the issue and included the PKGBUILD fix in the ticket.
Upstream commited the fix to the Arch package repository to use gnutls. If users upgrade to at least extra/libcups 1:2.4.2-3 then Plexamp should be working normally.