Crash bug: SIGFPE in pcm_pipewire.c:171 with io->buffer_size == 0
I'm using openSuse 15.2, packages
pipewire-0.3.6-lp152.2.3.1.x86_64 libasound2-1.1.5-lp152.9.4.1.x86_64 linphone-4.1.1-lp152.6.2.x86_64
Trying to make a phone call results in SIGFPE:
[14:08:39:729][0x555555bd4810][Info]/home/abuild/rpmbuild/BUILD/linphoneqt-4.1.1/src/components/sip-addresses/SipAddressesModel.cpp:420: "Add sip address: `sip:081316179683@phone.mnet-voip.de`."
[14:08:40:303][0x555555bd4810][Warning]qrc:/ui/modules/Linphone/Timeline/Timeline.qml:51: qrc:/ui/modules/Linphone/Timeline/Timeline.qml:51:3: QML Rectangle: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
[14:08:40:405][0x555555bd4810][Info]/home/abuild/rpmbuild/BUILD/linphoneqt-4.1.1/src/app/App.cpp:513: "Open linphone app."
[14:08:40:423][0x555555bd4810][Warning]:0: QXcbConnection: XCB error: 3 (BadWindow), sequence: 530, resource id: 37750274, major code: 40 (TranslateCoords), minor code: 0
[14:08:41:174][0x555555bd4810][Info]/home/abuild/rpmbuild/BUILD/linphoneqt-4.1.1/src/components/sip-addresses/SipAddressesModel.cpp:306: "Update presence of `sip:music@iptel.org`: 1."
[14:08:41:174][0x555555bd4810][Info]/home/abuild/rpmbuild/BUILD/linphoneqt-4.1.1/src/components/sip-addresses/SipAddressesModel.cpp:306: "Update presence of `sip:echo@iptel.org`: 1."
[14:08:43:793][0x555555bd4810][Warning]file:///usr/lib64/qt5/qml/QtQuick/Dialogs/DefaultFileDialog.qml:102: file:///usr/lib64/qt5/qml/QtQuick/Dialogs/DefaultFileDialog.qml:102:33: QML Settings: Failed to initialize QSettings instance. Status code is: 1
[14:08:43:793][0x555555bd4810][Warning]file:///usr/lib64/qt5/qml/QtQuick/Dialogs/DefaultFileDialog.qml:102: file:///usr/lib64/qt5/qml/QtQuick/Dialogs/DefaultFileDialog.qml:102:33: QML Settings: The following application identifiers have not been set: QVector("organizationName", "organizationDomain")
[14:08:47:317][0x555555bd4810][Info]/home/abuild/rpmbuild/BUILD/linphoneqt-4.1.1/src/components/calls/CallsListModel.cpp:187: "Add call:" CallModel(0x7fffd8007e60)
[14:08:47:373][0x555555bd4810][Warning]file:///usr/lib64/qt5/qml/QtQuick/Dialogs/DefaultFileDialog.qml:102: file:///usr/lib64/qt5/qml/QtQuick/Dialogs/DefaultFileDialog.qml:102:33: QML Settings: Failed to initialize QSettings instance. Status code is: 1
[14:08:47:373][0x555555bd4810][Warning]file:///usr/lib64/qt5/qml/QtQuick/Dialogs/DefaultFileDialog.qml:102: file:///usr/lib64/qt5/qml/QtQuick/Dialogs/DefaultFileDialog.qml:102:33: QML Settings: The following application identifiers have not been set: QVector("organizationName", "organizationDomain")
[New Thread 0x7fff9e70f700 (LWP 1582)]
[New Thread 0x7fff9d24f700 (LWP 1583)]
[New Thread 0x7fff97bb8700 (LWP 1584)]
[New Thread 0x7fff9711a700 (LWP 1586)]
[New Thread 0x7fff96919700 (LWP 1587)]
Thread 11 "linphone" received signal SIGFPE, Arithmetic exception.
[Switching to Thread 0x7fff9e70f700 (LWP 1582)]
0x00007fff9d900023 in snd_pcm_pipewire_pointer (io=0x7fff98816ac0) at ../pipewire-alsa/alsa-plugins/pcm_pipewire.c:171
171 return pw->hw_ptr % io->buffer_size;
(gdb) print io->buffer_size
$1 = 0
(gdb) print *io
$5 = {version = 65538, name = 0x7fff9d905aa0 "ALSA <-> PipeWire PCM I/O Plugin", flags = 0, poll_fd = 60, poll_events = 1, mmap_rw = 1, callback = 0x7fff9db07240 <pipewire_pcm_callback>, private_data = 0x7fff98816ac0, pcm = 0x7fff98842aa0,
stream = SND_PCM_STREAM_PLAYBACK, state = SND_PCM_STATE_OPEN, appl_ptr = 0, hw_ptr = 0, nonblock = 0, access = SND_PCM_ACCESS_MMAP_INTERLEAVED, format = SND_PCM_FORMAT_S8, channels = 0, rate = 0, period_size = 0, buffer_size = 0}
(gdb) bt
#0 0x00007fff9d900023 in snd_pcm_pipewire_pointer (io=0x7fff98816ac0) at ../pipewire-alsa/alsa-plugins/pcm_pipewire.c:171
#1 0x00007fffede2ba94 in snd_pcm_ioplug_hw_ptr_update (pcm=<optimized out>, pcm=<optimized out>) at pcm_ioplug.c:57
#2 0x00007fffede2c464 in snd_pcm_ioplug_status (pcm=0x7fff98842aa0, status=0x7fff9e70e9f0) at pcm_ioplug.c:94
#3 0x00007fffedde2f81 in snd_pcm_status (pcm=0x7fff98842aa0, status=<optimized out>) at pcm.c:1001
#4 0x00007ffff266305b in ?? () from /usr/lib64/libmediastreamer_voip.so.10
#5 0x00007ffff2663e6d in alsa_write_process () from /usr/lib64/libmediastreamer_voip.so.10
#6 0x00007ffff23fdc30 in ms_filter_process () from /usr/lib64/libmediastreamer_base.so.10
#7 0x00007ffff23ff203 in ?? () from /usr/lib64/libmediastreamer_base.so.10
#8 0x00007ffff23ff265 in ?? () from /usr/lib64/libmediastreamer_base.so.10
#9 0x00007ffff23ff265 in ?? () from /usr/lib64/libmediastreamer_base.so.10
#10 0x00007ffff23ff265 in ?? () from /usr/lib64/libmediastreamer_base.so.10
#11 0x00007ffff23ff2d9 in ?? () from /usr/lib64/libmediastreamer_base.so.10
#12 0x00007ffff23ff74d in ?? () from /usr/lib64/libmediastreamer_base.so.10
#13 0x00007ffff2b0f4f9 in start_thread () from /lib64/libpthread.so.0
#14 0x00007ffff388ffbf in clone () from /lib64/libc.so.6
(gdb) info local
pw = 0x7fff98816ac0
(gdb) print *pw
$3 = {io = {version = 65538, name = 0x7fff9d905aa0 "ALSA <-> PipeWire PCM I/O Plugin", flags = 0, poll_fd = 60, poll_events = 1, mmap_rw = 1, callback = 0x7fff9db07240 <pipewire_pcm_callback>, private_data = 0x7fff98816ac0, pcm = 0x7fff98842aa0,
stream = SND_PCM_STREAM_PLAYBACK, state = SND_PCM_STATE_OPEN, appl_ptr = 0, hw_ptr = 0, nonblock = 0, access = SND_PCM_ACCESS_MMAP_INTERLEAVED, format = SND_PCM_FORMAT_S8, channels = 0, rate = 0, period_size = 0, buffer_size = 0},
node_name = 0x7fff98816aa0 "ALSA Playback", target = 4294967295, fd = 60, error = 0, activated = 0, drained = 0, draining = 0, xrun_detected = 0, hw_ptr = 0, boundary = 0, min_avail = 0, sample_bits = 0, system = 0x7fff98816ee0, main_loop = 0x7fff98816d20,
context = 0x7fff9881f1a0, core = 0x7fff9882f920, core_listener = {link = {next = 0x7fff9882f978, prev = 0x7fff9882f9c8}, cb = {funcs = 0x7fff9db06d00 <core_events>, data = 0x7fff98816ac0}, removed = 0x0, priv = 0x0}, flags = 0, stream = 0x0, stream_listener = {
link = {next = 0x0, prev = 0x0}, cb = {funcs = 0x0, data = 0x0}, removed = 0x0, priv = 0x0}, format = {format = SPA_AUDIO_FORMAT_UNKNOWN, flags = 0, rate = 0, channels = 0, position = {0 <repeats 64 times>}}}
(gdb) up
#1 0x00007fffede2ba94 in snd_pcm_ioplug_hw_ptr_update (pcm=<optimized out>, pcm=<optimized out>) at pcm_ioplug.c:57
57 hw = io->data->callback->pointer(io->data);
(gdb) up
#2 0x00007fffede2c464 in snd_pcm_ioplug_status (pcm=0x7fff98842aa0, status=0x7fff9e70e9f0) at pcm_ioplug.c:94
94 snd_pcm_ioplug_hw_ptr_update(pcm);
(gdb) print *pcm
$6 = {open_func = 0x7fff9d904b10 <_snd_pcm_pipewire_open>, name = 0x7fff98842ca0 "default", type = SND_PCM_TYPE_IOPLUG, stream = SND_PCM_STREAM_PLAYBACK, mode = 1, minperiodtime = 5000, poll_fd_count = 1, poll_fd = 60, poll_events = 1, setup = 0, compat = 0,
access = SND_PCM_ACCESS_MMAP_INTERLEAVED, format = SND_PCM_FORMAT_S8, subformat = SND_PCM_SUBFORMAT_STD, channels = 0, rate = 0, period_size = 0, period_time = 0, periods = {min = 0, max = 0, openmin = 0, openmax = 0, integer = 0, empty = 0},
tstamp_mode = SND_PCM_TSTAMP_NONE, tstamp_type = SND_PCM_TSTAMP_TYPE_GETTIMEOFDAY, period_step = 0, avail_min = 0, period_event = 0, start_threshold = 0, stop_threshold = 0, silence_threshold = 0, silence_size = 0, boundary = 0, info = 0, msbits = 0, rate_num = 0,
rate_den = 0, hw_flags = 0, fifo_size = 0, buffer_size = 0, buffer_time = {min = 0, max = 0, openmin = 0, openmax = 0, integer = 0, empty = 0}, sample_bits = 0, frame_bits = 0, appl = {master = 0x0, ptr = 0x7fff98816b00, fd = -1, offset = 0, link_dst_count = 0,
link_dst = 0x0, private_data = 0x0, changed = 0x0}, hw = {master = 0x0, ptr = 0x7fff98816b08, fd = -1, offset = 0, link_dst_count = 0, link_dst = 0x0, private_data = 0x0, changed = 0x0}, min_align = 0, mmap_rw = 1, mmap_shadow = 0, donot_close = 0,
own_state_check = 0, mmap_channels = 0x0, running_areas = 0x0, stopped_areas = 0x0, ops = 0x7fffee0897e0 <snd_pcm_ioplug_ops>, fast_ops = 0x7fffee08bac0 <snd_pcm_ioplug_fast_ops>, op_arg = 0x7fff98842aa0, fast_op_arg = 0x7fff98842aa0, private_data = 0x7fff98842990,
async_handlers = {next = 0x7fff98842c58, prev = 0x7fff98842c58}, need_lock = 1, lock_enabled = 1, lock = {__data = {__lock = 1, __count = 1, __owner = 1582, __nusers = 1, __kind = 1, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}},
__size = "\001\000\000\000\001\000\000\000.\006\000\000\001\000\000\000\001", '\000' <repeats 22 times>, __align = 4294967297}}
If you want more info on my system or the program state at the time of crash, please let me know what you need and I'll try to provide.