Bug 290248 - KMix crashed when trying to change the volume using the mousewheel
Summary: KMix crashed when trying to change the volume using the mousewheel
Status: RESOLVED DUPLICATE of bug 290742
Alias: None
Product: kmix
Classification: Applications
Component: general (show other bugs)
Version: 4
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Christian Esken
URL:
Keywords:
: 294142 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-12-31 11:56 UTC by Elias Probst
Modified: 2012-03-27 21:49 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Elias Probst 2011-12-31 11:56:39 UTC
Application: kmix (4)
KDE Platform Version: 4.7.95 (4.8 RC1 (4.7.95) (Compiled from sources)
Qt Version: 4.7.4
Operating System: Linux 3.1.0-gentoo-r1 x86_64
Distribution: "Gentoo Base System release 2.0.3"

-- Information about the crash:
Using:
KDE 4.7.95
KMix from git (2011-12-31, 09:00 UTC)
PulseAudio 0.9.22
Qt 4.7.4

- What I was doing when the application crashed:
→ Placed the cursor on the kmix systray icon
→ Scrolled the mousewheel to increase the volume
→ Clicked on the kmix icon as nothing happened to change the volume in the popup
→ Used the mousewheel on the stream whose volume I wanted to increase
→ kmix crashed

- Unusual behavior I noticed:
→ The systray icon showed a completely different  (5%) volume than the actual volume of the stream (66%)
→ Scrolling down made the volume jump to 66% for a splitsecond, then back to 5% where it was stuck then, not possible to modify the volume using the mousewheel
→ Using the mousewheel on the stream in the popup changes the volume, but the slider doesn't move

The crash can be reproduced some of the time.

-- Backtrace:
Application: KMix (kmix), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f7448b6c780 (LWP 13436))]

Thread 2 (Thread 0x7f7428277700 (LWP 13437)):
#0  0x00007f744846c2fb in *__GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f743c1a0585 in g_main_context_poll (n_fds=1, fds=0xad2c50, timeout=<optimized out>, context=0xad10a0, priority=<optimized out>) at gmain.c:3402
#2  g_main_context_iterate (context=0xad10a0, block=1, dispatch=1, self=<optimized out>) at gmain.c:3084
#3  0x00007f743c1a09a4 in g_main_context_iteration (context=0xad10a0, may_block=1) at gmain.c:3152
#4  0x00007f74452d5b74 in QEventDispatcherGlib::processEvents (this=0xad0fb0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#5  0x00007f74452ae268 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007f74452ae45f in QEventLoop::exec (this=0x7f7428276dc0, flags=...) at kernel/qeventloop.cpp:201
#7  0x00007f74451d76a1 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:498
#8  0x00007f7445292450 in QInotifyFileSystemWatcherEngine::run (this=0xacf3b0) at io/qfilesystemwatcher_inotify.cpp:248
#9  0x00007f74451d9ae3 in QThreadPrivate::start (arg=0xacf3b0) at thread/qthread_unix.cpp:331
#10 0x00007f7444f4ea35 in start_thread (arg=0x7f7428277700) at pthread_create.c:301
#11 0x00007f744847443d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 1 (Thread 0x7f7448b6c780 (LWP 13436)):
[KCrash Handler]
#6  0x0000000000000000 in ?? ()
#7  0x00007f744877760d in MDWSlider::increaseOrDecreaseVolume (this=0xa99c00, decrease=false) at /var/tmp/portage/kde-base/kmix-9999/work/kmix-9999/kmix/gui/mdwslider.cpp:949
#8  0x00007f744877773e in MDWSlider::eventFilter (this=<optimized out>, obj=<optimized out>, e=<optimized out>) at /var/tmp/portage/kde-base/kmix-9999/work/kmix-9999/kmix/gui/mdwslider.cpp:1166
#9  0x00007f74452aee39 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<optimized out>, receiver=0xa99850, event=0x7fff3fd79c60) at kernel/qcoreapplication.cpp:902
#10 0x00007f7445eef1d8 in QApplicationPrivate::notify_helper (this=0x636e20, receiver=0xa99850, e=0x7fff3fd79c60) at kernel/qapplication.cpp:4477
#11 0x00007f7445ef3cce in QApplication::notify (this=<optimized out>, receiver=0xa99850, e=0x7fff3fd79c60) at kernel/qapplication.cpp:4097
#12 0x00007f7447a21590 in KApplication::notify (this=0x628c70, receiver=0xa99850, event=0x7fff3fd79c60) at /var/tmp/portage/kde-base/kdelibs-4.7.95/work/kdelibs-4.7.95/kdeui/kernel/kapplication.cpp:311
#13 0x00007f74452aece0 in QCoreApplication::notifyInternal (this=0x628c70, receiver=0xa99850, event=0x7fff3fd79c60) at kernel/qcoreapplication.cpp:787
#14 0x00007f7445f51d31 in sendSpontaneousEvent (event=0x7fff3fd79c60, receiver=0xa99850) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#15 QETWidget::translateWheelEvent (this=<optimized out>, global_x=<optimized out>, global_y=<optimized out>, delta=120, buttons=..., modifiers=..., orient=Qt::Vertical) at kernel/qapplication_x11.cpp:4502
#16 0x00007f7445f636bc in QETWidget::translateMouseEvent (this=0xa89290, event=0x7fff3fd7a6f0) at kernel/qapplication_x11.cpp:4279
#17 0x00007f7445f61c1f in QApplication::x11ProcessEvent (this=0x628c70, event=0x7fff3fd7a6f0) at kernel/qapplication_x11.cpp:3590
#18 0x00007f7445f867af in x11EventSourceDispatch (s=0x63a8a0, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#19 0x00007f743c1a00a2 in g_main_dispatch (context=0x638de0) at gmain.c:2441
#20 g_main_context_dispatch (context=0x638de0) at gmain.c:3011
#21 0x00007f743c1a07e8 in g_main_context_iterate (context=0x638de0, block=1, dispatch=1, self=<optimized out>) at gmain.c:3089
#22 0x00007f743c1a09a4 in g_main_context_iteration (context=0x638de0, may_block=1) at gmain.c:3152
#23 0x00007f74452d5b3c in QEventDispatcherGlib::processEvents (this=0x6033b0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#24 0x00007f7445f864c6 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#25 0x00007f74452ae268 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#26 0x00007f74452ae45f in QEventLoop::exec (this=0x7fff3fd7a9f0, flags=...) at kernel/qeventloop.cpp:201
#27 0x00007f74452b1b59 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1064
#28 0x00007f7448765a8c in kdemain (argc=1, argv=0x7fff3fd7afb8) at /var/tmp/portage/kde-base/kmix-9999/work/kmix-9999/kmix/apps/main.cpp:76
#29 0x00007f74483c5040 in __libc_start_main (main=0x400781 <main(int, char**)>, argc=1, ubp_av=0x7fff3fd7afb8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff3fd7afa8) at libc-start.c:226
#30 0x00000000004006e1 in _start ()

Reported using DrKonqi
Comment 1 Christian Esken 2011-12-31 12:42:59 UTC
Analysis:

Affected line is MDWSlider::increaseOrDecreaseVolume (this=0xa99c00,
decrease=false) at
/var/tmp/portage/kde-base/kmix-9999/work/kmix-9999/kmix/gui/mdwslider.cpp:949

long inc = volP.volumeSpan() / Mixer::VOLUME_STEP_DIVISOR;

It could crash if the reference points to 0. It should not be possible, but the stacktrace looks like it:

#6  0x0000000000000000 in ?? ()
Comment 2 Christian Esken 2011-12-31 12:43:47 UTC
This might be an issue with a specific control, e.g. a capture-only control. I know that capture-only controls are somewhat buggy in the Tray (The "unusual behavior" description allows this assumption). I'd like to verify this:

For further insight into this, please post the following information:

- Which sound backend is used. Please copy the output from
    KMix menu => Help => Hardware information

- The ouput of "amixer" (or "amixer -c 1" or any other number that corresponds to the affected soundcard).

- Please try to change the master channel (via context-menu of dock icon) to something else, try again, and report back
Comment 3 Elias Probst 2011-12-31 15:12:38 UTC
I wasn't able yet to reproduce the crash again, but what's odd:
The volume isn't locked to 5% when scrolling over the tray icon, but is able to switch between 0% and 5%, but nothing more.

Changing the master channel doesn't change much in this behaviour, it is always the same after switching the master channel/restarting kmix:
→ The used icon indicates 0%-5% volume
→ Hovering the icon shows the actual volume in the tooltip
→ Scrolling on the icon locks the volume to 0%-5%

Requested information:

Hardware Information:
Sound drivers supported: PulseAudio + ALSA + OSS + MPRIS2
Sound drivers used: PulseAudio

Output of 'amixer' (only 1 soundcard available):
Simple mixer control 'Master',0
  Capabilities: pvolume pswitch penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 74
  Mono:
  Front Left: Playback 56 [76%] [-18.00dB] [on]
  Front Right: Playback 56 [76%] [-18.00dB] [on]
Simple mixer control 'PCM',0
  Capabilities: pvolume penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 255
  Mono:
  Front Left: Playback 255 [100%] [0.00dB]
  Front Right: Playback 255 [100%] [0.00dB]
Simple mixer control 'Mic',0
  Capabilities: cvolume cswitch cswitch-joined cswitch-exclusive penum
  Capture exclusive group: 0
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 80
  Front Left: Capture 1 [1%] [-73.00dB] [on]
  Front Right: Capture 1 [1%] [-73.00dB] [on]
Simple mixer control 'Mic 1',0
  Capabilities: cvolume cswitch cswitch-joined cswitch-exclusive penum
  Capture exclusive group: 0
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 80
  Front Left: Capture 0 [0%] [-74.00dB] [off]
  Front Right: Capture 0 [0%] [-74.00dB] [off]
Simple mixer control 'IEC958',0
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',1
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [on]
Simple mixer control 'IEC958',2
  Capabilities: pswitch pswitch-joined penum
  Playback channels: Mono
  Mono: Playback [on]
Comment 4 Christian Esken 2011-12-31 15:41:39 UTC
Hmm, Pulseaudio backend. Not sure what to make out of this, but I will check.
Comment 5 Jekyll Wu 2012-02-15 13:11:01 UTC
*** Bug 294142 has been marked as a duplicate of this bug. ***
Comment 6 Sergey Malkin 2012-03-08 06:24:18 UTC
I have this problem too, and I'm almost shure that this problem occurs after pulseaudio restart. Every time I restart pulseaudio server, kmix crashes on attempt to change volume.
Comment 7 Christian Esken 2012-03-27 21:49:05 UTC
Merging all bug reports that have a backtrace that indicates access to a dead/destroyed MixDevice to Bug 290742

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