Bug 355389 - Applications/15.12.0: crash when using jogdial/ShuttlePro on Kubuntu 15.10
Summary: Applications/15.12.0: crash when using jogdial/ShuttlePro on Kubuntu 15.10
Status: RESOLVED NOT A BUG
Alias: None
Product: kdenlive
Classification: Applications
Component: User Interface & Miscellaneous (other bugs)
Version First Reported In: unspecified
Platform: Compiled Sources Linux
: NOR major
Target Milestone: ---
Assignee: Jean-Baptiste Mardelle
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-11-15 18:43 UTC by Wegwerf
Modified: 2015-12-14 21:47 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In: 15.12.0
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Wegwerf 2015-11-15 18:43:06 UTC
Kdenlive 15.12.0 worked fine for me on Kubuntu 15.04. Unfortunately, I had to upgrade my installation to Kubuntu 15.10. I've recompiled all three MLT, ffmpeg, and Kdenlive to make sure things are sound.

The new packages from Kubuntu 15.10 (Qt, ...) seem to trigger a nasty crash in Kdenlive whenever I press any of the jogdial's buttons.

Reproducible: Always

Steps to Reproduce:
1. Enable and configure jogdial in Kdenlive. Configure any arbitrary action on the buttons. 
2. Press any button of the jogdial

Actual Results:  
Kdenlive crashes.

Expected Results:  
No crash.

(gdb) bt full
#0  0x00007ffff3663ad0 in QGraphicsItem::group() const () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
No symbol table info available.
#1  0x00007ffff366413b in QGraphicsItem::isSelected() const () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
No symbol table info available.
#2  0x00000000006ac022 in CustomTrackView::mousePressEvent(QMouseEvent*) ()
No symbol table info available.
#3  0x00007ffff33c05cf in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
No symbol table info available.
#4  0x00007ffff34ba76e in QFrame::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
No symbol table info available.
#5  0x00007ffff36c6dd3 in QGraphicsView::viewportEvent(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
No symbol table info available.
#6  0x00007ffff2701d0c in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#7  0x00007ffff337db6c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
No symbol table info available.
#8  0x00007ffff3383c7a in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
No symbol table info available.
#9  0x00007ffff2701f1b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#10 0x00007ffff33826f2 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
No symbol table info available.
#11 0x00007ffff33d7440 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
No symbol table info available.
#12 0x00007ffff33d978b in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
No symbol table info available.
#13 0x00007ffff337db8c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
No symbol table info available.
#14 0x00007ffff3383230 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
No symbol table info available.
#15 0x00007ffff2701f1b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#16 0x00007ffff2a243c8 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
No symbol table info available.
#17 0x00007ffff2a26005 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
No symbol table info available.
#18 0x00007ffff2a0b5b8 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
No symbol table info available.
#19 0x00007fffe5ef5250 in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqxcb.so
No symbol table info available.
#20 0x00007fffee6ecff7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#21 0x00007fffee6ed250 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#22 0x00007fffee6ed2fc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#23 0x00007ffff275927f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#24 0x00007ffff26ff75a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#25 0x00007ffff27072cc in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
No symbol table info available.
#26 0x000000000093f1d1 in main ()
No symbol table info available.
Comment 1 Wegwerf 2015-11-15 18:45:35 UTC
Qt used and built against is 5.4.2, KF is 5.15.0.
Comment 2 Wegwerf 2015-11-15 18:51:36 UTC
This bug even triggers when the jog dial is not enabled in Kdenlive; this points towards Qt. In addition, when the focus is not in the timeline but in some input field in the other screen fields, then all kind of "mouse" actions get triggered. So this seems to be strongly related to Qt.
Comment 3 Wegwerf 2015-11-15 18:59:30 UTC
Is this correct that input device events from the jog dial early end up in processMouseEvent()? This doesn't look quite right to me noob.
Comment 4 Wegwerf 2015-11-22 22:01:16 UTC
I've found out that starting with its version 5 Qt now automatically integrates all available input devices automatically on its own. This means that the ShuttlePro will be detected as a mouse input device, which it isn't. In consequence, Qt's input event mouse handling kicks in that generates mouse events whenever the user operates the ShuttlePro. These events then cause the problems and crashes, as they appear as if the user operates yet another mouse and randomly clicks on things. I haven't yet figured out a way to either disable to distinguish these unwanted mouse events.
Comment 5 Wegwerf 2015-11-28 17:40:50 UTC
I've found a workaround so that Qt and Qt 5.4 does not use the ShuttlePro anymore. Qt 5.4 allows no selective disabling of input devices and rather integrates them through X11. Thus, it is necessary to disable the ShuttlePro as an input device for X11.

Create a new X11 config file, for instance, /usr/share/X11/xorg.conf.d/50-shuttlepro.conf:
---BEGIN CONTENT---
Section "InputClass"
  Identifier "Ignore Contour Design ShuttlePRO v2"
  MatchDevicePath "/dev/input/event*
  Driver "evdev"
  MatchProduct "ShuttlePRO v2"
  Option "Ignore" "true"
EndSection
---END CONTENT---

Log out of your session and into it again, so X11 gets restarted.

See also http://thediveo-e.blogspot.de/2015/11/shuttle-crash-qt-54.html for details.