opencubicplayer icon indicating copy to clipboard operation
opencubicplayer copied to clipboard

SIGABRT while playing a tracker file

Open SergeyMC9730 opened this issue 1 year ago • 1 comments

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.

SergeyMC9730 avatar Jul 13 '24 06:07 SergeyMC9730

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?

mywave82 avatar Jul 22 '24 07:07 mywave82

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

m4tustechna avatar Sep 28 '24 18:09 m4tustechna

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

yeah i did that and it actually worked

SergeyMC9730 avatar Sep 30 '24 05:09 SergeyMC9730