kcolorchooser crashes

Matthew Woehlke mw_triad at users.sourceforge.net
Fri Jul 2 21:23:31 BST 2010


Matthew Woehlke wrote:
> phanisvara das wrote:
>> KDE 4.4.90 (RC1) on openSUSE 11.2 -- a few days ago i found that
>> kcolorchooser crashes whenever i try to use the dropper tool to sample
>> some color from the screen. can somebody please try this, so i know if i
>> messed things up or if it's a bug?
>
> Here too, using last night's build. Dies when I let go of the mouse button.

...and this should be reported to the devel list(s), not the user list. 
Since it appears to be a glitch in KApplication, k-c-d is probably 
appropriate (if I'm wrong, please correct me).

KColorChooser has had one change in the last (exactly) 18 months, and 
that a trivial change related to the message catalog. On the other hand, 
r1141326/r1141329 (less than two weeks ago; hi, Lubos!) to 
kapplication.cpp mention the x11 filtering code.

> SEGV here, in the bowels of QFontEngineFT::loadGlyph. Since I haven't
> rebuild Qt in some time (and still on I think 4.6.2), that smells
> suspiciously like a memory corruption elsewhere.
>
> ....and Valgrind agrees:
>> ==20486== Invalid read of size 8
>> ==20486==    at 0x4E2BEA8: KApplication::removeX11EventFilter(QWidget const*) (qlist.h:132)
>> ==20486==    by 0x4D7C561: KColorDialog::mouseReleaseEvent(QMouseEvent*) (kcolordialog.cpp:1737)
>> ==20486==    by 0x633B8DE: QWidget::event(QEvent*) (qwidget.cpp:7998)
>> ==20486==    by 0x62DE5DD: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4304)
>> ==20486==    by 0x62DC5F8: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3869)
>> ==20486==    by 0x4E2C4A5: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:309)
>> ==20486==    by 0x5AF1944: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:704)
>> ==20486==    by 0x4D7F5D6: KCDPickerFilter::x11Event(_XEvent*) (qcoreapplication.h:215)
>> ==20486==    by 0x4E2BC4D: KApplication::x11EventFilter(_XEvent*) (kapplication.cpp:914)
>> ==20486==    by 0x635E136: qt_x11EventFilter(_XEvent*) (qapplication_x11.cpp:399)
>> ==20486==    by 0x636B9ED: QApplication::x11ProcessEvent(_XEvent*) (qapplication_x11.cpp:3231)
>> ==20486==    by 0x63A1196: x11EventSourceDispatch(_GSource*, int (*)(void*), void*) (qguieventdispatcher_glib.cpp:146)
>> ==20486==  Address 0x8098800 is 0 bytes inside a block of size 8 free'd
>> ==20486==    at 0x4A04A84: operator delete(void*) (vg_replace_malloc.c:346)
>> ==20486==    by 0x4E2BF02: KApplication::removeX11EventFilter(QWidget const*) (kapplication.cpp:281)
>> ==20486==    by 0x4D7C561: KColorDialog::mouseReleaseEvent(QMouseEvent*) (kcolordialog.cpp:1737)
>> ==20486==    by 0x633B8DE: QWidget::event(QEvent*) (qwidget.cpp:7998)
>> ==20486==    by 0x62DE5DD: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4304)
>> ==20486==    by 0x62DC5F8: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3869)
>> ==20486==    by 0x4E2C4A5: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:309)
>> ==20486==    by 0x5AF1944: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:704)
>> ==20486==    by 0x4D7F5D6: KCDPickerFilter::x11Event(_XEvent*) (qcoreapplication.h:215)
>> ==20486==    by 0x4E2BC4D: KApplication::x11EventFilter(_XEvent*) (kapplication.cpp:914)
>> ==20486==    by 0x635E136: qt_x11EventFilter(_XEvent*) (qapplication_x11.cpp:399)
>> ==20486==    by 0x636B9ED: QApplication::x11ProcessEvent(_XEvent*) (qapplication_x11.cpp:3231)
>> ==20486==
>> ==20486== Invalid read of size 1
>> ==20486==    at 0x4E2BEAB: KApplication::removeX11EventFilter(QWidget const*) (qlist.h:132)
>> ==20486==    by 0x4D7C561: KColorDialog::mouseReleaseEvent(QMouseEvent*) (kcolordialog.cpp:1737)
>> ==20486==    by 0x633B8DE: QWidget::event(QEvent*) (qwidget.cpp:7998)
>> ==20486==    by 0x62DE5DD: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4304)
>> ==20486==    by 0x62DC5F8: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3869)
>> ==20486==    by 0x4E2C4A5: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:309)
>> ==20486==    by 0x5AF1944: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:704)
>> ==20486==    by 0x4D7F5D6: KCDPickerFilter::x11Event(_XEvent*) (qcoreapplication.h:215)
>> ==20486==    by 0x4E2BC4D: KApplication::x11EventFilter(_XEvent*) (kapplication.cpp:914)
>> ==20486==    by 0x635E136: qt_x11EventFilter(_XEvent*) (qapplication_x11.cpp:399)
>> ==20486==    by 0x636B9ED: QApplication::x11ProcessEvent(_XEvent*) (qapplication_x11.cpp:3231)
>> ==20486==    by 0x63A1196: x11EventSourceDispatch(_GSource*, int (*)(void*), void*) (qguieventdispatcher_glib.cpp:146)
>> ==20486==  Address 0xe5c05d0 is 16 bytes inside a block of size 40 free'd
>> ==20486==    at 0x4A04D72: free (vg_replace_malloc.c:325)
>> ==20486==    by 0x59E877D: qFree(void*) (qmalloc.cpp:60)
>> ==20486==    by 0x4E2BEFA: KApplication::removeX11EventFilter(QWidget const*) (qlist.h:621)
>> ==20486==    by 0x4D7C561: KColorDialog::mouseReleaseEvent(QMouseEvent*) (kcolordialog.cpp:1737)
>> ==20486==    by 0x633B8DE: QWidget::event(QEvent*) (qwidget.cpp:7998)
>> ==20486==    by 0x62DE5DD: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4304)
>> ==20486==    by 0x62DC5F8: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3869)
>> ==20486==    by 0x4E2C4A5: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:309)
>> ==20486==    by 0x5AF1944: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:704)
>> ==20486==    by 0x4D7F5D6: KCDPickerFilter::x11Event(_XEvent*) (qcoreapplication.h:215)
>> ==20486==    by 0x4E2BC4D: KApplication::x11EventFilter(_XEvent*) (kapplication.cpp:914)
>> ==20486==    by 0x635E136: qt_x11EventFilter(_XEvent*) (qapplication_x11.cpp:399)
>
> Now, I wonder if that is a KColorChooser bug, or a bug in
> KApplication::removeX11EventFilter?
>
> (Also worth noting, running under valgrind seems to avoid the crash, so
> the SEGV is almost certainly a symptom and not the problem.)

-- 
Matthew
Please do not quote my e-mail address unobfuscated in message bodies.
-- 
English is to grammar as Microsoft is to standards. Both steal and 
mangle gratuitously, and without apparent shame.
___________________________________________________
This message is from the kde mailing list.
Account management:  https://mail.kde.org/mailman/listinfo/kde.
Archives: http://lists.kde.org/.
More info: http://www.kde.org/faq.html.




More information about the kde-core-devel mailing list