Bug 213816

Summary: Crash in solver thread when moving cards
Product: [Applications] kpat Reporter: Frederik Schwarzer <schwarzer>
Component: generalAssignee: Parker Coates <coates>
Status: RESOLVED DUPLICATE    
Severity: crash CC: coates, dimsuz, kde-games-bugs-null
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Unspecified   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Frederik Schwarzer 2009-11-09 08:27:24 UTC
Version:            (using Devel)
Installed from:    Compiled sources

In r1046563:

I was just moving a small series of cards to another location when I got this bt:

Application: KPatience (kpat), signal: Aborted
[Current thread is 1 (Thread 0xb5412760 (LWP 7140))]

Thread 2 (Thread 0xb1a26b70 (LWP 7149)):
[KCrash Handler]
#6  0xffffe424 in __kernel_vsyscall ()
#7  0xb5c498c0 in raise () from /lib/i686/cmov/libc.so.6
#8  0xb5c4cdf5 in abort () from /lib/i686/cmov/libc.so.6
#9  0xb5c806a5 in ?? () from /lib/i686/cmov/libc.so.6
#10 0xb5c8a8b4 in ?? () from /lib/i686/cmov/libc.so.6
#11 0xb5c8f01c in free () from /lib/i686/cmov/libc.so.6
#12 0x0808a129 in MemoryManager::free_array<MOVE> (ptr=0x96aa810, size=6) at /home/fs/compile/KDE/kdegames/kpat/patsolve/memory.h:76
#13 0x0808983a in Solver::solve (this=0x9081330, parent=0xb0c243e0) at /home/fs/compile/KDE/kdegames/kpat/patsolve/patsolve.cpp:751
#14 0x08089920 in Solver::doit (this=0x9081330) at /home/fs/compile/KDE/kdegames/kpat/patsolve/patsolve.cpp:654
#15 0x0808998a in Solver::patsolve (this=0x9081330, _max_positions=-1) at /home/fs/compile/KDE/kdegames/kpat/patsolve/patsolve.cpp:944
#16 0x08064862 in SolverThread::run (this=0x9627228) at /home/fs/compile/KDE/kdegames/kpat/dealer.cpp:175
#17 0xb6af7a9e in ?? () from /usr/lib/libQtCore.so.4
#18 0xb6a76595 in start_thread () from /lib/i686/cmov/libpthread.so.0
#19 0xb5cee18e in clone () from /lib/i686/cmov/libc.so.6

Thread 1 (Thread 0xb5412760 (LWP 7140)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb5ce0a17 in poll () from /lib/i686/cmov/libc.so.6
#2  0xb55450cb in ?? () from /usr/lib/libxcb.so.1
#3  0xb55456ee in ?? () from /usr/lib/libxcb.so.1
#4  0xb5545a97 in xcb_writev () from /usr/lib/libxcb.so.1
#5  0xb59f1a62 in _XSend () from /usr/lib/libX11.so.6
#6  0xb59f2110 in _XEventsQueued () from /usr/lib/libX11.so.6
#7  0xb59db11f in XEventsQueued () from /usr/lib/libX11.so.6
#8  0xb60a78ed in ?? () from /usr/lib/libQtGui.so.4
#9  0xb6bf8d5a in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#10 0xb6bf91a2 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#11 0xb6bfb899 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#12 0xb5ff4417 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#13 0x0805a67f in main (argc=1, argv=0xbfa01b54) at /home/fs/compile/KDE/kdegames/kpat/main.cpp:314
Comment 1 Dmitry Suzdalev 2009-11-12 16:43:18 UTC
Just got the same backtrace (with trunk version of KPat). What I did:

1. Started "Aces Up" game
2. Moved few cards away (according to game's rules)
3. Went to Settings menu and clicked "Enable Solver" => CRASH
Comment 2 Parker Coates 2009-11-12 17:13:11 UTC
Hmm. I'm guessing this is a race condition between the threads. That might explain why I'm unable to reproduce it here.
Comment 3 Parker Coates 2010-01-06 15:57:46 UTC

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