Bug 442245

Summary: Random crashes in KPat
Product: [Applications] kpat Reporter: spikethehobbitmage
Component: generalAssignee: Stephan Kulow <coolo>
Status: RESOLVED DUPLICATE    
Severity: crash CC: kde-games-bugs
Priority: NOR Keywords: drkonqi
Version: unspecified   
Target Milestone: ---   
Platform: Debian stable   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description spikethehobbitmage 2021-09-10 01:31:56 UTC
Application: kpat (21.8.0)

Qt Version: 5.15.2
Frameworks Version: 5.85.0
Operating System: Linux 5.10.0-8-amd64 x86_64
Windowing System: X11
Drkonqi Version: 5.21.5
Distribution: Debian GNU/Linux bookworm/sid

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

This crash occurred when starting a new game after playing for a while. I don't know if it is related but I often get random display corruption where cards don't render properly.

The crash can be reproduced sometimes.

-- Backtrace:
Application: KPatience (kpat), signal: Segmentation fault

[KCrash Handler]
#4  0x00007f1a51057425 in KSharedDataCache::Private::lock() const (this=0x561e66cee2f0) at ./src/lib/caching/kshareddatacache.cpp:1195
#5  KSharedDataCache::Private::CacheLocker::cautiousLock() (this=this@entry=0x7ffd3fe54b60) at ./src/lib/caching/kshareddatacache.cpp:1219
#6  0x00007f1a5105300e in KSharedDataCache::Private::CacheLocker::CacheLocker(KSharedDataCache::Private const*) (_d=<optimized out>, this=0x7ffd3fe54b60) at ./src/lib/caching/kshareddatacache.cpp:1269
#7  KSharedDataCache::find(QString const&, QByteArray*) const (this=this@entry=0x561e66d3e030, key=..., destination=destination@entry=0x7ffd3fe54c30) at ./src/lib/caching/kshareddatacache.cpp:1550
#8  0x00007f1a51561624 in KSharedPixmapCacheMixin<KSharedDataCache>::findPixmap(QString const&, QPixmap*) const (destination=0x561e66e1a298, key=..., this=0x561e66d3e020) at /usr/include/KF5/KGuiAddons/kimagecache.h:138
#9  KAbstractCardDeckPrivate::requestPixmap(unsigned int, bool) (this=0x561e678bbdd0, id=<optimized out>, faceUp=<optimized out>) at ./src/libkcardgame/kabstractcarddeck.cpp:205
#10 0x00007f1a51561935 in KAbstractCardDeck::cardPixmap(unsigned int, bool) (this=<optimized out>, id=<optimized out>, faceUp=<optimized out>) at ./src/libkcardgame/kabstractcarddeck.cpp:516
#11 0x00007f1a5156383c in KCard::paint(QPainter*, QStyleOptionGraphicsItem const*, QWidget*) (this=0x561e6797a3f0, painter=0x7ffd3fe552a0, option=<optimized out>, widget=<optimized out>) at ./src/libkcardgame/kcard.cpp:319
#12 0x00007f1a50cbc99f in QGraphicsScenePrivate::draw(QGraphicsItem*, QPainter*, QTransform const*, QTransform const*, QRegion*, QWidget*, double, QTransform const*, bool, bool) (this=0x561e67a52360, item=<optimized out>, painter=0x7ffd3fe552a0, viewTransform=0x7ffd3fe552f0, transformPtr=<optimized out>, exposedRegion=0x561e66c2cfa0, widget=<optimized out>, opacity=<optimized out>, effectTransform=<optimized out>, wasDirtyParentSceneTransform=<optimized out>, drawItem=<optimized out>) at graphicsview/qgraphicsscene.cpp:4981
#13 0x00007f1a50cbd9c0 in QGraphicsScenePrivate::drawSubtreeRecursive(QGraphicsItem*, QPainter*, QTransform const*, QRegion*, QWidget*, double, QTransform const*) (this=this@entry=0x561e67a52360, item=0x561e6797a400, painter=painter@entry=0x7ffd3fe552a0, viewTransform=viewTransform@entry=0x7ffd3fe552f0, exposedRegion=exposedRegion@entry=0x561e66c2cfa0, widget=<optimized out>, widget@entry=0x561e67902940, parentOpacity=parentOpacity@entry=1, effectTransform=0x0) at graphicsview/qgraphicsscene.cpp:4873
#14 0x00007f1a50cbdfe2 in QGraphicsScenePrivate::drawItems(QPainter*, QTransform const*, QRegion*, QWidget*) (this=this@entry=0x561e67a52360, painter=painter@entry=0x7ffd3fe552a0, viewTransform=viewTransform@entry=0x7ffd3fe552f0, exposedRegion=exposedRegion@entry=0x561e66c2cfa0, widget=0x561e67902940) at graphicsview/qgraphicsscene.cpp:4735
#15 0x00007f1a50ce15b2 in QGraphicsView::paintEvent(QPaintEvent*) (this=<optimized out>, event=<optimized out>) at ../../include/QtWidgets/../../src/widgets/graphicsview/qgraphicsscene.h:307
#16 0x00007f1a509dafae in QWidget::event(QEvent*) (this=this@entry=0x561e670c6b00, event=event@entry=0x7ffd3fe55640) at kernel/qwidget.cpp:9019
#17 0x00007f1a50a832fe in QFrame::event(QEvent*) (this=0x561e670c6b00, e=0x7ffd3fe55640) at widgets/qframe.cpp:550
#18 0x00007f1a4fe85d33 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (event=<optimized out>, receiver=<optimized out>) at kernel/qcoreapplication.cpp:1189
#19 QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (receiver=receiver@entry=0x561e67902940, event=event@entry=0x7ffd3fe55640) at kernel/qcoreapplication.cpp:1178
#20 0x00007f1a5099b14e in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x561e67902940, e=0x7ffd3fe55640) at kernel/qapplication.cpp:3626
#21 0x00007f1a4fe85fca in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x561e67902940, event=0x7ffd3fe55640) at kernel/qcoreapplication.cpp:1063
#22 0x00007f1a509d3116 in QWidgetPrivate::sendPaintEvent(QRegion const&) (this=this@entry=0x561e66bb2e90, toBePainted=...) at kernel/qwidget.cpp:5467
#23 0x00007f1a509d3962 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=0x561e66bb2e90, pdev=0x561e67b2d830, rgn=..., offset=<optimized out>, flags=..., sharedPainter=<optimized out>, repaintManager=<optimized out>) at kernel/qwidget.cpp:5417
#24 0x00007f1a509d4cb3 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=this@entry=0x561e66c2cae0, pdev=pdev@entry=0x561e67b2d830, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x561e679eb030) at kernel/qwidget.cpp:5598
#25 0x00007f1a509d367c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=0x561e66c2cae0, pdev=0x561e67b2d830, rgn=..., offset=<optimized out>, flags=..., sharedPainter=<optimized out>, repaintManager=<optimized out>) at kernel/qwidget.cpp:5458
#26 0x00007f1a509d4cb3 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=0x561e66df3200, pdev=0x561e67b2d830, siblings=<optimized out>, index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x561e679eb030) at kernel/qwidget.cpp:5598
#27 0x00007f1a509d4ad2 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=0x561e66df3200, pdev=0x561e67b2d830, siblings=<optimized out>, index=9, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x561e679eb030) at kernel/qwidget.cpp:5584
#28 0x00007f1a509d4ad2 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=this@entry=0x561e66df3200, pdev=pdev@entry=0x561e67b2d830, siblings=..., index=17, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x561e679eb030) at kernel/qwidget.cpp:5584
#29 0x00007f1a509d367c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=this@entry=0x561e66df3200, pdev=0x561e67b2d830, rgn=..., offset=..., flags=..., flags@entry=..., sharedPainter=sharedPainter@entry=0x0, repaintManager=<optimized out>) at kernel/qwidget.cpp:5458
#30 0x00007f1a509ab86a in QWidgetRepaintManager::paintAndFlush() (this=<optimized out>) at kernel/qwidgetrepaintmanager.cpp:1009
#31 0x00007f1a509db6d7 in QWidget::event(QEvent*) (this=0x561e66bf0200, event=0x7f1a44008e00) at kernel/qwidget.cpp:8964
#32 0x00007f1a514e0b57 in KXmlGuiWindow::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libKF5XmlGui.so.5
#33 0x00007f1a5099b15f in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x561e66bf0200, e=0x7f1a44008e00) at kernel/qapplication.cpp:3632
#34 0x00007f1a4fe85fca in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x561e66bf0200, event=0x7f1a44008e00) at kernel/qcoreapplication.cpp:1063
#35 0x00007f1a4fe88a01 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x561e66bf0200, event_type=77, data=0x561e669fc300) at kernel/qcoreapplication.cpp:1817
#36 0x00007f1a50cad0c3 in QGraphicsViewPrivate::dispatchPendingUpdateRequests() (this=<optimized out>, this=<optimized out>) at ../../include/QtWidgets/5.15.2/QtWidgets/private/../../../../../src/widgets/graphicsview/qgraphicsview_p.h:191
#37 QGraphicsViewPrivate::dispatchPendingUpdateRequests() (this=0x561e66c2cae0) at ../../include/QtWidgets/5.15.2/QtWidgets/private/../../../../../src/widgets/graphicsview/qgraphicsview_p.h:186
#38 QGraphicsScenePrivate::_q_emitUpdated() (this=0x561e67a52360) at graphicsview/qgraphicsscene.cpp:383
#39 0x00007f1a4feb1ff1 in QObject::event(QEvent*) (this=0x561e66e70480, e=0x561e66fb08c0) at kernel/qobject.cpp:1314
#40 0x00007f1a5099b15f in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x561e66e70480, e=0x561e66fb08c0) at kernel/qapplication.cpp:3632
#41 0x00007f1a4fe85fca in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x561e66e70480, event=0x561e66fb08c0) at kernel/qcoreapplication.cpp:1063
#42 0x00007f1a4fe88a01 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x561e669fc300) at kernel/qcoreapplication.cpp:1817
#43 0x00007f1a4fedde93 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x561e66be1400) at kernel/qeventdispatcher_glib.cpp:277
#44 0x00007f1a4d9c385b in g_main_dispatch (context=0x7f1a44005000) at ../../../glib/gmain.c:3337
#45 g_main_context_dispatch (context=0x7f1a44005000) at ../../../glib/gmain.c:4055
#46 0x00007f1a4d9c3b08 in g_main_context_iterate (context=context@entry=0x7f1a44005000, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4131
#47 0x00007f1a4d9c3bbf in g_main_context_iteration (context=0x7f1a44005000, may_block=may_block@entry=1) at ../../../glib/gmain.c:4196
#48 0x00007f1a4fedd51f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x561e66ba0800, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#49 0x00007f1a4fe8498b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffd3fe568d0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#50 0x00007f1a4fe8cc00 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#51 0x0000561e64b854c6 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at ./src/main.cpp:352
[Inferior 1 (process 44249) detached]

Possible duplicates by query: bug 284821.

Reported using DrKonqi
Comment 1 Stephan Kulow 2023-02-27 07:41:57 UTC

*** This bug has been marked as a duplicate of bug 361426 ***