Application: kpat (3.6) Qt Version: 5.11.2 Frameworks Version: 5.52.0 Operating System: Linux 4.19.2-1-default x86_64 Distribution: "openSUSE Tumbleweed" -- Information about the crash: - What I was doing when the application crashed: playing kpat, select new game, choose grandfather. application crashes. when i restart the app i can choose grandfather and it works fine. has been happening for weeks. Kpat is not super stable altogether anyway. seems like the solver is broken in some way. The crash can be reproduced every time. -- Backtrace: Application: KPatience (kpat), signal: Segmentation fault Using host libthread_db library "/lib64/libthread_db.so.1". [Current thread is 1 (Thread 0x7f334c9f5940 (LWP 28224))] Thread 4 (Thread 0x7f3341c49700 (LWP 28229)): #0 0x00007f334f9e64dc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00007f33420f9f5b in ?? () from /usr/lib64/dri/i965_dri.so #2 0x00007f33420f9c87 in ?? () from /usr/lib64/dri/i965_dri.so #3 0x00007f334f9e0554 in start_thread () from /lib64/libpthread.so.0 #4 0x00007f33512d4ccf in clone () from /lib64/libc.so.6 Thread 3 (Thread 0x7f3343fff700 (LWP 28227)): #0 0x00007ffe346b7af4 in clock_gettime () #1 0x00007f33512e2876 in clock_gettime () from /lib64/libc.so.6 #2 0x00007f3351d82401 in qt_clock_gettime (ts=0x7f3343ffe970, clock=1) at kernel/qelapsedtimer_unix.cpp:175 #3 do_gettime (frac=<synthetic pointer>, sec=<synthetic pointer>) at kernel/qelapsedtimer_unix.cpp:166 #4 qt_gettime () at kernel/qelapsedtimer_unix.cpp:175 #5 0x00007f3351d80c39 in QTimerInfoList::updateCurrentTime (this=this@entry=0x7f333c004cf0) at kernel/qtimerinfo_unix.cpp:91 #6 0x00007f3351d81235 in QTimerInfoList::timerWait (this=0x7f333c004cf0, tm=...) at kernel/qtimerinfo_unix.cpp:388 #7 0x00007f3351d8285e in timerSourcePrepareHelper (timeout=0x7f3343ffea54, src=<optimized out>) at kernel/qeventdispatcher_glib.cpp:161 #8 timerSourcePrepare (source=<optimized out>, timeout=0x7f3343ffea54) at kernel/qeventdispatcher_glib.cpp:165 #9 0x00007f334eb23499 in g_main_context_prepare () from /usr/lib64/libglib-2.0.so.0 #10 0x00007f334eb23e7b in ?? () from /usr/lib64/libglib-2.0.so.0 #11 0x00007f334eb2406c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #12 0x00007f3351d82adb in QEventDispatcherGlib::processEvents (this=0x7f333c000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:424 #13 0x00007f3351d2fadb in QEventLoop::exec (this=this@entry=0x7f3343ffec30, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140 #14 0x00007f3351b7ede6 in QThread::exec (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120 #15 0x00007f334fe73545 in ?? () from /usr/lib64/libQt5DBus.so.5 #16 0x00007f3351b889b7 in QThreadPrivate::start (arg=0x7f334feedd60) at thread/qthread_unix.cpp:367 #17 0x00007f334f9e0554 in start_thread () from /lib64/libpthread.so.0 #18 0x00007f33512d4ccf in clone () from /lib64/libc.so.6 Thread 2 (Thread 0x7f3349d42700 (LWP 28226)): #0 0x00007f33512ca2c9 in poll () from /lib64/libc.so.6 #1 0x00007f334e0facc7 in ?? () from /usr/lib64/libxcb.so.1 #2 0x00007f334e0fc8ea in xcb_wait_for_event () from /usr/lib64/libxcb.so.1 #3 0x00007f334ad1d519 in QXcbEventReader::run (this=0x55d449091360) at qxcbconnection.h:409 #4 0x00007f3351b889b7 in QThreadPrivate::start (arg=0x55d449091360) at thread/qthread_unix.cpp:367 #5 0x00007f334f9e0554 in start_thread () from /lib64/libpthread.so.0 #6 0x00007f33512d4ccf in clone () from /lib64/libc.so.6 Thread 1 (Thread 0x7f334c9f5940 (LWP 28224)): [KCrash Handler] #6 MemoryManager::new_from_block (this=0x55d44965c810, s=72) at /usr/src/debug/kpat-18.08.3-1.1.x86_64/patsolve/memory.cpp:165 #7 0x000055d448446807 in Solver<22ul>::pack_position (this=this@entry=0x55d449be4a10) at /usr/include/c++/8/bits/unique_ptr.h:342 #8 0x000055d448446cbe in Solver<22ul>::insert (this=this@entry=0x55d449be4a10, cluster=cluster@entry=0x7ffe34672f5c, d=0, node=node@entry=0x7ffe34672f60) at /usr/include/c++/8/bits/unique_ptr.h:342 #9 0x000055d448446daa in Solver<22ul>::new_position (this=this@entry=0x55d449be4a10, parent=parent@entry=0x0, m=m@entry=0x7ffe34672fa0) at /usr/src/debug/kpat-18.08.3-1.1.x86_64/patsolve/patsolve.cpp:907 #10 0x000055d44844e4b6 in Solver<22ul>::doit (this=0x55d449be4a10) at /usr/include/bits/string_fortified.h:71 #11 0x000055d44844e547 in Solver<22ul>::patsolve (this=0x55d449be4a10, _max_positions=<optimized out>) at /usr/src/debug/kpat-18.08.3-1.1.x86_64/patsolve/patsolve.cpp:795 #12 0x000055d44841d4df in DealerScene::isGameLost (this=0x55d449c3d720) at /usr/src/debug/kpat-18.08.3-1.1.x86_64/dealer.cpp:1835 #13 0x000055d4484253db in DealerScene::takeState (this=0x55d449c3d720) at /usr/src/debug/kpat-18.08.3-1.1.x86_64/dealer.cpp:1328 #14 0x000055d44842884c in DealerScene::animationDone (this=0x55d449c3d720) at /usr/src/debug/kpat-18.08.3-1.1.x86_64/dealer.cpp:1544 #15 0x00007f3351d5a1a0 in QtPrivate::QSlotObjectBase::call (a=0x7ffe34673210, r=0x55d449c3d720, this=0x55d449bdb640) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:376 #16 QMetaObject::activate (sender=0x55d449c3d720, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3754 #17 0x00007f3351d5a1a0 in QtPrivate::QSlotObjectBase::call (a=0x7ffe34673300, r=0x55d449c3d720, this=0x55d4496474b0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:376 #18 QMetaObject::activate (sender=0x55d44930c3a0, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3754 #19 0x00007f3351d5a1a0 in QtPrivate::QSlotObjectBase::call (a=0x7ffe34673440, r=0x55d4496647b0, this=0x55d449568510) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:376 #20 QMetaObject::activate (sender=0x55d4496459c0, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3754 #21 0x00007f3351d65d87 in QTimer::timeout (this=<optimized out>, _t1=...) at .moc/moc_qtimer.cpp:200 #22 0x00007f3351d5a8bb in QObject::event (this=0x55d4496459c0, e=<optimized out>) at kernel/qobject.cpp:1232 #23 0x00007f335279d4a1 in QApplicationPrivate::notify_helper (this=this@entry=0x55d449071d10, receiver=receiver@entry=0x55d4496459c0, e=e@entry=0x7ffe34673710) at kernel/qapplication.cpp:3728 #24 0x00007f33527a4af0 in QApplication::notify (this=0x7ffe34673ae0, receiver=0x55d4496459c0, e=0x7ffe34673710) at kernel/qapplication.cpp:3487 #25 0x00007f3351d30e09 in QCoreApplication::notifyInternal2 (receiver=0x55d4496459c0, event=event@entry=0x7ffe34673710) at ../../include/QtCore/5.11.2/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:307 #26 0x00007f3351d81ed8 in QCoreApplication::sendEvent (event=0x7ffe34673710, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234 #27 QTimerInfoList::activateTimers (this=0x55d449111a80) at kernel/qtimerinfo_unix.cpp:643 #28 0x00007f3351d8276c in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:182 #29 idleTimerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:229 #30 0x00007f334eb23c15 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0 #31 0x00007f334eb23fd8 in ?? () from /usr/lib64/libglib-2.0.so.0 #32 0x00007f334eb2406c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #33 0x00007f3351d82ac3 in QEventDispatcherGlib::processEvents (this=0x55d4490e1260, flags=...) at kernel/qeventdispatcher_glib.cpp:422 #34 0x00007f334adb09d1 in QPAEventDispatcherGlib::processEvents (this=0x55d4490e1260, flags=...) at qeventdispatcher_glib.cpp:69 #35 0x00007f3351d2fadb in QEventLoop::exec (this=this@entry=0x7ffe34673990, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140 #36 0x00007f3351d37c52 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:120 #37 0x000055d4484194ce in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kpat-18.08.3-1.1.x86_64/main.cpp:337 [Inferior 1 (process 28224) detached] Reported using DrKonqi
Shlomi, Fabian more crashes in the solver/memory allocator stuff Can you please have a look? We did not have crashes, we got your changes in and now we do
I'll take another look at it this weekend at the latest, though my issue is that I couldn't reproduce any crash so far locally. I'll try running the program under sanitizers and valgrind again, maybe that catches an error.
(In reply to Fabian from comment #2) > I'll take another look at it this weekend at the latest, though my issue is > that I couldn't reproduce any crash so far locally. I'll try running the > program under sanitizers and valgrind again, maybe that catches an error. kpat master seems to work perfectly fine here as well (mageia v7 x86-64) when selecting grandfather clock. No crashes so far
(In reply to Shlomi Fish from comment #3) > (In reply to Fabian from comment #2) > > I'll take another look at it this weekend at the latest, though my issue is > > that I couldn't reproduce any crash so far locally. I'll try running the > > program under sanitizers and valgrind again, maybe that catches an error. > > kpat master seems to work perfectly fine here as well (mageia v7 x86-64) > when selecting grandfather clock. No crashes so far oh sorry - checked with grandfather (not clock) too now and it seems fine too.
note for reproducing issue: i have this happen on 2 separate laptops, both OpenSuse Tumbleweed, been going on for a couple of weeks. open kpat, select a game other than grandfather. I usually play Simple Simon or FreeCell. Play it. Then select new game, select grandfather. application will crash every time on both PCs. If you open again, select grandfather as the first game, it works fine. Let me know if you need any additional details Uli
Do you start the new game before or after completing the old one? And if you start it before the game is complete, is the solver in a certain state (still solvable, unsolvable, unknown)?
Fabian, interesting. I usually complete the game, then choose a different one. However, i just tested just starting kpat, starting simple simon, play a little, then switeh to grandfather without completing the game. Grandfather did not crash kpat that time. I do believe the crashes are solver related since since solver gets stuck at times for extended periods of time.
Thank you for the crash report. As it has been a while since this was reported, can you please test and confirm if this issue is still occurring or if this bug report can be marked as resolved. I have set the bug status to "needsinfo" pending your response, please change back to "reported" or "resolved/worksforme" when you respond, thank you.
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!
(In reply to Bug Janitor Service from comment #9) > 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!