SIGABRT while playing a tracker file
Recently I decided to switch from Pulseaudio to Pipewire on my Arch Linux machine. Due to devpAlsa being to fail to play any sound (snd_pcm_delay() returns negative value everytime) I've decided to use devpSDL2 device instead. It worked great but sometimes OpenCubicPlayer liked to randomly crash with assertion failed in ringbuffer.c:206
Here's the full ocp log:
dog@hostname ~/Downloads % ocp
Setting to cfHomeDir to /home/dog/
Setting to cfConfigHomeDir to /home/dog/.config/ocp/
Setting to cfDataHomeDir to /home/dog/.local/share/ocp/
Setting to cfDataDir to /usr/local/share/ocp/data/
Setting to cfProgramDir to /usr/local/lib/ocp/
Open Cubic Player for Unix v0.2.109, compiled on Jul 9 2024, 20:47:56
Ported to Unix by Stian Skjelstad
linking default objects...
running initializers...
initializing fileselector...
Loading /home/dog/.local/share/ocp/CPARCMETA.DAT .. Done
Loading /home/dog/.local/share/ocp/CPMODNFO.DAT .. Done
Loading /home/dog/.local/share/ocp/CPDIRDB.DAT .. No header
Loading /home/dog/.local/share/ocp/CPMUSBRN.DAT .. Empty database
Initing console...
We have a PTY (so no need to test for framebuffer and/or vcsa)
[x11] X is online
[x11] rootwindow: width:1920 height:1080
[x11] xvidmode disabled in ocp.ini
Locating cdroms [.....]
playbackdevices:
[SDL] Using audio driver pulseaudio
devpSDL2: SDL 2.x Player.................. (detected)
devpDisk: Disk Writer..................... (skipped)
devpNone: Super High Quality Quiet Player. (skipped)
wavetabledevices:
[devwMixF] C version, (volramp=1, declick=1)
[devwMixF] registering post processing plugin fReverb
devwMixF: FPU Mixer....................... (detected)
devwMixQ: Integer Quality Mixer........... (skipped)
devwMix : Integer Mixer................... (skipped)
devwNone: None............................ (skipped)
[GMD] loading pod.s3m... (432k)
[GMD] preparing samples (362k)...
ocp: ringbuffer.c:206: ringbuffer_tail_consume_samples: Assertion `(self->cache_read_available + self->cache_write_available + self->cache_processing_available + 1) == self->buffersize' failed.
[1] 128866 IOT instruction (core dumped) ocp
OCP has been compiled from GitHub source with ALSA sound driver fully disabled.
Pipewire version: 1:1.2.1-1
PulseAudio replacement (pipewire-pulse) version: 1:1.2.1-1
OCP version: v0.2.109
Interpolation has been disabled while playing pod.s3m,
pod.s3m ("Point of Departure") file was used to demonstrate this crash.
That is some strange behaviour on your system. I have not seen alsa drivers and alsa driver emulators reporting invalid numbers for many years. Are there available any Arch VirtualBox images that has the same issues as you experience?
Can't help you with the SDL2 issue but you could try this. You haven't mentioned if you have installed pipewire-alsa on your Arch system, so i'll just throw it here. Might help.
To get alsa working with pipewire, you need to install pipewire-alsa
sudo pacman -S pipewire-alsa
Make sure to also enable devALSA back in ocp
Can't help you with the SDL2 issue but you could try this. You haven't mentioned if you have installed pipewire-alsa on your Arch system, so i'll just throw it here. Might help.
To get alsa working with pipewire, you need to install pipewire-alsa
sudo pacman -S pipewire-alsaMake sure to also enable devALSA back in ocp
yeah i did that and it actually worked