Bug 319107 - Kwin crashed when D&D window title to itself
Summary: Kwin crashed when D&D window title to itself
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: general (other bugs)
Version First Reported In: 4.10.2
Platform: Gentoo Packages Linux
: NOR crash
Target Milestone: 4.10.3
Assignee: KWin default assignee
URL: https://git.reviewboard.kde.org/r/110...
Keywords:
Depends on:
Blocks:
 
Reported: 2013-04-30 09:47 UTC by Marian Kyral
Modified: 2013-05-01 18:42 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 4.10.3
Sentry Crash Report:
thomas.luebking: ReviewRequest+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Marian Kyral 2013-04-30 09:47:47 UTC
Application: kwin (4.10.2)
KDE Platform Version: 4.10.2
Qt Version: 4.8.4
Operating System: Linux 3.8.8-gentoo x86_64
Distribution: "NAME=Gentoo"

-- Information about the crash:
I accidentaly clicked with middle mouse button on window title and drag it a little. Kwin crashed.

Steps:
1) Drag window title by middle mouse button
2) Move it away and then return back to original window title location
3) Drop window title
4) Kwin crash

The crash can be reproduced every time.

-- Backtrace:
Application: KWin (kwin), signal: Aborted
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fdf2f9d57c0 (LWP 3647))]

Thread 2 (Thread 0x7fdf06e69700 (LWP 3658)):
#0  0x00007fdf2a298cfc in pthread_cond_wait () from /lib64/libpthread.so.0
#1  0x00007fdf2b9ea3d7 in QTWTF::TCMalloc_PageHeap::scavengerThread() () from /usr/lib64/qt4/libQtScript.so.4
#2  0x00007fdf2b9ea409 in QTWTF::TCMalloc_PageHeap::runScavengerThread(void*) () from /usr/lib64/qt4/libQtScript.so.4
#3  0x00007fdf2a294f3b in start_thread () from /lib64/libpthread.so.0
#4  0x00007fdf2f20750d in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7fdf2f9d57c0 (LWP 3647)):
[KCrash Handler]
#5  0x00007fdf2f1515b5 in raise () from /lib64/libc.so.6
#6  0x00007fdf2f152a38 in abort () from /lib64/libc.so.6
#7  0x00007fdf2a520734 in qt_message_output(QtMsgType, char const*) () from /usr/lib64/qt4/libQtCore.so.4
#8  0x00007fdf2a5208b8 in qt_message(QtMsgType, char const*, __va_list_tag*) () from /usr/lib64/qt4/libQtCore.so.4
#9  0x00007fdf2a520a44 in qFatal(char const*, ...) () from /usr/lib64/qt4/libQtCore.so.4
#10 0x00007fdf2f5b0390 in KWin::Client::tabTo(KWin::Client*, bool, bool) () from /usr/lib64/libkdeinit4_kwin.so
#11 0x00007fdf2f5b10b9 in KWin::Bridge::tab_A_before_B(long, long) () from /usr/lib64/libkdeinit4_kwin.so
#12 0x00007fdf16037a30 in Oxygen::Client::dropEvent(QDropEvent*) () from /usr/lib64/kde4/kwin3_oxygen.so
#13 0x00007fdf16025152 in Oxygen::Client::eventFilter(QObject*, QEvent*) () from /usr/lib64/kde4/kwin3_oxygen.so
#14 0x00007fdf2a625fc6 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#15 0x00007fdf297d93ac in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#16 0x00007fdf297de203 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#17 0x00007fdf2eca5e96 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#18 0x00007fdf2a625e4e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#19 0x00007fdf2985d6c1 in QX11Data::xdndHandleDrop(QWidget*, _XEvent const*, bool) () from /usr/lib64/qt4/libQtGui.so.4
#20 0x00007fdf2985f9f5 in QDragManager::drop() () from /usr/lib64/qt4/libQtGui.so.4
#21 0x00007fdf298614d0 in QDragManager::eventFilter(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#22 0x00007fdf2a625f1a in QCoreApplicationPrivate::sendThroughApplicationEventFilters(QObject*, QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#23 0x00007fdf297d9356 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#24 0x00007fdf297de0bb in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#25 0x00007fdf2eca5e96 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#26 0x00007fdf2a625e4e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#27 0x00007fdf297da21b in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib64/qt4/libQtGui.so.4
#28 0x00007fdf29854994 in QETWidget::translateMouseEvent(_XEvent const*) () from /usr/lib64/qt4/libQtGui.so.4
#29 0x00007fdf29853291 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#30 0x00007fdf298799d1 in QEventDispatcherX11::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtGui.so.4
#31 0x00007fdf2a624b9f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#32 0x00007fdf2a624e28 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#33 0x00007fdf298611a3 in QDragManager::drag(QDrag*) () from /usr/lib64/qt4/libQtGui.so.4
#34 0x00007fdf297ea868 in QDrag::exec(QFlags<Qt::DropAction>, Qt::DropAction) () from /usr/lib64/qt4/libQtGui.so.4
#35 0x00007fdf297ea923 in QDrag::exec(QFlags<Qt::DropAction>) () from /usr/lib64/qt4/libQtGui.so.4
#36 0x00007fdf1602f477 in Oxygen::Client::mouseMoveEvent(QMouseEvent*) () from /usr/lib64/kde4/kwin3_oxygen.so
#37 0x00007fdf16025214 in Oxygen::Client::eventFilter(QObject*, QEvent*) () from /usr/lib64/kde4/kwin3_oxygen.so
#38 0x00007fdf2a625fc6 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#39 0x00007fdf297d93ac in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#40 0x00007fdf297de0bb in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#41 0x00007fdf2eca5e96 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#42 0x00007fdf2a625e4e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#43 0x00007fdf297da21b in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib64/qt4/libQtGui.so.4
#44 0x00007fdf29854994 in QETWidget::translateMouseEvent(_XEvent const*) () from /usr/lib64/qt4/libQtGui.so.4
#45 0x00007fdf29853291 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#46 0x00007fdf298799d1 in QEventDispatcherX11::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtGui.so.4
#47 0x00007fdf2a624b9f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#48 0x00007fdf2a624e28 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#49 0x00007fdf2a629ad8 in QCoreApplication::exec() () from /usr/lib64/qt4/libQtCore.so.4
#50 0x00007fdf2f5bcb0d in kdemain () from /usr/lib64/libkdeinit4_kwin.so
#51 0x00007fdf2f13dbf5 in __libc_start_main () from /lib64/libc.so.6
#52 0x0000000000400831 in _start ()

Reported using DrKonqi
Comment 1 Martin Flöser 2013-04-30 11:24:02 UTC
Unfortunately the backtrace is missing debug symbols. In case you are able to 
reproduce the crash, please install the debug packages provided by your 
distribution and paste an updated backtrace.
Comment 2 Thomas Lübking 2013-04-30 12:45:47 UTC
It hits
Q_ASSERT(other && other != this);

This should be caught in either the decoration or (rather) the bridge (w/ no action)
Comment 3 Thomas Lübking 2013-05-01 18:40:38 UTC
Git commit fd0f9525df26a96d828e3e0717617039c9c991b2 by Thomas Lübking.
Committed on 30/04/2013 at 20:37.
Pushed by luebking into branch 'KDE/4.10'.

skip selftabbing requests from the deco

causes assert
FIXED-IN: 4.10.3
REVIEW: 110251

M  +2    -0    kwin/bridge.cpp

http://commits.kde.org/kde-workspace/fd0f9525df26a96d828e3e0717617039c9c991b2
Comment 4 Thomas Lübking 2013-05-01 18:42:30 UTC
Git commit 3063c7330228b586ea88323452e8ae037c8d547e by Thomas Lübking.
Committed on 30/04/2013 at 20:37.
Pushed by luebking into branch 'master'.

skip selftabbing requests from the deco

causes assert
FIXED-IN: 4.10.3
REVIEW: 110251
(cherry picked from commit fd0f9525df26a96d828e3e0717617039c9c991b2)

M  +2    -0    kwin/bridge.cpp

http://commits.kde.org/kde-workspace/3063c7330228b586ea88323452e8ae037c8d547e