Zynthian crashes after playing with certain patch, must reboot to recover

I created a 4-chain snapshot that is I think fairly simple, but several times now it has caused my Zynthian to go “full-tilt,” where it does not respond to any keyboard input. It instead displays a red triangle with an exclamation point in the middle, per this screenshot:

My first question is, is there anything I can do if this happens in performance to immediately get the Zynthian to respond again to the keyboard? Rebooting seems to be the only option when this happens, and that’s at least 30 seconds, which isn’t workable in a performance.

My second question is, is it possible to get diagnostic information from the Zynthian that would tell me why this is happening? I sense it is because of the LinuxSampler SCC Expressive Strings/SCC Expressive patch on the 3rd chain in this screenshot.

I am running the latest stable image of Zynthian Oram on a Raspberry Pi 4. I ran the updates, but normally the icon in the right-hand corner is a circle with an arrow, which is supposed to indicate that an update is available.

Thanks much for your help!

TK

I went to the web config and saw that it is repeatedly adding this message:

Feb 09 00:56:46 zynthian startx[6940]: WARNING:zynthian_autoconnect.cb_jack_xrun: Jack Audio XRUN! =>count: 4355, delay: 208388.0us
Feb 09 00:56:46 zynthian startx[6940]: WARNING:zynthian_autoconnect.cb_jack_xrun: Jack Audio XRUN! =>count: 4356, delay: 208336.0us
Feb 09 00:56:46 zynthian startx[6940]: WARNING:zynthian_autoconnect.cb_jack_xrun: Jack Audio XRUN! =>count: 4357, delay: 208347.0us
Feb 09 00:56:46 zynthian startx[6940]: WARNING:zynthian_autoconnect.cb_jack_xrun: Jack Audio XRUN! =>count: 4358, delay: 208326.0us
Feb 09 00:56:46 zynthian startx[6940]: WARNING:zynthian_autoconnect.cb_jack_xrun: Jack Audio XRUN! =>count: 4359, delay: 208340.0us
Feb 09 00:56:47 zynthian startx[6940]: WARNING:zynthian_autoconnect.cb_jack_xrun: Jack Audio XRUN! =>count: 4360, delay: 208331.0us
Feb 09 00:56:47 zynthian startx[6940]: WARNING:zynthian_autoconnect.cb_jack_xrun: Jack Audio XRUN! =>count: 4361, delay: 208349.0us
Feb 09 00:56:47 zynthian startx[6940]: WARNING:zynthian_autoconnect.cb_jack_xrun: Jack Audio XRUN! =>count: 4362, delay: 208323.0us
Feb 09 00:56:47 zynthian startx[6940]: WARNING:zynthian_autoconnect.cb_jack_xrun: Jack Audio XRUN! =>count: 4363, delay: 208331.0us
Feb 09 00:56:48 zynthian startx[6940]: WARNING:zynthian_autoconnect.cb_jack_xrun: Jack Audio XRUN! =>count: 4364, delay: 208366.0us
Feb 09 00:56:48 zynthian startx[6940]: WARNING:zynthian_autoconnect.cb_jack_xrun: Jack Audio XRUN! =>count: 4365, delay: 208330.0us
Feb 09 00:56:48 zynthian startx[6940]: WARNING:zynthian_autoconnect.cb_jack_xrun: Jack Audio XRUN! =>count: 4366, delay: 208359.0us
Feb 09 00:56:48 zynthian startx[6940]: WARNING:zynthian_autoconnect.cb_jack_xrun: Jack Audio XRUN! =>count: 4367, delay: 208335.0us
Feb 09 00:56:48 zynthian startx[6940]: WARNING:zynthian_autoconnect.cb_jack_xrun: Jack Audio XRUN! =>count: 4368, delay: 208328.0us
Feb 09 00:56:49 zynthian startx[6940]: WARNING:zynthian_autoconnect.cb_jack_xrun: Jack Audio XRUN! =>count: 4369, delay: 208304.0us
Feb 09 00:56:49 zynthian startx[6940]: WARNING:zynthian_autoconnect.cb_jack_xrun: Jack Audio XRUN! =>count: 4370, delay: 208426.0us
Feb 09 00:56:49 zynthian startx[6940]: WARNING:zynthian_autoconnect.cb_jack_xrun: Jack Audio XRUN! =>count: 4371, delay: 208360.0us
Feb 09 00:56:49 zynthian startx[6940]: WARNING:zynthian_autoconnect.cb_jack_xrun: Jack Audio XRUN! =>count: 4372, delay: 208354.0us
Feb 09 00:56:50 zynthian startx[6940]: WARNING:zynthian_autoconnect.cb_jack_xrun: Jack Audio XRUN! =>count: 4373, delay: 208341.0us
Feb 09 00:56:50 zynthian startx[6940]: WARNING:zynthian_autoconnect.cb_jack_xrun: Jack Audio XRUN! =>count: 4374, delay: 208332.0us
Feb 09 00:56:50 zynthian startx[6940]: WARNING:zynthian_autoconnect.cb_jack_xrun: Jack Audio XRUN! =>count: 4375, delay: 208349.0us
Feb 09 00:56:50 zynthian startx[6940]: WARNING:zynthian_autoconnect.cb_jack_xrun: Jack Audio XRUN! =>count: 4376, delay: 208341.0us
Feb 09 00:56:50 zynthian startx[6940]: WARNING:zynthian_autoconnect.cb_jack_xrun: Jack Audio XRUN! =>count: 4377, delay: 208496.0us

** Update: still generating the same messages, now up to 7,400+ count **

Feb 09 01:08:02 zynthian startx[6940]: WARNING:zynthian_autoconnect.cb_jack_xrun: Jack Audio XRUN! =>count: 7426, delay: 208335.0us
Feb 09 01:08:03 zynthian startx[6940]: WARNING:zynthian_autoconnect.cb_jack_xrun: Jack Audio XRUN! =>count: 7427, delay: 208326.0us

I think I’ve finally narrowed it down to using the “LS>SCC Expressive Strings/SCC Expressive Strings-Key Switch-CC11” patch. If I play too quickly using this patch, my Zynthian overruns. I will try using a different sound.

I would not expect LinuxSampler to trigger xruns on a RPi4. What is your heat dissipation arrangement? Do you have a heatsink correctly attached to the SoC? Do you have a clear path for which heat to dissipate from the heatsink to the external environment? Is the device sitting in free space and not enclosed with restriction to air flow? Are you working in a fridge or oven or somewhere inbetween? :wink:

What is the power supplier? Is it an official Raspberry Pi PSU? Does it have an inline switch?

I’ve attached a photo:

It has a HiFiBerry+ sitting atop it, so I don’t think there is any heatsink. I tried taking the case apart, but I was having trouble prying the HiFiBerry away from the RPi4 so decided to abort that.

The power supply is 5v 3a. I don’t know if it is an official RPi PSU, but I’m fairly certain it was one recommended on the Zynthian board.

I don’t tend to work in fridges or ovens. I keep it in free space, though as you can see in the picture it is enclosed with vents.

Hi there! :slight_smile:

As far as I can remember, SCC strings is not (yet) included in the Zynthian soundfonts stock library, thus it might be that the issue lies in its specific Midi CC implementation.

The Linuxsampler operation in Zynth tends to be very sensitive to the way each specific soundfont library is built, and it has occurred me too to experience problems and sudden drops in sound only with certain instruments.

Furthermore, it is recommended to resort, whenever possible, to the most powerful official Raspberry PSU available, unless there are specific reasons with adequate knowledge in electrical engineering to do otherwise (which case BTW could perfectly be yours).

I may be wrong, but 15W for Oram on Pi4 with USB peripherals hooked to the Zynth looks slightly underspecced, and lacking a bit of energy buffer.

I would suggest to erase the Linuxsampler chain, and try and overloading the Dexed, Noizemaker and ObXd channels with Midi notes, in order to see if the system becomes unstable or overheated, and the x-runs (red triangle) issue persists irrespective of the sampling playback.

Regards

For sfz sound files, I prefer to use sfizz, it seems more robust and overall more reliable in terms of functionality.

Thanks @riban, @Aethermind, @ToFF, really appreciate your feedback on this.

I will avoid using LinuxSampler. I had been using my Zynthian setup for several months with no issues at all until I started using those sounds, so hopefully that will solve the problem of overruns. Per @ToFF’s suggestion, I’ll use Sfizz instead.

@Aethermind is there a recommended power supply for RPi4s? I have 65w power bricks but I’m reluctant to experiment with higher wattage until I know what the RPi4 can handle.

As for the “overloading” test, is there some way I can monitor CPU usage so I can see what sounds are getting me closer to overruns? I know I can review errors in the web UI console, will this show warnings as well?

Thanks again for your help!

TK

Noisemak3r consistently pins my CPU and makes the Zynthian unresponsive for about a minute if I turn the ring mod up above zero in any patch. If I let it sit the CPU load eventually drops back to normal and things work fine again with no reboot.

So that’s also something to watch out for.

Thanks @LagoonCity! I will keep that in mind as well.

One more thing: I am currently using an A1 SD card. I have a SanDisk 64GB Extreme microSDXC (Amazon.com) that is A2 coming in the mail today. I’m going to try loading a new build of Zynthian on that and see whether it is more stable.

That is my current strategy as well @ToFF :+1:. Linuxsampler is a bit unpredictable on Zynthian in my experience.

@tkc, try typing in webconf terminal or on an ssh server:

htop

It will show you the four cores’ usage in percentage in real time.

Regards :slight_smile:

Thanks @Aethermind! That’s exactly what I was looking for.

Update: I loaded everything onto a new A2 card and so far my CPU utilization is doing much better!

That is good news @tkc :slight_smile:. And it’s also a worthy reminder to try and make use of the fastest transfer class available for an SD-based OS.

Best regards!

I also had some random linuxsampler crashes in the last months. I’m pretty sure they are related to specific SFZ files, probably some opcode is not well supported / buggy. I would recommend to use sfizz for all SFZ and only use linuxsampler for those specific SFZs that doesn’t load in sfizz.

Regards,

I experienced the same thing with a couple of self - sampled sfz Sound Fonts ( I used Samplerobot to do this), Got crashes either during playing samples or during loading of ZS3´s where these sound fonts were used.
No problems since using the same sound fonts in sfizz

Should we disable linuxsampler in the image to make users manually enable it if required?

LinuxSampler certainly doesn’t play well on my 1GiB pi. I’ve switched to using sfizz now.

That sounds reasonable @riban. I use Linuxsampler very seldom, and overall I’ve always noticed that Sfizz is more stable and more reliable, thus I always load it to play sfz files whenever possible.

Shall we gently lead Linuxsampler up on to the battlements and see how far we can fling it?

1 Like