Bug 309773

Summary: Kpatience crashes after selecting a game of "Simple Simon"
Product: [Unmaintained] kdelibs Reporter: Erik <esteinma>
Component: kshareddatacacheAssignee: kdelibs bugs <kdelibs-bugs-null>
Status: RESOLVED WORKSFORME    
Severity: crash CC: coates, jamesthirteen13, kde-games-bugs-null, m.falko, mpyne
Priority: NOR    
Version First Reported In: 4.9.2   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi
New crash information added by DrKonqi

Description Erik 2012-11-08 21:32:11 UTC
Application: kpat (3.6)
KDE Platform Version: 4.9.2
Qt Version: 4.8.3
Operating System: Linux 3.5.0-18-generic x86_64
Distribution: Ubuntu 12.10

-- Information about the crash:
- What I was doing when the application crashed:
Nothing special. Just listening to music and browsing. Kpatience used to work fine.

-- Backtrace:
Application: KPatience (kpat), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f5d5653c780 (LWP 10672))]

Thread 3 (Thread 0x7f5d4e7e3700 (LWP 10673)):
#0  0x00007f5d5e0d8303 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f5d5a084d84 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f5d5a084ea4 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f5d5f800c16 in QEventDispatcherGlib::processEvents (this=0x7f5d480008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007f5d5f7d12bf in QEventLoop::processEvents (this=this@entry=0x7f5d4e7e2dd0, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f5d5f7d1548 in QEventLoop::exec (this=0x7f5d4e7e2dd0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f5d5f6d2b10 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#7  0x00007f5d5f7b19af in QInotifyFileSystemWatcherEngine::run (this=0x25f7290) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f5d5f6d5aec in QThreadPrivate::start (arg=0x25f7290) at thread/qthread_unix.cpp:338
#9  0x00007f5d5a94be9a in start_thread (arg=0x7f5d4e7e3700) at pthread_create.c:308
#10 0x00007f5d5e0e3cbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f5d4555a700 (LWP 10678)):
#0  0x00007f5d5e0d8303 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f5d4cfc0b6f in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#2  0x00007f5d4cfb20b5 in pa_mainloop_poll () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#3  0x00007f5d4cfb2719 in pa_mainloop_iterate () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#4  0x00007f5d4cfb27d0 in pa_mainloop_run () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#5  0x00007f5d4cfc0b1f in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#6  0x00007f5d4c194543 in ?? () from /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-2.1.so
#7  0x00007f5d5a94be9a in start_thread (arg=0x7f5d4555a700) at pthread_create.c:308
#8  0x00007f5d5e0e3cbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#9  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f5d5653c780 (LWP 10672)):
[KCrash Handler]
#6  __memcpy_sse2 () at ../sysdeps/x86_64/multiarch/../memcpy.S:273
#7  0x00007f5d5fd48cb4 in memcpy (__len=<optimized out>, __src=<optimized out>, __dest=<optimized out>) at /usr/include/x86_64-linux-gnu/bits/string3.h:52
#8  SharedMemory::defragment (this=this@entry=0x7f5d4d1d8000) at ../../kdecore/util/kshareddatacache.cpp:723
#9  0x00007f5d5fd49e48 in SharedMemory::removeUsedPages (this=0x7f5d4d1d8000, numberNeeded=11) at ../../kdecore/util/kshareddatacache.cpp:918
#10 0x00007f5d5fd470c6 in KSharedDataCache::insert (this=0x2d56180, key=..., data=...) at ../../kdecore/util/kshareddatacache.cpp:1576
#11 0x00007f5d60270eed in KImageCache::insertImage (this=0x2d56180, key=..., image=...) at ../../kdeui/util/kimagecache.cpp:103
#12 0x00007f5d60f965a0 in ?? () from /usr/lib/libkcardgame.so
#13 0x00007f5d60f966b0 in KAbstractCardDeck::cardPixmap(unsigned int, bool) () from /usr/lib/libkcardgame.so
#14 0x00007f5d60f98cc7 in KCard::paint(QPainter*, QStyleOptionGraphicsItem const*, QWidget*) () from /usr/lib/libkcardgame.so
#15 0x00007f5d5f171c05 in QGraphicsScenePrivate::draw (this=this@entry=0x2e5e380, item=item@entry=0x30f06c0, painter=painter@entry=0x7fff1b84eb80, viewTransform=viewTransform@entry=0x7fff1b84ed10, transformPtr=transformPtr@entry=0x7fff1b84e820, exposedRegion=exposedRegion@entry=0x25c46d8, widget=0x25ae260, opacity=opacity@entry=1, effectTransform=effectTransform@entry=0x0, wasDirtyParentSceneTransform=wasDirtyParentSceneTransform@entry=false, drawItem=true) at graphicsview/qgraphicsscene.cpp:4964
#16 0x00007f5d5f172985 in QGraphicsScenePrivate::drawSubtreeRecursive (this=this@entry=0x2e5e380, item=0x30f06c0, painter=painter@entry=0x7fff1b84eb80, viewTransform=viewTransform@entry=0x7fff1b84ed10, exposedRegion=exposedRegion@entry=0x25c46d8, widget=widget@entry=0x25ae260, parentOpacity=parentOpacity@entry=1, effectTransform=effectTransform@entry=0x0) at graphicsview/qgraphicsscene.cpp:4857
#17 0x00007f5d5f17345e in QGraphicsScenePrivate::drawItems (this=0x2e5e380, painter=0x7fff1b84eb80, viewTransform=0x7fff1b84ed10, exposedRegion=0x25c46d8, widget=0x25ae260) at graphicsview/qgraphicsscene.cpp:4739
#18 0x00007f5d5f18f828 in QGraphicsView::paintEvent (this=0x25c41f0, event=<optimized out>) at graphicsview/qgraphicsview.cpp:3471
#19 0x00007f5d5ebc9802 in QWidget::event (this=0x25c41f0, event=0x7fff1b84f7d0) at kernel/qwidget.cpp:8517
#20 0x00007f5d5ef78b66 in QFrame::event (this=0x25c41f0, e=0x7fff1b84f7d0) at widgets/qframe.cpp:557
#21 0x00007f5d5f19095b in QGraphicsView::viewportEvent (this=0x25c41f0, event=0x7fff1b84f7d0) at graphicsview/qgraphicsview.cpp:2866
#22 0x00007f5d5f7d26d6 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<optimized out>, receiver=0x25ae260, event=0x7fff1b84f7d0) at kernel/qcoreapplication.cpp:1025
#23 0x00007f5d5eb79e6c in QApplicationPrivate::notify_helper (this=this@entry=0x2447e30, receiver=receiver@entry=0x25ae260, e=e@entry=0x7fff1b84f7d0) at kernel/qapplication.cpp:4558
#24 0x00007f5d5eb7e30a in QApplication::notify (this=0x7fff1b8519b0, receiver=0x25ae260, e=0x7fff1b84f7d0) at kernel/qapplication.cpp:4423
#25 0x00007f5d602101d6 in KApplication::notify (this=0x7fff1b8519b0, receiver=0x25ae260, event=0x7fff1b84f7d0) at ../../kdeui/kernel/kapplication.cpp:311
#26 0x00007f5d5f7d256e in QCoreApplication::notifyInternal (this=0x7fff1b8519b0, receiver=0x25ae260, event=0x7fff1b84f7d0) at kernel/qcoreapplication.cpp:915
#27 0x00007f5d5ebc5524 in sendSpontaneousEvent (event=0x7fff1b84f7d0, receiver=0x25ae260) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234
#28 QWidgetPrivate::drawWidget (this=this@entry=0x25ae290, pdev=pdev@entry=0x27b1db0, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0x259f6f0) at kernel/qwidget.cpp:5594
#29 0x00007f5d5ebc601f in QWidgetPrivate::paintSiblingsRecursive (this=0x25c4250, pdev=0x27b1db0, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x259f6f0) at kernel/qwidget.cpp:5803
#30 0x00007f5d5ebc50b5 in QWidgetPrivate::drawWidget (this=this@entry=0x25c4250, pdev=pdev@entry=0x27b1db0, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0x259f6f0) at kernel/qwidget.cpp:5647
#31 0x00007f5d5ebc601f in QWidgetPrivate::paintSiblingsRecursive (this=this@entry=0x25c1780, pdev=pdev@entry=0x27b1db0, siblings=..., index=<optimized out>, index@entry=18, rgn=..., offset=..., flags=flags@entry=4, sharedPainter=sharedPainter@entry=0x0, backingStore=backingStore@entry=0x259f6f0) at kernel/qwidget.cpp:5803
#32 0x00007f5d5ebc5e64 in QWidgetPrivate::paintSiblingsRecursive (this=0x25c1780, pdev=0x27b1db0, siblings=..., index=18, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x259f6f0) at kernel/qwidget.cpp:5790
#33 0x00007f5d5ebc50b5 in QWidgetPrivate::drawWidget (this=0x25c1780, pdev=0x27b1db0, rgn=..., offset=..., flags=<optimized out>, sharedPainter=0x0, backingStore=0x259f6f0) at kernel/qwidget.cpp:5647
#34 0x00007f5d5ed93958 in QWidgetBackingStore::sync (this=0x259f6f0) at painting/qbackingstore.cpp:1373
#35 0x00007f5d5ebba7f0 in QWidgetPrivate::syncBackingStore (this=this@entry=0x25c1780) at kernel/qwidget.cpp:1892
#36 0x00007f5d5ebc9e4c in QWidget::event (this=0x25c1630, event=0x30ff7a0) at kernel/qwidget.cpp:8664
#37 0x00007f5d5ef921cb in QMainWindow::event (this=0x25c1630, event=0x30ff7a0) at widgets/qmainwindow.cpp:1478
#38 0x00007f5d60301778 in KXmlGuiWindow::event (this=0x25c1630, ev=0x30ff7a0) at ../../kdeui/xmlgui/kxmlguiwindow.cpp:126
#39 0x00007f5d5eb79e9c in QApplicationPrivate::notify_helper (this=this@entry=0x2447e30, receiver=receiver@entry=0x25c1630, e=e@entry=0x30ff7a0) at kernel/qapplication.cpp:4562
#40 0x00007f5d5eb7e30a in QApplication::notify (this=0x7fff1b8519b0, receiver=0x25c1630, e=0x30ff7a0) at kernel/qapplication.cpp:4423
#41 0x00007f5d602101d6 in KApplication::notify (this=0x7fff1b8519b0, receiver=0x25c1630, event=0x30ff7a0) at ../../kdeui/kernel/kapplication.cpp:311
#42 0x00007f5d5f7d256e in QCoreApplication::notifyInternal (this=0x7fff1b8519b0, receiver=receiver@entry=0x25c1630, event=event@entry=0x30ff7a0) at kernel/qcoreapplication.cpp:915
#43 0x00007f5d5f7d63f1 in sendEvent (event=0x30ff7a0, receiver=0x25c1630) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#44 QCoreApplicationPrivate::sendPostedEvents (receiver=0x25c1630, event_type=77, data=0x240aff0) at kernel/qcoreapplication.cpp:1539
#45 0x00007f5d5f16c392 in dispatchPendingUpdateRequests (this=0x25c4250) at ../../include/QtGui/private/../../../src/gui/graphicsview/qgraphicsview_p.h:200
#46 QGraphicsScenePrivate::_q_processDirtyItems (this=0x2e5e380) at graphicsview/qgraphicsscene.cpp:515
#47 0x00007f5d5f16c549 in qt_static_metacall (_a=<optimized out>, _id=<optimized out>, _o=<optimized out>, _c=<optimized out>) at .moc/release-shared/moc_qgraphicsscene.cpp:107
#48 QGraphicsScene::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at .moc/release-shared/moc_qgraphicsscene.cpp:86
#49 0x00007f5d5f7e743e in QObject::event (this=0x2e5d0a0, e=<optimized out>) at kernel/qobject.cpp:1195
#50 0x00007f5d5f176f54 in QGraphicsScene::event (this=0x2e5d0a0, event=0x3119a70) at graphicsview/qgraphicsscene.cpp:3565
#51 0x00007f5d5eb79e9c in QApplicationPrivate::notify_helper (this=this@entry=0x2447e30, receiver=receiver@entry=0x2e5d0a0, e=e@entry=0x3119a70) at kernel/qapplication.cpp:4562
#52 0x00007f5d5eb7e30a in QApplication::notify (this=0x7fff1b8519b0, receiver=0x2e5d0a0, e=0x3119a70) at kernel/qapplication.cpp:4423
#53 0x00007f5d602101d6 in KApplication::notify (this=0x7fff1b8519b0, receiver=0x2e5d0a0, event=0x3119a70) at ../../kdeui/kernel/kapplication.cpp:311
#54 0x00007f5d5f7d256e in QCoreApplication::notifyInternal (this=0x7fff1b8519b0, receiver=receiver@entry=0x2e5d0a0, event=event@entry=0x3119a70) at kernel/qcoreapplication.cpp:915
#55 0x00007f5d5f7d63f1 in sendEvent (event=0x3119a70, receiver=0x2e5d0a0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#56 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x240aff0) at kernel/qcoreapplication.cpp:1539
#57 0x00007f5d5f800a63 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#58 postEventSourceDispatch (s=0x2462a50) at kernel/qeventdispatcher_glib.cpp:279
#59 0x00007f5d5a084ab5 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#60 0x00007f5d5a084de8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#61 0x00007f5d5a084ea4 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#62 0x00007f5d5f800bf6 in QEventDispatcherGlib::processEvents (this=0x240c4b0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#63 0x00007f5d5ec1ec1e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#64 0x00007f5d5f7d12bf in QEventLoop::processEvents (this=this@entry=0x7fff1b851720, flags=...) at kernel/qeventloop.cpp:149
#65 0x00007f5d5f7d1548 in QEventLoop::exec (this=0x7fff1b851720, flags=...) at kernel/qeventloop.cpp:204
#66 0x00007f5d5f7d6708 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187
#67 0x000000000041827a in ?? ()
#68 0x00007f5d5e01176d in __libc_start_main (main=0x4168e0, argc=3, ubp_av=0x7fff1b851b68, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff1b851b58) at libc-start.c:226
#69 0x0000000000418ac9 in _start ()

Reported using DrKonqi
Comment 1 Heinrich 2013-08-05 17:28:43 UTC
Created attachment 81565 [details]
New crash information added by DrKonqi

kpat (3.6) on KDE Platform 4.10.5 "release 1" using Qt 4.8.4

- What I was doing when the application crashed:
Cementine and Youtube Bbrowser (Mplayer) were running when Kpat was opened.

-- Backtrace (Reduced):
#7  0xb6eb0ca6 in memcpy (__len=<optimized out>, __src=<optimized out>, __dest=<optimized out>) at /usr/include/bits/string3.h:51
#8  SharedMemory::defragment (this=this@entry=0xb1e00000) at /usr/src/debug/kdelibs-4.10.5/kdecore/util/kshareddatacache.cpp:723
#9  0xb6eae5ad in KSharedDataCache::insert (this=0x9187888, key=..., data=...) at /usr/src/debug/kdelibs-4.10.5/kdecore/util/kshareddatacache.cpp:1567
#10 0xb71baf7e in KImageCache::insertImage (this=0x9187888, key=..., image=...) at /usr/src/debug/kdelibs-4.10.5/kdeui/util/kimagecache.cpp:103
#11 0xb771203a in KAbstractCardDeckPrivate::requestPixmap (this=0x91e35e8, id=id@entry=4325892, faceUp=faceUp@entry=true) at /usr/src/debug/kpat-4.10.5/libkcardgame/kabstractcarddeck.cpp:211
Comment 2 Michael Pyne 2013-08-15 03:25:38 UTC
I'm working on adding even more bug checks, specifically pushing the boundary checks for shared memory usage into the internal functions themselves, instead of relying on initial boundary checks and then hoping the data stays consistent until the lock is dropped again.

Until that time, however, a "quick fix" might be to remove the existing cache files for KPat and allow them to be regenerated.

This can be done by running the command "rm $(kde4-config --path cache)/kgamerenderer-kpat-themes/*.kcache" in a terminal (such as konsole). This uses the 'rm' command to remove the cache files.
Comment 3 JAMES 2013-12-12 17:38:20 UTC
Created attachment 84062 [details]
New crash information added by DrKonqi

kpat (3.6) on KDE Platform 4.8.5 (4.8.5) using Qt 4.8.1

- What I was doing when the application crashed: Selected the game "Simple Simon" and found that the bug has already been reported.

-- Backtrace (Reduced):
#6  __memcpy_sse2 () at ../sysdeps/x86_64/multiarch/../memcpy.S:273
#7  0x00007f13ba16b5e1 in page (at=<optimized out>, this=0x7f139167a000) at /usr/include/x86_64-linux-gnu/bits/string3.h:52
#8  page (at=<optimized out>, this=0x7f139167a000) at ../../kdecore/util/kshareddatacache.cpp:567
#9  SharedMemory::defragment (this=0x7f139167a000) at ../../kdecore/util/kshareddatacache.cpp:717
#10 0x00007f13ba171c45 in SharedMemory::removeUsedPages (this=0x7f139167a000, numberNeeded=11) at ../../kdecore/util/kshareddatacache.cpp:918
Comment 4 Andrew Crouthamel 2018-10-31 03:58:27 UTC
Dear Bug Submitter,

This bug has been stagnant for a long time. Could you help us out and re-test if the bug is valid in the latest version? I am setting the status to NEEDSINFO pending your response, please change the Status back to REPORTED when you respond.

Thank you for helping us make KDE software even better for everyone!
Comment 5 Bug Janitor Service 2018-11-15 10:39:21 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 6 Erik 2018-11-15 21:19:57 UTC
I'm not sure what to do with this old bug report. I don't  have the same setup as 6 years ago so it's impossible to create the same circumstances. Still have KPatience installed (on Ubuntu MATE) but selecting a game of Simple Simon seems to work fine. Version of kpat is still the same (3.6) but Qt is at 5.9.5 now. So I'll mark it as resolved and worksforme.