Bug 284360 - KRunner crashes with graphicssystem raster
Summary: KRunner crashes with graphicssystem raster
Status: RESOLVED FIXED
Alias: None
Product: krunner
Classification: Plasma
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
: 280390 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-10-18 13:28 UTC by Christoph Feck
Modified: 2011-11-29 11:44 UTC (History)
1 user (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 Christoph Feck 2011-10-18 13:28:43 UTC
Application: krunner (0.1)
KDE Platform Version: 4.7.2 (4.7.2) (Compiled from sources)
Qt Version: 4.8.0
Operating System: Linux 3.1.0-rc9-1-desktop i686
Distribution: "openSUSE 12.1 Beta 1 (i586)"

-- Information about the crash:
- What I was doing when the application crashed:

To reproduce the crash, you have to remove the setGraphicsSystem call from main.cpp. Now, whenever the results list should appear, it crashes.

The crash can be reproduced every time.

-- Backtrace:
Application: Run Command Interface (krunner), signal: Segmentation fault
[Current thread is 1 (Thread 0xafd91760 (LWP 8138))]

Thread 6 (Thread 0xadb7cb70 (LWP 8141)):
#0  0xb551d764 in poll () from /lib/libc.so.6
#1  0xb1784f7b in g_poll () from /usr/lib/libglib-2.0.so.0
#2  0xb1776466 in ?? () from /usr/lib/libglib-2.0.so.0
#3  0xb17767fa in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#4  0xb5b53050 in QEventDispatcherGlib::processEvents (this=0x807ed80, flags=...) at /local/git/Qt/qt/src/corelib/kernel/qeventdispatcher_glib.cpp:426
#5  0xb5b19b85 in QEventLoop::processEvents (this=0xadb7c248, flags=...) at /local/git/Qt/qt/src/corelib/kernel/qeventloop.cpp:149
#6  0xb5b19cf3 in QEventLoop::exec (this=0xadb7c248, flags=...) at /local/git/Qt/qt/src/corelib/kernel/qeventloop.cpp:204
#7  0xb59fca01 in QThread::exec (this=0x81a03a0) at /local/git/Qt/qt/src/corelib/thread/qthread.cpp:501
#8  0xb5af7bbe in QInotifyFileSystemWatcherEngine::run (this=0x81a03a0) at /local/git/Qt/qt/src/corelib/io/qfilesystemwatcher_inotify.cpp:248
#9  0xb59ff1b9 in QThreadPrivate::start (arg=0x81a03a0) at /local/git/Qt/qt/src/corelib/thread/qthread_unix.cpp:298
#10 0xb5954a7d in start_thread () from /lib/libpthread.so.0
#11 0xb552866e in clone () from /lib/libc.so.6

Thread 5 (Thread 0xa7812b70 (LWP 8317)):
#0  0xb5958782 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0xb5a0059b in QWaitConditionPrivate::wait (this=0x81c6660, time=4294967295) at /local/git/Qt/qt/src/corelib/thread/qwaitcondition_unix.cpp:86
#2  0xb5a003a1 in QWaitCondition::wait (this=0x821ff10, mutex=0x81e5ec0, time=4294967295) at /local/git/Qt/qt/src/corelib/thread/qwaitcondition_unix.cpp:158
#3  0xb7271c10 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x821fef8, th=0x806a7f0) at /local/git/KDE/libs/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0xb7275d2c in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x81e5818, th=0x806a7f0) at /local/git/KDE/libs/kdelibs/threadweaver/Weaver/WorkingHardState.cpp:80
#5  0xb7271b8f in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x821fef8, th=0x806a7f0) at /local/git/KDE/libs/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:356
#6  0xb7275cd2 in ThreadWeaver::WorkingHardState::applyForWork (this=0x81e5818, th=0x806a7f0) at /local/git/KDE/libs/kdelibs/threadweaver/Weaver/WorkingHardState.cpp:71
#7  0xb7271b68 in ThreadWeaver::WeaverImpl::applyForWork (this=0x821fef8, th=0x806a7f0, previous=0x8315d20) at /local/git/KDE/libs/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:351
#8  0xb72736d7 in ThreadWeaver::ThreadRunHelper::run (this=0xa78122a4, parent=0x821fef8, th=0x806a7f0) at /local/git/KDE/libs/kdelibs/threadweaver/Weaver/Thread.cpp:87
#9  0xb727398d in ThreadWeaver::Thread::run (this=0x806a7f0) at /local/git/KDE/libs/kdelibs/threadweaver/Weaver/Thread.cpp:142
#10 0xb59ff1b9 in QThreadPrivate::start (arg=0x806a7f0) at /local/git/Qt/qt/src/corelib/thread/qthread_unix.cpp:298
#11 0xb5954a7d in start_thread () from /lib/libpthread.so.0
#12 0xb552866e in clone () from /lib/libc.so.6

Thread 4 (Thread 0xa7012b70 (LWP 8318)):
#0  0xb5958782 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0xb5a0059b in QWaitConditionPrivate::wait (this=0x81c6660, time=4294967295) at /local/git/Qt/qt/src/corelib/thread/qwaitcondition_unix.cpp:86
#2  0xb5a003a1 in QWaitCondition::wait (this=0x821ff10, mutex=0x81e5ec0, time=4294967295) at /local/git/Qt/qt/src/corelib/thread/qwaitcondition_unix.cpp:158
#3  0xb7271c10 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x821fef8, th=0x839bad8) at /local/git/KDE/libs/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0xb7275d2c in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x81e5818, th=0x839bad8) at /local/git/KDE/libs/kdelibs/threadweaver/Weaver/WorkingHardState.cpp:80
#5  0xb7271b8f in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x821fef8, th=0x839bad8) at /local/git/KDE/libs/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:356
#6  0xb7275cd2 in ThreadWeaver::WorkingHardState::applyForWork (this=0x81e5818, th=0x839bad8) at /local/git/KDE/libs/kdelibs/threadweaver/Weaver/WorkingHardState.cpp:71
#7  0xb7271b68 in ThreadWeaver::WeaverImpl::applyForWork (this=0x821fef8, th=0x839bad8, previous=0x831e920) at /local/git/KDE/libs/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:351
#8  0xb72736d7 in ThreadWeaver::ThreadRunHelper::run (this=0xa70122a4, parent=0x821fef8, th=0x839bad8) at /local/git/KDE/libs/kdelibs/threadweaver/Weaver/Thread.cpp:87
#9  0xb727398d in ThreadWeaver::Thread::run (this=0x839bad8) at /local/git/KDE/libs/kdelibs/threadweaver/Weaver/Thread.cpp:142
#10 0xb59ff1b9 in QThreadPrivate::start (arg=0x839bad8) at /local/git/Qt/qt/src/corelib/thread/qthread_unix.cpp:298
#11 0xb5954a7d in start_thread () from /lib/libpthread.so.0
#12 0xb552866e in clone () from /lib/libc.so.6

Thread 3 (Thread 0xa6812b70 (LWP 8319)):
#0  0xb5958782 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0xb5a0059b in QWaitConditionPrivate::wait (this=0x81c6660, time=4294967295) at /local/git/Qt/qt/src/corelib/thread/qwaitcondition_unix.cpp:86
#2  0xb5a003a1 in QWaitCondition::wait (this=0x821ff10, mutex=0x81e5ec0, time=4294967295) at /local/git/Qt/qt/src/corelib/thread/qwaitcondition_unix.cpp:158
#3  0xb7271c10 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x821fef8, th=0x82a9f70) at /local/git/KDE/libs/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0xb7275d2c in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x81e5818, th=0x82a9f70) at /local/git/KDE/libs/kdelibs/threadweaver/Weaver/WorkingHardState.cpp:80
#5  0xb7271b8f in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x821fef8, th=0x82a9f70) at /local/git/KDE/libs/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:356
#6  0xb7275cd2 in ThreadWeaver::WorkingHardState::applyForWork (this=0x81e5818, th=0x82a9f70) at /local/git/KDE/libs/kdelibs/threadweaver/Weaver/WorkingHardState.cpp:71
#7  0xb7271b68 in ThreadWeaver::WeaverImpl::applyForWork (this=0x821fef8, th=0x82a9f70, previous=0x831de88) at /local/git/KDE/libs/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:351
#8  0xb72736d7 in ThreadWeaver::ThreadRunHelper::run (this=0xa68122a4, parent=0x821fef8, th=0x82a9f70) at /local/git/KDE/libs/kdelibs/threadweaver/Weaver/Thread.cpp:87
#9  0xb727398d in ThreadWeaver::Thread::run (this=0x82a9f70) at /local/git/KDE/libs/kdelibs/threadweaver/Weaver/Thread.cpp:142
#10 0xb59ff1b9 in QThreadPrivate::start (arg=0x82a9f70) at /local/git/Qt/qt/src/corelib/thread/qthread_unix.cpp:298
#11 0xb5954a7d in start_thread () from /lib/libpthread.so.0
#12 0xb552866e in clone () from /lib/libc.so.6

Thread 2 (Thread 0xa6012b70 (LWP 8320)):
#0  0xb5958782 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0xb5a0059b in QWaitConditionPrivate::wait (this=0x81c6660, time=4294967295) at /local/git/Qt/qt/src/corelib/thread/qwaitcondition_unix.cpp:86
#2  0xb5a003a1 in QWaitCondition::wait (this=0x821ff10, mutex=0x81e5ec0, time=4294967295) at /local/git/Qt/qt/src/corelib/thread/qwaitcondition_unix.cpp:158
#3  0xb7271c10 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x821fef8, th=0x8335a58) at /local/git/KDE/libs/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0xb7275d2c in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x81e5818, th=0x8335a58) at /local/git/KDE/libs/kdelibs/threadweaver/Weaver/WorkingHardState.cpp:80
#5  0xb7271b8f in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x821fef8, th=0x8335a58) at /local/git/KDE/libs/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:356
#6  0xb7275cd2 in ThreadWeaver::WorkingHardState::applyForWork (this=0x81e5818, th=0x8335a58) at /local/git/KDE/libs/kdelibs/threadweaver/Weaver/WorkingHardState.cpp:71
#7  0xb7271b68 in ThreadWeaver::WeaverImpl::applyForWork (this=0x821fef8, th=0x8335a58, previous=0x0) at /local/git/KDE/libs/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:351
#8  0xb7275cf8 in ThreadWeaver::WorkingHardState::applyForWork (this=0x81e5818, th=0x8335a58) at /local/git/KDE/libs/kdelibs/threadweaver/Weaver/WorkingHardState.cpp:74
#9  0xb7271b68 in ThreadWeaver::WeaverImpl::applyForWork (this=0x821fef8, th=0x8335a58, previous=0x80b8180) at /local/git/KDE/libs/kdelibs/threadweaver/Weaver/WeaverImpl.cpp:351
#10 0xb72736d7 in ThreadWeaver::ThreadRunHelper::run (this=0xa60122a4, parent=0x821fef8, th=0x8335a58) at /local/git/KDE/libs/kdelibs/threadweaver/Weaver/Thread.cpp:87
#11 0xb727398d in ThreadWeaver::Thread::run (this=0x8335a58) at /local/git/KDE/libs/kdelibs/threadweaver/Weaver/Thread.cpp:142
#12 0xb59ff1b9 in QThreadPrivate::start (arg=0x8335a58) at /local/git/Qt/qt/src/corelib/thread/qthread_unix.cpp:298
#13 0xb5954a7d in start_thread () from /lib/libpthread.so.0
#14 0xb552866e in clone () from /lib/libc.so.6

Thread 1 (Thread 0xafd91760 (LWP 8138)):
[KCrash Handler]
#6  0xb63f66e3 in QRasterPaintEngine::compositionModeChanged (this=0x84578f0) at /local/git/Qt/qt/src/gui/painting/qpaintengine_raster.cpp:904
#7  0xb636aa98 in QPainter::setCompositionMode (this=0xbff59070, mode=QPainter::CompositionMode_DestinationIn) at /local/git/Qt/qt/src/gui/painting/qpainter.cpp:2422
#8  0xb77567fc in ResultsView::paintEvent (this=0x82420d8, event=0xbff59944) at /local/git/KDE/base/kde-workspace/krunner/interfaces/default/resultview.cpp:194
#9  0xb624545b in QWidget::event (this=0x82420d8, event=0xbff59944) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:8507
#10 0xb66bb58e in QFrame::event (this=0x82420d8, e=0xbff59944) at /local/git/Qt/qt/src/gui/widgets/qframe.cpp:557
#11 0xb675cac3 in QAbstractScrollArea::viewportEvent (this=0x82420d8, e=0xbff59944) at /local/git/Qt/qt/src/gui/widgets/qabstractscrollarea.cpp:1043
#12 0xb693a561 in QGraphicsView::viewportEvent (this=0x82420d8, event=0xbff59944) at /local/git/Qt/qt/src/gui/graphicsview/qgraphicsview.cpp:2866
#13 0xb675d6cf in QAbstractScrollAreaPrivate::viewportEvent (this=0x82a2e98, event=0xbff59944) at /local/git/Qt/qt/src/gui/widgets/qabstractscrollarea_p.h:100
#14 0xb675d7ac in QAbstractScrollAreaFilter::eventFilter (this=0x828c638, o=0x828c650, e=0xbff59944) at /local/git/Qt/qt/src/gui/widgets/qabstractscrollarea_p.h:116
#15 0xb5b1c32f in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x80784e8, receiver=0x828c650, event=0xbff59944) at /local/git/Qt/qt/src/corelib/kernel/qcoreapplication.cpp:986
#16 0xb61e669a in QApplicationPrivate::notify_helper (this=0x80784e8, receiver=0x828c650, e=0xbff59944) at /local/git/Qt/qt/src/gui/kernel/qapplication.cpp:4514
#17 0xb61e63fa in QApplication::notify (this=0x8071430, receiver=0x828c650, e=0xbff59944) at /local/git/Qt/qt/src/gui/kernel/qapplication.cpp:4483
#18 0xb6f0528e in KApplication::notify (this=0x8071430, receiver=0x828c650, event=0xbff59944) at /local/git/KDE/libs/kdelibs/kdeui/kernel/kapplication.cpp:311
#19 0xb5b1c0c2 in QCoreApplication::notifyInternal (this=0x8071430, receiver=0x828c650, event=0xbff59944) at /local/git/Qt/qt/src/corelib/kernel/qcoreapplication.cpp:876
#20 0xb61e9051 in QCoreApplication::sendSpontaneousEvent (receiver=0x828c650, event=0xbff59944) at ../../include/QtCore/../../../../git/Qt/qt/src/corelib/kernel/qcoreapplication.h:234
#21 0xb623dc4b in QWidgetPrivate::drawWidget (this=0x8240558, pdev=0x848b550, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x822f0a0) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5584
#22 0xb623e9ee in QWidgetPrivate::paintSiblingsRecursive (this=0x82a2e98, pdev=0x848b550, siblings=..., index=1, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x822f0a0) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5793
#23 0xb623e8bd in QWidgetPrivate::paintSiblingsRecursive (this=0x82a2e98, pdev=0x848b550, siblings=..., index=4, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x822f0a0) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5780
#24 0xb623e034 in QWidgetPrivate::drawWidget (this=0x82a2e98, pdev=0x848b550, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x822f0a0) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5637
#25 0xb623e9ee in QWidgetPrivate::paintSiblingsRecursive (this=0x81b8be8, pdev=0x848b550, siblings=..., index=6, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x822f0a0) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5793
#26 0xb623e034 in QWidgetPrivate::drawWidget (this=0x81b8be8, pdev=0x848b550, rgn=..., offset=..., flags=5, sharedPainter=0x0, backingStore=0x822f0a0) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:5637
#27 0xb6453e3e in QWidgetBackingStore::sync (this=0x822f0a0) at /local/git/Qt/qt/src/gui/painting/qbackingstore.cpp:1373
#28 0xb62350fc in QWidgetPrivate::syncBackingStore (this=0x81b8be8) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:1890
#29 0xb6245953 in QWidget::event (this=0x81b8af0, event=0x849abb0) at /local/git/Qt/qt/src/gui/kernel/qwidget.cpp:8654
#30 0xb77405f3 in KRunnerDialog::event (this=0x81b8af0, event=0x849abb0) at /local/git/KDE/base/kde-workspace/krunner/krunnerdialog.cpp:376
#31 0xb61e66be in QApplicationPrivate::notify_helper (this=0x80784e8, receiver=0x81b8af0, e=0x849abb0) at /local/git/Qt/qt/src/gui/kernel/qapplication.cpp:4518
#32 0xb61e63fa in QApplication::notify (this=0x8071430, receiver=0x81b8af0, e=0x849abb0) at /local/git/Qt/qt/src/gui/kernel/qapplication.cpp:4483
#33 0xb6f0528e in KApplication::notify (this=0x8071430, receiver=0x81b8af0, event=0x849abb0) at /local/git/KDE/libs/kdelibs/kdeui/kernel/kapplication.cpp:311
#34 0xb5b1c0c2 in QCoreApplication::notifyInternal (this=0x8071430, receiver=0x81b8af0, event=0x849abb0) at /local/git/Qt/qt/src/corelib/kernel/qcoreapplication.cpp:876
#35 0xb5b1f777 in QCoreApplication::sendEvent (receiver=0x81b8af0, event=0x849abb0) at ../../include/QtCore/../../../../git/Qt/qt/src/corelib/kernel/qcoreapplication.h:231
#36 0xb5b1cfbe in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x8054948) at /local/git/Qt/qt/src/corelib/kernel/qcoreapplication.cpp:1500
#37 0xb5b1cc7b in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /local/git/Qt/qt/src/corelib/kernel/qcoreapplication.cpp:1393
#38 0xb5b53700 in QCoreApplication::sendPostedEvents () at ../../include/QtCore/../../../../git/Qt/qt/src/corelib/kernel/qcoreapplication.h:236
#39 0xb5b5287e in postEventSourceDispatch (s=0x807a9e8) at /local/git/Qt/qt/src/corelib/kernel/qeventdispatcher_glib.cpp:279
#40 0xb1775e2f in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#41 0xb1776560 in ?? () from /usr/lib/libglib-2.0.so.0
#42 0xb17767fa in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#43 0xb5b53030 in QEventDispatcherGlib::processEvents (this=0x80735e0, flags=...) at /local/git/Qt/qt/src/corelib/kernel/qeventdispatcher_glib.cpp:424
#44 0xb62ae54a in QGuiEventDispatcherGlib::processEvents (this=0x80735e0, flags=...) at /local/git/Qt/qt/src/gui/kernel/qguieventdispatcher_glib.cpp:204
#45 0xb5b19b85 in QEventLoop::processEvents (this=0xbff5aa7c, flags=...) at /local/git/Qt/qt/src/corelib/kernel/qeventloop.cpp:149
#46 0xb5b19cf3 in QEventLoop::exec (this=0xbff5aa7c, flags=...) at /local/git/Qt/qt/src/corelib/kernel/qeventloop.cpp:204
#47 0xb5b1c73e in QCoreApplication::exec () at /local/git/Qt/qt/src/corelib/kernel/qcoreapplication.cpp:1148
#48 0xb61e3c60 in QApplication::exec () at /local/git/Qt/qt/src/gui/kernel/qapplication.cpp:3779
#49 0xb77483b1 in kdemain (argc=1, argv=0xbff5ac14) at /local/git/KDE/base/kde-workspace/krunner/main.cpp:66
#50 0x080487d9 in main (argc=1, argv=0xbff5ac14) at /local/build/KDE/base/kde-workspace/krunner/krunner_dummy.cpp:3

This bug may be a duplicate of or related to bug 282029.

Possible duplicates by query: bug 282029.

Reported using DrKonqi
Comment 1 Christoph Feck 2011-10-18 13:45:08 UTC
Git commit 190413deb022edfd2b9e731c0fd350441511920a by Christoph Feck.
Committed on 18/10/2011 at 15:41.
Pushed by cfeck into branch 'master'.

Fix painting on pixmap that already has a QPainter attached

The code should use QWidget::render() instead of redirecting, but
this simple move fixes the crash, hopefully also on Windows (where
native == raster).

BUG: 284360
CCBUG: 282029

M  +3    -2    krunner/interfaces/default/resultview.cpp

http://commits.kde.org/kde-workspace/190413deb022edfd2b9e731c0fd350441511920a
Comment 2 Christoph Feck 2011-11-29 11:44:53 UTC
*** Bug 280390 has been marked as a duplicate of this bug. ***