[audio] SIGSEGV Segmentation fault with pipewire / pulseaudio / wireplumber

Please, before submitting a new issue verify and check:

  • [x] I tested it on latest raylib version from master branch
  • [x] I checked there is no similar issue already reported
  • [x] My code has no errors or misuse of raylib

Table of Contents

Issue description

After initial boot, a raylib process calling InitAudioDevice results in a segmentation fault.

This is similar to github.com/raysan5/raylib/issues/2315 in that it only occurs if the audio device has not been used yet. After the crash, if I run the same raylib process again, the crash does not reoccur.

Environment

Arch Linux (5.19.4)

Details

I’ve reproduced this with a debug build and found the issue seems to be a null pointer dereference at miniaudio.h:28175

*pInfoOut = *pInfo;

The backtrace shows:

0x00005555555e2f43 in ma_device_sink_info_callback (pPulseContext=0x5555562ab840, pInfo=0x0, endOfList=-1, pUserData=0x7fffffffd7b0) at …miniaudio.h:28175

And the prior frame has no source as it is in libpulse.so.

Read more here: Source link