hzeller / gmrender-resurrect

Resource efficient UPnP/DLNA renderer, optimal for Raspberry Pi, CuBox or a general MediaServer. Fork of GMediaRenderer to add some features to make it usable.
GNU General Public License v2.0
841 stars 204 forks source link

Random hang upon track change or seek - RPi 3 #227

Open Batowe674 opened 3 years ago

Batowe674 commented 3 years ago

Hi,

Thanks for creating this renderer, for the most part it works perfectly. However, I am experiencing a random problem. Audio plays fine for the most part but randomly the renderer will hang when moving to the next track or if I manually seek or change tracks (I'd say a 5-10% chance). I can replicate this on both Pi3 model B devices which I have set up - both are running a clean install of Raspbian Buster lite command line. Once occured, the hang is fatal, only resolveable by hard power cycling the Pi.

A command line 'cat /proc/asound/card1/pcm0p/sub0/hw_params' shows that the audio device is still in use after it hangs, looking at the logs I believe the renderer is getting stuck in play mode? Attempting to play further audio from Foobar2000 gives 'Unrecoverable playback error: invalid server response'. Synology's AudioStation will similarly stop playing. The hang also occurs with the Pi's 3.5mm output.

After the renderer hangs, the renderer still shows on my network, Pi is still responsive, command 'ps aux|grep gmed' shows that the process is still running, but attempting to shut down or restart the Pi via command hangs it indefinitely - only a hard power cycle resolves.

One thing to note, I was unable to get the renderer to run correctly when linked to rc.d on Buster, so instead am invoking it from rc.local, although I don't think this would make any difference?

I've tried the following without success:

Two log files attached - the end of a (very long) log featuring a hang on track change, a full log where I intentionally triggered the hang by seeking around in a track.

Thanks for any help you're able to give. gmediarender_log02.txt gmediarender_log1.txt