I’ve been using Plexamp on Linux for over a year and it always has worked great. The other day it started acting funny. While it opens fine it quickly will turn grey and stop working. This seems to happen while it is play, or even while it sits idle.
I tried to find the plexamp.log log file but I was also unsuccessful. Unfortunatly, Plexamp debug logs & how to extract them didn’t give any insights into where they are on Linux. I looked in ~/.local/share/Plexamp but there were no logs.
With that leading to a dead end I tried running the AppImage in the terminal. This was the output when it turned grey and stopped working:
Another thing I would like to mention is that Plexamp works perfectly fine on my desktop which is running Linux Mint 20.2 Kernel 5.4.0. System Information
Thanks to the amazing @plexamp Twitter account I’ve been able to look more into what is happening.
Here is the start of the thread:
It appears that what is happening is that the render process of Electron is crashing.
In order to interact with Plexamp I had to extract the AppImage package and run the application directly. This didn’t produce any further logs.
./plexamp.AppImage --appimage-extract
After learning about the existence of LLDB, I was able to connect the debugger to the render process and learn more details, that I hope will help here.
When the render process crashes it spits out the following information, which is an unrecoverable error.
I’ve subsequently moved away from fedora but when I was using F35 both the --no-sandbox and --in-process-gpu worked to get atom functional. You could try each of them and see if it helps.
In a weird twist of events, while I was trying to debug a bit more I accidentally killed my playlist. Since then Plexamp has been functioning as expected. I’m going to keep an eye on it and if it happens again I can see if I can get more information.
Thanks @elan for that clarification. I was skeptical but the behaviour and the files looked to be similar. I’m not sure why the playlist would impact curl, unless there was a file in it that it was unable to resolve and it would crash instead of ignoring the error.
@anon5074910, perhaps the issue that @FlyingEwok is seeing is actually unrelated to my issue, but their render process is also failing (producing the same outcome.) I’m on Mint so I can’t test this one specifically.
I’ve just done a clean install from Fedora 33. I had the same problem in 33 too, but I managed to get it working by adding the --no-sandbox argument and setting the LD_PRELOAD env variable to /usr/lib64/libcrypto.so.
That workaround doesn’t appear to work any more though.
The --in-process-gpu argument has no effect for me.
Having this same issue on Fedora 35 but this didn’t solve it for me. Did you do anything else besides installing the old openssl and setting the env variable before running?
I’m having the same issue with the AppImage, but I’m able to open the application and it appears to function normally; however occasionally the renderer process will crash after I’ve had PlexAmp open for a few hours.
I’ve been monitoring my issue and somehow clearing the queue seemed to be the fix 🤷. Since then it doesn’t seem to be having any issues. I’m not sure what was up with the curl crash that was killing the renderer but it hasn’t returned.
Did you try connecting LLDB to the render process? What I did was:
Extract the Plexamp app image, ./plexamp.AppImage --appimage-extract.
Run Plexamp from the extracted contents.
Run ps -ef | grep plexamp to get the pid of the render process
Start LLDB (I had to run it as root to attach to the process) and attach to the pid, (lldb) process attach --pid 1234 where 1234 is your pid.
It will break the process, enter c to continue.
Reproduce the crash and see what LLDB has to say, to get a stack trace use the bt command.
I wonder if it is related my issue or some other issue that might be arising that is killing the renderer.
Honestly, I forgot to grab a stack trace… but according to my system logs this same segfault seems to happen roughly every few days, so I’ll grab a stack trace the next time it occurs.