https://bugs.kde.org/show_bug.cgi?id=429881

            Bug ID: 429881
           Summary: kmixctrl segfault
           Product: kmix
           Version: unspecified
          Platform: Gentoo Packages
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: Backend: Pulseaudio
          Assignee: co...@mageia.org
          Reporter: spiked....@gmail.com
                CC: es...@kde.org
  Target Milestone: ---

SUMMARY
kmixctrl crashes because invalid destuctor order.

STEPS TO REPRODUCE
1. run kmixctrl -s  or kmixctrl -r

OBSERVED RESULT
Segmentation fault

EXPECTED RESULT
save/restore settings

SOFTWARE/OS VERSIONS
KDE Plasma Version:  5.19.5
KDE Frameworks Version: 5.74.0
Qt Version: 5.15.1

ADDITIONAL INFORMATION

Null pointer dereference:


#0  0x0000000000000000 in ?? ()
#1  0x00007ffff61521f1 in free_events (c=0x55555559f550) at
/var/tmp/portage/media-sound/pulseaudio-13.0/work/pulseaudio-13.0/src/pulsecore/socket-client.c:109
#2  0x00007ffff6152318 in socket_client_free (c=0x55555559f550) at
/var/tmp/portage/media-sound/pulseaudio-13.0/work/pulseaudio-13.0/src/pulsecore/socket-client.c:295
#3  pa_socket_client_unref (c=0x55555559f550) at
/var/tmp/portage/media-sound/pulseaudio-13.0/work/pulseaudio-13.0/src/pulsecore/socket-client.c:317
#4  0x00007ffff71ebd3a in context_unlink (c=<optimized out>) at
/var/tmp/portage/media-sound/pulseaudio-13.0/work/pulseaudio-13.0/src/pulse/context.c:234
#5  context_unlink (c=0x555555584850) at
/var/tmp/portage/media-sound/pulseaudio-13.0/work/pulseaudio-13.0/src/pulse/context.c:201
#6  0x00007ffff71ebe52 in context_free (c=0x555555584850) at
/var/tmp/portage/media-sound/pulseaudio-13.0/work/pulseaudio-13.0/src/pulse/context.c:244
#7  0x00007ffff7f6978b in Mixer_PULSE::~Mixer_PULSE (this=0x5555555a6820,
__in_chrg=<optimized out>) at
/var/tmp/portage/kde-apps/kmix-20.08.3/work/kmix-20.08.3/backends/mixer_pulse.cpp:1073
#8  0x00007ffff7f697ee in Mixer_PULSE::~Mixer_PULSE (this=0x5555555a6820,
__in_chrg=<optimized out>) at
/var/tmp/portage/kde-apps/kmix-20.08.3/work/kmix-20.08.3/backends/mixer_pulse.cpp:1080
#9  0x00007ffff7f462e2 in Mixer::~Mixer (this=0x5555555a5e20,
__in_chrg=<optimized out>) at
/var/tmp/portage/kde-apps/kmix-20.08.3/work/kmix-20.08.3/core/mixer.cpp:115
#10 0x00007ffff7f4632a in Mixer::~Mixer (this=0x5555555a5e20,
__in_chrg=<optimized out>) at
/var/tmp/portage/kde-apps/kmix-20.08.3/work/kmix-20.08.3/core/mixer.cpp:116
#11 0x00007ffff7f3e4c2 in MixerToolBox::deinitMixer () at
/var/tmp/portage/kde-apps/kmix-20.08.3/work/kmix-20.08.3/core/mixertoolbox.cpp:356
#12 0x0000555555556bf5 in main (argc=2, argv=0x7fffffffda48) at
/var/tmp/portage/kde-apps/kmix-20.08.3/work/kmix-20.08.3/apps/kmixctrl.cpp:86



socket-client.c:109 c->mainloop->time_free(c->timeout_event);
mainloop->time_free is NULL and segfault is result.


mainloop->time_free set to NULL by other destructor :

Thread 1 "kmixctrl" hit Hardware watchpoint 4: s_context->mainloop->time_free

Old value = (void (*)(pa_time_event *)) 0x7ffff7f6c17c
<QtPaMainLoop::freeTimer(pa_time_event*)>
New value = (void (*)(pa_time_event *)) 0x0
0x00007ffff7af9bd5 in QMetaCallEvent::QMetaCallEvent (this=0x5555555847d0,
slotO=0x55555559e1f0, sender=0x555555599930, signalId=0, args=0x7fffffffd5f0,
semaphore=0x7fffffffd570)
    at
/var/tmp/portage/dev-qt/qtcore-5.15.1-r1/work/qtbase-everywhere-src-5.15.1/src/corelib/kernel/qobject_p.h:522
(gdb) bt
#0  0x00007ffff7af9bd5 in QMetaCallEvent::QMetaCallEvent (this=0x5555555847d0,
slotO=0x55555559e1f0, sender=0x555555599930, signalId=0, args=0x7fffffffd5f0,
semaphore=0x7fffffffd570)
    at
/var/tmp/portage/dev-qt/qtcore-5.15.1-r1/work/qtbase-everywhere-src-5.15.1/src/corelib/kernel/qobject_p.h:522
#1  0x00007ffff7b058aa in doActivate<false> (sender=0x555555599930,
signal_index=0, argv=0x7fffffffd5f0) at
/var/tmp/portage/dev-qt/qtcore-5.15.1-r1/work/qtbase-everywhere-src-5.15.1/src/corelib/kernel/qobject.cpp:3862
#2  0x00007ffff7aff94f in QMetaObject::activate
(sender=sender@entry=0x555555599930, m=m@entry=0x7ffff7d9dba0
<QObject::staticMetaObject>, local_signal_index=local_signal_index@entry=0,
argv=argv@entry=0x7fffffffd5f0)
    at
/var/tmp/portage/dev-qt/qtcore-5.15.1-r1/work/qtbase-everywhere-src-5.15.1/src/corelib/kernel/qobject.cpp:3946
#3  0x00007ffff7aff9ff in QObject::destroyed (this=this@entry=0x555555599930,
_t1=<optimized out>, _t1@entry=0x555555599930) at .moc/moc_qobject.cpp:219
#4  0x00007ffff7b03c15 in QObject::~QObject (this=<optimized out>,
__in_chrg=<optimized out>) at
/var/tmp/portage/dev-qt/qtcore-5.15.1-r1/work/qtbase-everywhere-src-5.15.1/src/corelib/kernel/qobject.cpp:992
#5  0x00007ffff7f51370 in DBusMixerWrapper::~DBusMixerWrapper
(this=0x555555599930, __in_chrg=<optimized out>) at
/var/tmp/portage/kde-apps/kmix-20.08.3/work/kmix-20.08.3/dbus/dbusmixerwrapper.cpp:52
#6  0x00007ffff7f513a4 in DBusMixerWrapper::~DBusMixerWrapper
(this=0x555555599930, __in_chrg=<optimized out>) at
/var/tmp/portage/kde-apps/kmix-20.08.3/work/kmix-20.08.3/dbus/dbusmixerwrapper.cpp:58
#7  0x00007ffff7b02dcc in QObjectPrivate::deleteChildren (this=0x555555591800)
at
/var/tmp/portage/dev-qt/qtcore-5.15.1-r1/work/qtbase-everywhere-src-5.15.1/src/corelib/kernel/qobject.cpp:2104
#8  0x00007ffff7b039e6 in QObject::~QObject (this=<optimized out>,
__in_chrg=<optimized out>) at
/var/tmp/portage/dev-qt/qtcore-5.15.1-r1/work/qtbase-everywhere-src-5.15.1/src/corelib/kernel/qobject.cpp:1082
#9  0x00007ffff7f4630e in Mixer::~Mixer (this=0x555555591410,
__in_chrg=<optimized out>) at
/var/tmp/portage/kde-apps/kmix-20.08.3/work/kmix-20.08.3/core/mixer.cpp:112
#10 0x00007ffff7f4632a in Mixer::~Mixer (this=0x555555591410,
__in_chrg=<optimized out>) at
/var/tmp/portage/kde-apps/kmix-20.08.3/work/kmix-20.08.3/core/mixer.cpp:116
#11 0x00007ffff7f3e4c2 in MixerToolBox::deinitMixer () at
/var/tmp/portage/kde-apps/kmix-20.08.3/work/kmix-20.08.3/core/mixertoolbox.cpp:356
#12 0x0000555555556bf5 in main (argc=2, argv=0x7fffffffda48) at
/var/tmp/portage/kde-apps/kmix-20.08.3/work/kmix-20.08.3/apps/kmixctrl.cpp:86

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to