Application: kpat (3.6) Qt Version: 5.11.1 Frameworks Version: 5.49.0 Operating System: Linux 4.15.0-32-generic x86_64 Distribution: KDE neon User Edition 5.13 -- Information about the crash: The following events led to the crash: 1. Won a game of Freecell in kpat. 2. Clicked the "New Game" button and chose to start a game of Spider. Result: kpat crashed right after I clicked the tile for the Spider game. I haven't tried to repro this yet. -- 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 0x7f93c7db48c0 (LWP 4526))] Thread 4 (Thread 0x7f939efb7700 (LWP 4530)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185 #1 0x00007f93a8e7670b in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so #2 0x00007f93a8e76427 in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so #3 0x00007f93beff76ba in start_thread (arg=0x7f939efb7700) at pthread_create.c:333 #4 0x00007f93c346f41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 3 (Thread 0x7f939ff37700 (LWP 4529)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185 #1 0x00007f93a8e7670b in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so #2 0x00007f93a8e76427 in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so #3 0x00007f93beff76ba in start_thread (arg=0x7f939ff37700) at pthread_create.c:333 #4 0x00007f93c346f41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 2 (Thread 0x7f93ab087700 (LWP 4528)): #0 0x00007f93bd5fea94 in g_mutex_unlock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #1 0x00007f93bd5b938e in g_main_context_acquire () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007f93bd5ba245 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007f93bd5ba49c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #4 0x00007f93c40970bb in QEventDispatcherGlib::processEvents (this=0x7f93a40008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425 #5 0x00007f93c403e5ba in QEventLoop::exec (this=this@entry=0x7f93ab086cc0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:214 #6 0x00007f93c3e735e4 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:525 #7 0x00007f93bfd45f35 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5 #8 0x00007f93c3e7e727 in QThreadPrivate::start (arg=0x7f93bffbed60) at thread/qthread_unix.cpp:367 #9 0x00007f93beff76ba in start_thread (arg=0x7f93ab087700) at pthread_create.c:333 #10 0x00007f93c346f41d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 1 (Thread 0x7f93c7db48c0 (LWP 4526)): [KCrash Handler] #6 MemoryManager::new_from_block (this=0xdc0300, s=56) at /workspace/build/patsolve/memory.cpp:165 #7 0x000000000044fc77 in Solver<15ul>::pack_position (this=this@entry=0xe5fed0) at /workspace/build/patsolve/patsolve.cpp:219 #8 0x00000000004500fe in Solver<15ul>::insert (this=this@entry=0xe5fed0, cluster=cluster@entry=0x7ffdf86b497c, d=0, node=node@entry=0x7ffdf86b4980) at /workspace/build/patsolve/patsolve.cpp:890 #9 0x00000000004501c8 in Solver<15ul>::new_position (this=this@entry=0xe5fed0, parent=parent@entry=0x0, m=m@entry=0x7ffdf86b49c0) at /workspace/build/patsolve/patsolve.cpp:922 #10 0x0000000000454f1e in Solver<15ul>::doit (this=0xe5fed0) at /workspace/build/patsolve/patsolve.cpp:508 #11 0x0000000000454fb7 in Solver<15ul>::patsolve (this=0xe5fed0, _max_positions=<optimized out>) at /workspace/build/patsolve/patsolve.cpp:803 #12 0x000000000042240e in DealerScene::isGameLost (this=0xc8c0f0) at /workspace/build/dealer.cpp:1737 #13 0x000000000042ab30 in DealerScene::takeState (this=this@entry=0xc8c0f0) at /workspace/build/dealer.cpp:1328 #14 0x000000000042e5f4 in DealerScene::animationDone (this=0xc8c0f0) at /workspace/build/dealer.cpp:1544 #15 0x00007f93c406d2a6 in QtPrivate::QSlotObjectBase::call (a=0x7ffdf86b4c70, r=0xc8c0f0, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:376 #16 QMetaObject::activate (sender=0xc8c0f0, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3754 #17 0x00007f93c406d2a6 in QtPrivate::QSlotObjectBase::call (a=0x7ffdf86b4d80, r=0xc8c0f0, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:376 #18 QMetaObject::activate (sender=0xea7000, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3754 #19 0x00007f93c406d2a6 in QtPrivate::QSlotObjectBase::call (a=0x7ffdf86b4ee0, r=0xf421e0, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:376 #20 QMetaObject::activate (sender=sender@entry=0xccb600, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffdf86b4ee0) at kernel/qobject.cpp:3754 #21 0x00007f93c406d887 in QMetaObject::activate (sender=sender@entry=0xccb600, m=m@entry=0x7f93c44c1da0 <QTimer::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffdf86b4ee0) at kernel/qobject.cpp:3633 #22 0x00007f93c4079b07 in QTimer::timeout (this=this@entry=0xccb600, _t1=...) at .moc/moc_qtimer.cpp:200 #23 0x00007f93c4079e08 in QTimer::timerEvent (this=0xccb600, e=<optimized out>) at kernel/qtimer.cpp:255 #24 0x00007f93c406df73 in QObject::event (this=0xccb600, e=<optimized out>) at kernel/qobject.cpp:1273 #25 0x00007f93c54da39c in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0xccb600, e=0x7ffdf86b51d0) at kernel/qapplication.cpp:3727 #26 0x00007f93c54e1ab0 in QApplication::notify (this=0x7ffdf86b55e0, receiver=0xccb600, e=0x7ffdf86b51d0) at kernel/qapplication.cpp:3486 #27 0x00007f93c4040228 in QCoreApplication::notifyInternal2 (receiver=0xccb600, event=event@entry=0x7ffdf86b51d0) at kernel/qcoreapplication.cpp:1048 #28 0x00007f93c409647e in QCoreApplication::sendEvent (event=0x7ffdf86b51d0, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234 #29 QTimerInfoList::activateTimers (this=0xb82f10) at kernel/qtimerinfo_unix.cpp:643 #30 0x00007f93c4096d01 in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:182 #31 0x00007f93bd5ba197 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #32 0x00007f93bd5ba3f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #33 0x00007f93bd5ba49c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #34 0x00007f93c409709f in QEventDispatcherGlib::processEvents (this=this@entry=0xb54400, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #35 0x00007f93b5d9d9a1 in QPAEventDispatcherGlib::processEvents (this=0xb54400, flags=...) at qeventdispatcher_glib.cpp:69 #36 0x00007f93c403e5ba in QEventLoop::exec (this=this@entry=0x7ffdf86b5440, flags=..., flags@entry=...) at kernel/qeventloop.cpp:214 #37 0x00007f93c40476c4 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1336 #38 0x00007f93c483ff8c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1762 #39 0x00007f93c54da2f5 in QApplication::exec () at kernel/qapplication.cpp:2901 #40 0x000000000041e5c0 in main (argc=1, argv=<optimized out>) at /workspace/build/main.cpp:337 Reported using DrKonqi
Fabian, is this related to the memory changes you did?
I have discovered that I can repro this crash every time I win a Freecell game and then start a game of Spider afterward.
@Albert: Hm, I haven't merged the large memory related change into the code, so that shouldn't be it. It might however be the result of one of the other changes I did, I'll investigate it @S. Christian Collins: Thanks for reporting the bug. Unfortunately, I cannot reproduce the crash locally so far. Does it crash directly after you open the Spider game?
@S. Christian Collins: Just an idea: Is Neon still using the kpat version from KDE applications 18.04? In that case it's a known issue, which is already fixed thanks to the new Freecell Solver.
Kpat crashes instantly once the Spider cards are dealt out. The package version for kpat is 4:18.08.0-0xneon+16.04+xenial+build46.
Also, to get the crash, you have to win the Freecell game. The crash doesn't happen if you only play the game partway through and then switch to Spider.
Could you tell me which Spider options you are using (Face Down/Face Up, number of suits)?
Created attachment 114687 [details] video showing the crash
Spider options: 2 suits, face down Also: autodrop, solver, "remember state on exit" are all enabled. I also don't know how long this bug has been a part of kpat, since I've only recently started playing Freecell.
answers have been given
I get the same problem on an Arch Linux distribution. It seems that from time to time, the solver thread becomes crazy : it runs for hours without displaying you may win the game or this game is lost or ... while the CPU for one processor reaches 100%. The automatic removal of cards stops without any «visible» reason and trying to switch to Klondike for example after having won a game leads ti the display of the cards and then a crash in the application. Feel free to contact me if you want/need some more input. Thanks for the good work. Jean-Pierre
@ Jean-Pierre Cabanié: Does the solver thread becomes stuck in all games, or only in certain ones? And if you can reproduce the issues, could you save the game (File > Save as) and attach the saved game to the bug?
Created attachment 114739 [details] The game should terminate by itself. I had to click on 5 cards before the end
Created attachment 114740 [details] Solver hangs for a while in Freecell Move the 4 of Hearts on the 5 of Spades and then try to move the Queen of hearts on the King of Clubs. You have to wait for a while before the move is obeyed. (the CPU is quite stressed probably by the solver).
Created attachment 114742 [details] Freecell freezes That time when I tried to move the 3 of clubs on the 4 or hearts, It took a while with one CPU eaten up to 100%. I've not tried to hit Ctrl-z twice before recording the game. Hope this helps Jean-Pierre
This crash also happens every time I finish Freecell and then start a Forty & Eight game. Crashes after the cards have been dealt. So it seems like it's an issue with finishing Freecell, not starting Spider.
Created attachment 119451 [details] Stacktrace in journalctl system log If it helps, this was the stack trace in the system log for a crash today when switching from a completed Simple Simon to a new Yukon game.
I have this problem almost every time when switching from a win on Freecell to another game. I am running Fedora 29 with all the latest patches.
Created attachment 122400 [details] New crash information added by DrKonqi kpat (3.6) using Qt 5.13.0 - What I was doing when the application crashed: 1. Won a game of FreeCell (not necessarily on 1st try) 2. Started a game of Spider The app crashed right after the cards were dealt. -- Backtrace (Reduced): #6 MemoryManager::new_from_block (this=0x55bb9d28f000, s=56) at /usr/src/debug/kpat-19.08.0-lp151.1.1.x86_64/patsolve/memory.cpp:164 #7 0x000055bb9cc48eb7 in Solver<15ul>::pack_position (this=this@entry=0x55bb9d99b0a0) at /usr/src/debug/kpat-19.08.0-lp151.1.1.x86_64/patsolve/patsolve.cpp:217 #8 0x000055bb9cc4934a in Solver<15ul>::insert (this=this@entry=0x55bb9d99b0a0, cluster=cluster@entry=0x7ffd2d5cae3c, d=0, node=node@entry=0x7ffd2d5cae40) at /usr/src/debug/kpat-19.08.0-lp151.1.1.x86_64/patsolve/patsolve.cpp:887 #9 0x000055bb9cc4942a in Solver<15ul>::new_position (this=this@entry=0x55bb9d99b0a0, parent=parent@entry=0x0, m=m@entry=0x7ffd2d5cae80) at /usr/src/debug/kpat-19.08.0-lp151.1.1.x86_64/patsolve/patsolve.cpp:919 #10 0x000055bb9cc4e4a6 in Solver<15ul>::doit (this=0x55bb9d99b0a0) at /usr/src/debug/kpat-19.08.0-lp151.1.1.x86_64/patsolve/patsolve.cpp:505
Mine crashes before the cards are dealt in the new game 99.99...% of the time.
After a part of freecell. Closing the game and : journalctl -f Error detected in cache, re-generating
Correction to comment 20. Should be 'after' the cards are dealt. Occasionally it will just quit when kpat first started. Usually does not matter the order of games. Most of the time freecell to another game crashes. Rarely does not crash first time after Freecell.
Thank you for reporting this crash in KDE software. As it has been a while since this issue was reported, can we please ask you to see if you can reproduce the crash with a recent software version? If you can reproduce the issue, please change the status to "CONFIRMED" when replying. Thank you!
I can no longer reproduce this bug with the current version of kpat (4:22.08.1-0xneon+22.04+jammy+release+build7).
On Fedora the latest supplied is kpat-22.04.1-1.fc36.x86_64 and the problem does occur in that version.
Brian you're on an older version 22.04 as compared to 22.08.1 from the other reporter that says it doesn't happen for them anymore. I'm going to close this as worksforme assuming we fixed in later versions. If/when you update to 22.08.1 and the crash still persists please reopen the issue.