Bug 433465

Summary: plasmashell segfaults in QPulseAudio::VolumeMonitor::read_callback() when fiddling with PulseEffects entry in plasma-pa in a Pipewire session
Product: [Plasma] plasma-pa Reporter: Alex <alex765>
Component: appletAssignee: David Rosca <nowrep>
Status: RESOLVED DUPLICATE    
Severity: crash CC: nate, plasma-bugs
Priority: NOR    
Version: 5.21.0   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In:

Description Alex 2021-02-23 06:22:05 UTC
I didn't see any plasma-pa in the component selection for this issue, so I just gave it a generic-crash component. I also have a microphone active, which probably contributes to this crash.

1. Be in a Pipewire session
2. Open PulseEffects
3. Switch to the inputs view (microphone icon in the top left).
4. Open plasma-pa
5. Switch to the "Applications" tab
6. Fiddle around with the first PulseEffects entry.

I encountered crashes when changing the volume of the first PulseEffects entry, but in one instance, simply hovering over the icon triggered a crash.

Application: Plasma (plasmashell), signal: Segmentation fault

[KCrash Handler]
#4  doActivate<false>(QObject*, int, void**) (sender=0x55becb181860, signal_index=3, argv=0x0) at kernel/qobject.h:132
#5  0x00007f0ad09549e7 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x55becb181860, m=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3946
#6  0x00007f0a4626dbf5 in QPulseAudio::VolumeMonitor::volumeChanged() (this=0x55becb181860) at /usr/src/debug/plasma-pa-5.21.0-1.fc34.x86_64/x86_64-redhat-linux-gnu/src/plasma-volume-declarative_autogen/EWIEGA46WW/moc_volumemonitor.cpp:215
#7  0x00007f0a46276733 in QPulseAudio::VolumeMonitor::read_callback(pa_stream*, unsigned long, void*) (s=0x55bec6e255e0, length=<optimized out>, userdata=0x55becb181860) at /usr/src/debug/plasma-pa-5.21.0-1.fc34.x86_64/src/volumemonitor.cpp:173
#8  0x00007f0a461bc9e1 in pstream_memblock_callback (p=<optimized out>, channel=<optimized out>, offset=0, seek=PA_SEEK_RELATIVE, chunk=0x7ffea181f720, userdata=0x55bec76bf040) at pulse/context.c:430
#9  0x00007f0a4616af05 in memblock_complete (re=0x55bec9b29f60, p=0x55bec9b29de0) at pulsecore/pstream.c:849
#10 do_read (p=p@entry=0x55bec9b29de0, re=re@entry=0x55bec9b29f60) at pulsecore/pstream.c:1011
#11 0x00007f0a4616c79f in do_pstream_read_write (p=0x55bec9b29de0) at pulsecore/pstream.c:260
#12 0x00007f0a4620091e in dispatch_func (source=0x55bec7e02db0, callback=<optimized out>, userdata=<optimized out>) at pulse/glib-mainloop.c:584
#13 0x00007f0acee070ff in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#14 0x00007f0acee5ac98 in g_main_context_iterate.constprop () at /lib64/libglib-2.0.so.0
#15 0x00007f0acee049f3 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#16 0x00007f0ad09766f8 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55bec6a8ff50, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#17 0x00007f0ad09289b2 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffea181f9f0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#18 0x00007f0ad0930544 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#19 0x000055bec5c72776 in main(int, char**) (argc=<optimized out>, argv=0x7ffea181fc00) at /usr/src/debug/plasma-workspace-5.21.0-1.fc34.x86_64/shell/main.cpp:247
[Inferior 1 (process 3150) detached]
Comment 1 Nate Graham 2021-02-23 06:35:08 UTC
Aha, this should be fixed by the fix for Bug 432482.

*** This bug has been marked as a duplicate of bug 432482 ***