Skip to content

Crash after rendering when using soundio #2638

@grejppi

Description

@grejppi

cc @andrewrk

Steps to reproduce:

  1. Select the soundio audio device.
  2. Have something to export.
  3. Export. LMMS will crash.
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff71efc700 (LWP 7227)]
0x00007ffff5dbc959 in soundio_outstream_start (outstream=0x0)
    at ../src/soundio.c:536
536     struct SoundIo *soundio = outstream->device->soundio;
(gdb) bt
#0  0x00007ffff5dbc959 in soundio_outstream_start (outstream=0x0) at ../src/soundio.c:536
#1  0x000000000052284c in AudioSoundIo::startProcessing() ()
#2  0x00000000004fb003 in ProjectRenderer::run() ()
#3  0x00007ffff680cd1c in  () at /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#4  0x00007ffff7bc26aa in start_thread (arg=0x7fff71efc700) at pthread_create.c:333
#5  0x00007ffff40f6e9d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

So what's happening here? LMMS pauses the audio device to temporarily replace it with the renderer. AudioSoundIo::stopProcessing() however destroys m_outstream which would be needed again in AudioSoundIo::startProcessing() and after that.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions