Bug 249143

Summary: KWin crash when clicking with the "What's this" help two consecutive times on different elements which have undefined help
Product: [Unmaintained] kdelibs Reporter: bugs-kde
Component: kdeuiAssignee: kdelibs bugs <kdelibs-bugs>
Status: RESOLVED UNMAINTAINED    
Severity: crash CC: cfeck, kwin-bugs-null
Priority: NOR    
Version: 4.4   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description bugs-kde 2010-08-26 20:08:15 UTC
Application: kwin_rules_dialog (1.0)
KDE Platform Version: 4.4.2 (KDE 4.4.2)
Qt Version: 4.6.2
Operating System: Linux 2.6.34-020634-generic x86_64
Distribution: Ubuntu 10.04.1 LTS

-- Information about the crash:
If the user uses the "What's this" window button on an element, for which help is undefined, and repeats this operation on a different element (also with undefined help), KWin crashes.

Steps to reproduce:
1) Right-click on any window's title bar
2) Go to Advanced -> Special Window Settings... -> Preferences
3) Click the (?) window button to activate What's This help
4) Point to one of the checkboxes that form a column on this panel, they have no help defined (the mouse pointer will indicate it with a red sign)
5) Click on the element - a "Undefined" help popup will appear
6) repeat steps 3-6 on a different checkbox

At this moment KWin shoud crash.


The crash can be reproduced every time.

 -- Backtrace:
Application: KWin (kdeinit4), signal: Segmentation fault
[KCrash Handler]
#5  QX11Info::screen (this=0x620) at kernel/qx11info_x11.cpp:476
#6  0x00007fadb796cde8 in QDesktopWidget::screenNumber (this=<value optimized out>, widget=0x23e1d60) at kernel/qdesktopwidget_x11.cpp:364
#7  0x00007fadb791aa01 in QWhatsThisPrivate::say (widget=0x23e1d60, text=..., x=<value optimized out>, y=323) at kernel/qwhatsthis.cpp:685
#8  0x00007fadb8d134f6 in KWhatsThisManager::eventFilter (this=0x1fb2100, object=0x23e1d60, event=<value optimized out>) at ../../kdeui/util/kwhatsthismanager.cpp:102
#9  0x00007fadb873754b in QCoreApplicationPrivate::sendThroughApplicationEventFilters (this=0x1ebb910, receiver=0x23e1d60, event=0x7fffac0e68f0) at kernel/qcoreapplication.cpp:800
#10 0x00007fadb78d41a6 in QApplicationPrivate::notify_helper (this=0x620, receiver=0x23e1d60, e=0x0) at kernel/qapplication.cpp:4275
#11 0x00007fadb78db04a in QApplication::notify (this=<value optimized out>, receiver=0x23e1d60, e=0x7fffac0e68f0) at kernel/qapplication.cpp:4004
#12 0x00007fadb8c7f526 in KApplication::notify (this=0x7fffac0e8080, receiver=0x23e1d60, event=0x7fffac0e68f0) at ../../kdeui/kernel/kapplication.cpp:302
#13 0x00007fadb873806c in QCoreApplication::notifyInternal (this=0x7fffac0e8080, receiver=0x23e1d60, event=0x7fffac0e68f0) at kernel/qcoreapplication.cpp:704
#14 0x00007fadb791c38f in QCoreApplication::sendEvent (this=0x23da840, o=0x23e1d60, e=0x7fffac0e7010) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#15 QWhatsThisPrivate::eventFilter (this=0x23da840, o=0x23e1d60, e=0x7fffac0e7010) at kernel/qwhatsthis.cpp:466
#16 0x00007fadb873754b in QCoreApplicationPrivate::sendThroughApplicationEventFilters (this=0x1ebb910, receiver=0x23e1d60, event=0x7fffac0e7010) at kernel/qcoreapplication.cpp:800
#17 0x00007fadb78d41a6 in QApplicationPrivate::notify_helper (this=0x620, receiver=0x23e1d60, e=0x0) at kernel/qapplication.cpp:4275
#18 0x00007fadb78daecb in QApplication::notify (this=0x7fffac0e8080, receiver=0x23e1d60, e=0x7fffac0e7010) at kernel/qapplication.cpp:3865
#19 0x00007fadb8c7f526 in KApplication::notify (this=0x7fffac0e8080, receiver=0x23e1d60, event=0x7fffac0e7010) at ../../kdeui/kernel/kapplication.cpp:302
#20 0x00007fadb873806c in QCoreApplication::notifyInternal (this=0x7fffac0e8080, receiver=0x23e1d60, event=0x7fffac0e7010) at kernel/qcoreapplication.cpp:704
#21 0x00007fadb78da0ae in QCoreApplication::sendEvent (receiver=0x23e1d60, event=0x7fffac0e7010, alienWidget=0x0, nativeWidget=0x23e1d60, buttonDown=<value optimized out>, 
    lastMouseReceiver=<value optimized out>, spontaneous=true) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#22 QApplicationPrivate::sendMouseEvent (receiver=0x23e1d60, event=0x7fffac0e7010, alienWidget=0x0, nativeWidget=0x23e1d60, buttonDown=<value optimized out>, lastMouseReceiver=<value optimized out>, 
    spontaneous=true) at kernel/qapplication.cpp:2965
#23 0x00007fadb795a3dd in QETWidget::translateMouseEvent (this=0x23e1d60, event=<value optimized out>) at kernel/qapplication_x11.cpp:4302
#24 0x00007fadb79588ac in QApplication::x11ProcessEvent (this=<value optimized out>, event=0x7fffac0e7930) at kernel/qapplication_x11.cpp:3501
#25 0x00007fadb7984882 in x11EventSourceDispatch (s=0x1ed0670, callback=<value optimized out>, user_data=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:146
#26 0x00007fadb3b198c2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#27 0x00007fadb3b1d748 in ?? () from /lib/libglib-2.0.so.0
#28 0x00007fadb3b1d8fc in g_main_context_iteration () from /lib/libglib-2.0.so.0
#29 0x00007fadb8761513 in QEventDispatcherGlib::processEvents (this=0x1e73140, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#30 0x00007fadb798446e in QGuiEventDispatcherGlib::processEvents (this=0x620, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#31 0x00007fadb8736992 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#32 0x00007fadb8736d6c in QEventLoop::exec (this=0x7fffac0e7c60, flags=) at kernel/qeventloop.cpp:201
#33 0x00007fadb7d9e09e in QDialog::exec (this=0x7fffac0e7d40) at dialogs/qdialog.cpp:546
#34 0x00007fadad6ad8dc in ?? () from /usr/lib/libkdeinit4_kwin_rules_dialog.so
#35 0x00007fadad6a70d5 in ?? () from /usr/lib/libkdeinit4_kwin_rules_dialog.so
#36 0x00007fadad6a86f4 in kdemain () from /usr/lib/libkdeinit4_kwin_rules_dialog.so
#37 0x00000000004070f3 in launch (argc=3, _name=<value optimized out>, args=<value optimized out>, cwd=<value optimized out>, envc=24, envs=<value optimized out>, reset_env=false, tty=0x0, 
    avoid_loops=false, startup_id_str=0x40a4f9 "0") at ../../kinit/kinit.cpp:717
#38 0x0000000000407cb0 in handle_launcher_request (sock=8, who=<value optimized out>) at ../../kinit/kinit.cpp:1209
#39 0x000000000040823a in handle_requests (waitForPid=0) at ../../kinit/kinit.cpp:1402
#40 0x0000000000408e22 in main (argc=4, argv=<value optimized out>, envp=<value optimized out>) at ../../kinit/kinit.cpp:1845

Reported using DrKonqi
Comment 1 Martin Flöser 2010-08-26 20:17:37 UTC
Not really sure what the right component for KWhatsThisManager is, but I assume kdelibs
Comment 2 Christoph Feck 2010-08-26 21:07:52 UTC
According to commit r1127903 the KWhatsThisManager class has been removed for KDE SC 4.5, so the bug is no longer applicable to any maintained KDE releases.

See http://websvn.kde.org/?revision=1127903&view=revision for details.