Bug 363826 - Crash in KSharedDataCache in KPat
Summary: Crash in KSharedDataCache in KPat
Status: RESOLVED WORKSFORME
Alias: None
Product: kpat
Classification: Applications
Component: general (show other bugs)
Version: 3.6
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Stephan Kulow
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2016-06-02 03:26 UTC by Matthew Dawson
Modified: 2018-12-02 03:48 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 Matthew Dawson 2016-06-02 03:26:39 UTC
Application: kpat (3.6)
 (Compiled from sources)
Qt Version: 5.6.0
Frameworks Version: 5.22.0
Operating System: Linux 4.6.0-gentoo x86_64
Distribution: "Gentoo Base System release 2.2"

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

I was loading a game of patience, when KPat randomly crashed.  Every so often it will do this when loading a game (the type of game doesn't seem to matter).

I looked at the result of the comparision in gdb and the memory appared to be present and I could read the data, so I don't know why it crashed.  It did crash reading from a register, but I don't know how to recover the value in gdb after KCrash's signal handler has run.  Any hints regarding that would be appreciated to help track it down.

May be related to bug #361426, which also crashed around where I did, except it actually tried locking the lock.

The crash can be reproduced sometimes.

-- Backtrace:
Application: KPatience (kpat), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
185	62:	movl	(%rsp), %edi
[Current thread is 1 (Thread 0x7f2609331880 (LWP 28538))]

Thread 6 (Thread 0x7f25f2df0700 (LWP 28543)):
#0  0x00007f260534342d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f25fdd4ebba in poll (__timeout=-1, __nfds=1, __fds=0x7f25f2defbf0) at /usr/include/bits/poll2.h:46
#2  _xcb_conn_wait (c=c@entry=0x24da680, cond=cond@entry=0x24da6c0, vector=vector@entry=0x0, count=count@entry=0x0) at /usr/src/debug/x11-libs/libxcb-1.11.1/libxcb-1.11.1/src/xcb_conn.c:459
#3  0x00007f25fdd51091 in xcb_wait_for_event (c=0x24da680) at /usr/src/debug/x11-libs/libxcb-1.11.1/libxcb-1.11.1/src/xcb_in.c:693
#4  0x00007f25f451c289 in QXcbEventReader::run (this=0x24da080) at qxcbconnection.cpp:1313
#5  0x00007f2605daca4d in QThreadPrivate::start (arg=0x24da080) at thread/qthread_unix.cpp:340
#6  0x00007f2600b51652 in start_thread (arg=0x7f25f2df0700) at pthread_create.c:334
#7  0x00007f260534cc8d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7f25f1672700 (LWP 28545)):
#0  0x00007f260534342d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f26003d62fd in g_main_context_poll (priority=2147483647, n_fds=1, fds=0x7f25e4003020, timeout=<optimized out>, context=0x7f25e4000990) at /usr/src/debug/dev-libs/glib-2.46.2-r3/glib-2.46.2/glib/gmain.c:4135
#2  g_main_context_iterate (context=context@entry=0x7f25e4000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /usr/src/debug/dev-libs/glib-2.46.2-r3/glib-2.46.2/glib/gmain.c:3835
#3  0x00007f26003d6433 in g_main_context_iteration (context=0x7f25e4000990, may_block=may_block@entry=1) at /usr/src/debug/dev-libs/glib-2.46.2-r3/glib-2.46.2/glib/gmain.c:3901
#4  0x00007f2605ff1dab in QEventDispatcherGlib::processEvents (this=0x7f25e40008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:419
#5  0x00007f2605f9631b in QEventLoop::exec (this=this@entry=0x7f25f1671cf0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007f2605da7885 in QThread::exec (this=this@entry=0x7f2602712e40 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread.cpp:503
#7  0x00007f2602692bf6 in QDBusConnectionManager::run (this=0x7f2602712e40 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:181
#8  0x00007f2605daca4d in QThreadPrivate::start (arg=0x7f2602712e40 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:340
#9  0x00007f2600b51652 in start_thread (arg=0x7f25f1672700) at pthread_create.c:334
#10 0x00007f260534cc8d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7f25d6e1a700 (LWP 28562)):
#0  pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f25eb99546b in cnd_wait (mtx=0x27627b0, cond=0x27627d8) at /usr/src/debug/media-libs/mesa-11.2.2/mesa-11.2.2/include/c11/threads_posix.h:159
#2  pipe_semaphore_wait (sema=0x27627b0) at /usr/src/debug/media-libs/mesa-11.2.2/mesa-11.2.2/src/gallium/auxiliary/os/os_thread.h:259
#3  radeon_drm_cs_emit_ioctl (param=param@entry=0x2762380) at /usr/src/debug/media-libs/mesa-11.2.2/mesa-11.2.2/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c:688
#4  0x00007f25eb995018 in impl_thrd_routine (p=<optimized out>) at /usr/src/debug/media-libs/mesa-11.2.2/mesa-11.2.2/include/c11/threads_posix.h:87
#5  0x00007f2600b51652 in start_thread (arg=0x7f25d6e1a700) at pthread_create.c:334
#6  0x00007f260534cc8d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7f25d3fbc700 (LWP 28564)):
#0  pthread_cond_timedwait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
#1  0x00007f2605dad82b in QWaitConditionPrivate::wait_relative (time=30000, this=0x2691870) at thread/qwaitcondition_unix.cpp:126
#2  QWaitConditionPrivate::wait (time=30000, this=0x2691870) at thread/qwaitcondition_unix.cpp:134
#3  QWaitCondition::wait (this=this@entry=0x26c3650, mutex=mutex@entry=0x25f8970, time=30000) at thread/qwaitcondition_unix.cpp:208
#4  0x00007f2605da8e80 in QThreadPoolThread::run (this=0x26c3640) at thread/qthreadpool.cpp:127
#5  0x00007f2605daca4d in QThreadPrivate::start (arg=0x26c3640) at thread/qthread_unix.cpp:340
#6  0x00007f2600b51652 in start_thread (arg=0x7f25d3fbc700) at pthread_create.c:334
#7  0x00007f260534cc8d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7f25d0ac8700 (LWP 28750)):
[KCrash Handler]
#6  0x00007f26071bbc96 in KSharedDataCache::Private::lock (this=0x277ed60) at /usr/src/debug/kde-frameworks/kcoreaddons-5.22.0/kcoreaddons-5.22.0/src/lib/caching/kshareddatacache.cpp:1215
#7  KSharedDataCache::Private::CacheLocker::cautiousLock (this=<optimized out>) at /usr/src/debug/kde-frameworks/kcoreaddons-5.22.0/kcoreaddons-5.22.0/src/lib/caching/kshareddatacache.cpp:1239
#8  KSharedDataCache::Private::CacheLocker::CacheLocker (this=0x7f25d0ac7b50, _d=<optimized out>) at /usr/src/debug/kde-frameworks/kcoreaddons-5.22.0/kcoreaddons-5.22.0/src/lib/caching/kshareddatacache.cpp:1289
#9  0x00007f26071b2864 in KSharedDataCache::insert (this=this@entry=0x2679560, key=..., data=...) at /usr/src/debug/kde-frameworks/kcoreaddons-5.22.0/kcoreaddons-5.22.0/src/lib/caching/kshareddatacache.cpp:1424
#10 0x00007f26089c3a29 in KSharedPixmapCacheMixin<KSharedDataCache>::insertImage (image=..., key=..., this=<optimized out>) at /usr/include/KF5/KGuiAddons/kimagecache.h:128
#11 RenderingThread::run (this=0x280b500) at /usr/src/debug/kde-apps/kpat-16.04.1/kpat-16.04.1/libkcardgame/kabstractcarddeck.cpp:92
#12 0x00007f2605daca4d in QThreadPrivate::start (arg=0x280b500) at thread/qthread_unix.cpp:340
#13 0x00007f2600b51652 in start_thread (arg=0x7f25d0ac8700) at pthread_create.c:334
#14 0x00007f260534cc8d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f2609331880 (LWP 28538)):
#0  pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f25fdd4ee39 in _xcb_conn_wait (c=c@entry=0x24da680, cond=cond@entry=0x7ffc134c8ac0, vector=vector@entry=0x0, count=count@entry=0x0) at /usr/src/debug/x11-libs/libxcb-1.11.1/libxcb-1.11.1/src/xcb_conn.c:427
#2  0x00007f25fdd5091d in wait_for_reply (c=c@entry=0x24da680, request=761, e=e@entry=0x0) at /usr/src/debug/x11-libs/libxcb-1.11.1/libxcb-1.11.1/src/xcb_in.c:516
#3  0x00007f25fdd50ae1 in xcb_wait_for_reply (c=0x24da680, request=761, e=e@entry=0x0) at /usr/src/debug/x11-libs/libxcb-1.11.1/libxcb-1.11.1/src/xcb_in.c:546
#4  0x00007f25fdd587aa in xcb_get_input_focus_reply (c=<optimized out>, cookie=..., e=e@entry=0x0) at xproto.c:4194
#5  0x00007f25f451e282 in QXcbConnection::sync (this=0x24d81c0) at qxcbconnection.cpp:2038
#6  0x00007f25f454022d in QXcbShmImage::preparePaint (region=..., this=0x256f7f0) at qxcbbackingstore.cpp:296
#7  QXcbBackingStore::beginPaint (this=this@entry=0x272d930, region=...) at qxcbbackingstore.cpp:330
#8  0x00007f260649e75b in QBackingStore::beginPaint (this=this@entry=0x272b530, region=...) at painting/qbackingstore.cpp:167
#9  0x00007f260692aa8c in QWidgetBackingStore::beginPaint (toCleanIsInTopLevelCoordinates=true, returnInfo=<synthetic pointer>, backingStore=0x272b530, widget=<optimized out>, toClean=..., this=0x268a6e0) at kernel/qwidgetbackingstore.cpp:309
#10 QWidgetBackingStore::doSync (this=this@entry=0x268a6e0) at kernel/qwidgetbackingstore.cpp:1314
#11 0x00007f260692b0d6 in QWidgetBackingStore::sync (this=0x268a6e0) at kernel/qwidgetbackingstore.cpp:1145
#12 0x00007f2606951293 in QWidgetPrivate::syncBackingStore (this=0x25b8270) at kernel/qwidget.cpp:1936
#13 0x00007f260696b930 in QWidget::event (this=this@entry=0x25ba520, event=event@entry=0x28caef0) at kernel/qwidget.cpp:9048
#14 0x00007f2606aa9feb in QMainWindow::event (this=this@entry=0x25ba520, event=event@entry=0x28caef0) at widgets/qmainwindow.cpp:1543
#15 0x00007f260851067e in KMainWindow::event (this=this@entry=0x25ba520, ev=ev@entry=0x28caef0) at /usr/src/debug/kde-frameworks/kxmlgui-5.22.0/kxmlgui-5.22.0/src/kmainwindow.cpp:867
#16 0x00007f26085620c9 in KXmlGuiWindow::event (this=0x25ba520, ev=0x28caef0) at /usr/src/debug/kde-frameworks/kxmlgui-5.22.0/kxmlgui-5.22.0/src/kxmlguiwindow.cpp:118
#17 0x00007f260691887c in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x25ba520, e=0x28caef0) at kernel/qapplication.cpp:3714
#18 0x00007f2606920811 in QApplication::notify (this=0x7ffc134c9d80, receiver=0x25ba520, e=0x28caef0) at kernel/qapplication.cpp:3495
#19 0x00007f2605f98750 in QCoreApplication::notifyInternal2 (receiver=0x25ba520, event=event@entry=0x28caef0) at kernel/qcoreapplication.cpp:1015
#20 0x00007f2605f9a800 in QCoreApplication::sendEvent (event=0x28caef0, receiver=<optimized out>) at kernel/qcoreapplication.h:227
#21 QCoreApplicationPrivate::sendPostedEvents (receiver=0x25ba520, event_type=77, event_type@entry=0, data=0x24cdab0) at kernel/qcoreapplication.cpp:1650
#22 0x00007f2605f9ad4d in QCoreApplication::sendPostedEvents (receiver=<optimized out>, event_type=0, event_type@entry=77) at kernel/qcoreapplication.cpp:1508
#23 0x00007f2606cbb63a in QGraphicsViewPrivate::dispatchPendingUpdateRequests (this=<optimized out>) at ../../src/widgets/graphicsview/qgraphicsview_p.h:196
#24 QGraphicsScenePrivate::_q_processDirtyItems (this=0x2787350) at graphicsview/qgraphicsscene.cpp:501
#25 0x00007f2606cc1dd1 in QGraphicsScene::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at .moc/moc_qgraphicsscene.cpp:182
#26 0x00007f2605fc8d27 in QObject::event (this=this@entry=0x278b500, e=e@entry=0x267e480) at kernel/qobject.cpp:1256
#27 0x00007f2606cd075b in QGraphicsScene::event (this=0x278b500, event=0x267e480) at graphicsview/qgraphicsscene.cpp:3501
#28 0x00007f260691887c in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x278b500, e=0x267e480) at kernel/qapplication.cpp:3714
#29 0x00007f2606920811 in QApplication::notify (this=0x7ffc134c9d80, receiver=0x278b500, e=0x267e480) at kernel/qapplication.cpp:3495
#30 0x00007f2605f98750 in QCoreApplication::notifyInternal2 (receiver=0x278b500, event=event@entry=0x267e480) at kernel/qcoreapplication.cpp:1015
#31 0x00007f2605f9a800 in QCoreApplication::sendEvent (event=0x267e480, receiver=<optimized out>) at kernel/qcoreapplication.h:227
#32 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x24cdab0) at kernel/qcoreapplication.cpp:1650
#33 0x00007f2605f9ad4d in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1508
#34 0x00007f2605ff18fb in postEventSourceDispatch (s=0x25294b0) at kernel/qeventdispatcher_glib.cpp:270
#35 0x00007f26003d60d1 in g_main_dispatch (context=0x7f25ec0016f0) at /usr/src/debug/dev-libs/glib-2.46.2-r3/glib-2.46.2/glib/gmain.c:3154
#36 g_main_context_dispatch (context=context@entry=0x7f25ec0016f0) at /usr/src/debug/dev-libs/glib-2.46.2-r3/glib-2.46.2/glib/gmain.c:3769
#37 0x00007f26003d6365 in g_main_context_iterate (context=context@entry=0x7f25ec0016f0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /usr/src/debug/dev-libs/glib-2.46.2-r3/glib-2.46.2/glib/gmain.c:3840
#38 0x00007f26003d6433 in g_main_context_iteration (context=0x7f25ec0016f0, may_block=may_block@entry=1) at /usr/src/debug/dev-libs/glib-2.46.2-r3/glib-2.46.2/glib/gmain.c:3901
#39 0x00007f2605ff1d81 in QEventDispatcherGlib::processEvents (this=0x2531ef0, flags=...) at kernel/qeventdispatcher_glib.cpp:417
#40 0x00007f2605f9631b in QEventLoop::exec (this=this@entry=0x7ffc134c9be0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#41 0x00007f2605f9f097 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1285
#42 0x00007f26062d8659 in QGuiApplication::exec () at kernel/qguiapplication.cpp:1598
#43 0x00007f26069187ca in QApplication::exec () at kernel/qapplication.cpp:2973
#44 0x000000000042fce4 in main (argc=1, argv=<optimized out>) at /usr/src/debug/kde-apps/kpat-16.04.1/kpat-16.04.1/main.cpp:339

Reported using DrKonqi
Comment 1 Andrew Crouthamel 2018-11-01 13:52:44 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 2 Bug Janitor Service 2018-11-16 11:42:07 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 3 Bug Janitor Service 2018-12-02 03:48:05 UTC
This bug has been in NEEDSINFO status with no change for at least
30 days. The bug is now 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

Thank you for helping us make KDE software even better for everyone!