bug-gnubg
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug-gnubg] "Cannot move, cannot move", reloaded


From: Petr Kadlec
Subject: [Bug-gnubg] "Cannot move, cannot move", reloaded
Date: Thu, 27 Jan 2005 23:02:55 +0100
User-agent: Mozilla Thunderbird 0.7.3 (Windows/20040803)

Hi!

I have once again experienced the "cannot move, cannot move" bug, so I decided to look at it again. I tried the method I mentioned a few months ago, and it still works and deterministically crashes gnubg.

I looked at the stack trace (you can take a look at the attachment if the maillist passes it through, but it is not really interesting) and the important thing is that there are many (I clicked dices many times) identical layers of gnubg interleaved with libgtk. After checking the source, IMHO the problem is that during the addition of the move to the gamelist, PopMoveRecord is called, which in turn calls GTKSetMoveRecord, which contains a message dispatch loop with gtk_main_iteration(). And, obviously, during this call another dice click is detected... and here we go again. Finally, this seems to end in a crash as PopGame tries to delete the move list.

Unfortunately (as I have said before) I never worked with GTK, so I am unable to dive into the problem too much. AFAICS, the basic idea of calling gtk_main_iteration() deep inside the game logic code seems not-really-right to me, but I understand that there is some logic with enabling and disabling input, so that it is probably expected to work, but ... well, it does not for me.

Any ideas?

--
Petr Kadlec <address@hidden>
ICQ #68196926, http://mormegil.wz.cz/
GNUBG_MSDEVD! 004c7177() line 639 + 3 bytes
GNUBG_MSDEVD! 004c6ce6() line 739 + 12 bytes
GNUBG_MSDEVD! 004cbe34() line 3100 + 12 bytes
GNUBG_MSDEVD! 0042e4f0() line 3067 + 12 bytes
GNUBG_MSDEVD! 00436f11() line 6559 + 14 bytes
GNUBG_MSDEVD! 00441173() line 776 + 10 bytes
GNUBG_MSDEVD! 00444ba6() line 1972 + 9 bytes
LIBGTK-0! 6dc8a442()
LIBGTK-0! 6dcc5287()
LIBGTK-0! 6dcc4812()
LIBGTK-0! 6dcc26c0()
LIBGTK-0! 6dd0bdec()
LIBGTK-0! 6dc895f9()
LIBGTK-0! 6dc89176()
LIBGDK-0! 67fa4003()
LIBGLIB-2.0-0! 10017738()
LIBGLIB-2.0-0! 10018391()
LIBGLIB-2.0-0! 10018692()
LIBGLIB-2.0-0! 100187ad()
LIBGTK-0! 6dc89868()
GNUBG_MSDEVD! 0047d065() line 500 + 5 bytes
GNUBG_MSDEVD! 004c7169() line 633 + 14 bytes
GNUBG_MSDEVD! 004c6ce6() line 739 + 12 bytes
GNUBG_MSDEVD! 004cbe34() line 3100 + 12 bytes
GNUBG_MSDEVD! 0042e4f0() line 3067 + 12 bytes
GNUBG_MSDEVD! 00436f11() line 6559 + 14 bytes
GNUBG_MSDEVD! 00441173() line 776 + 10 bytes
GNUBG_MSDEVD! 00444ba6() line 1972 + 9 bytes
LIBGTK-0! 6dc8a442()
LIBGTK-0! 6dcc5287()
LIBGTK-0! 6dcc4812()
LIBGTK-0! 6dcc26c0()
LIBGTK-0! 6dd0bdec()
LIBGTK-0! 6dc895f9()
LIBGTK-0! 6dc89176()
LIBGDK-0! 67fa4003()
LIBGLIB-2.0-0! 10017738()
LIBGLIB-2.0-0! 10018391()
LIBGLIB-2.0-0! 10018692()
LIBGLIB-2.0-0! 100187ad()
LIBGTK-0! 6dc89868()
GNUBG_MSDEVD! 0047d065() line 500 + 5 bytes
GNUBG_MSDEVD! 004c7169() line 633 + 14 bytes
GNUBG_MSDEVD! 004c6ce6() line 739 + 12 bytes
GNUBG_MSDEVD! 004cbe34() line 3100 + 12 bytes
GNUBG_MSDEVD! 0042e4f0() line 3067 + 12 bytes
GNUBG_MSDEVD! 00436f11() line 6559 + 14 bytes
GNUBG_MSDEVD! 00441173() line 776 + 10 bytes
GNUBG_MSDEVD! 00444ba6() line 1972 + 9 bytes
LIBGTK-0! 6dc8a442()
LIBGTK-0! 6dcc5287()
LIBGTK-0! 6dcc4812()
LIBGTK-0! 6dcc26c0()
LIBGTK-0! 6dd0bdec()
LIBGTK-0! 6dc895f9()
LIBGTK-0! 6dc89176()
LIBGDK-0! 67fa4003()
LIBGLIB-2.0-0! 10017738()
LIBGLIB-2.0-0! 10018391()
LIBGLIB-2.0-0! 10018692()
LIBGLIB-2.0-0! 100187ad()
LIBGTK-0! 6dc89868()
GNUBG_MSDEVD! 0047d065() line 500 + 5 bytes
GNUBG_MSDEVD! 004c7169() line 633 + 14 bytes
GNUBG_MSDEVD! 004c6ce6() line 739 + 12 bytes
GNUBG_MSDEVD! 004cbe34() line 3100 + 12 bytes
GNUBG_MSDEVD! 0042e4f0() line 3067 + 12 bytes
GNUBG_MSDEVD! 00436f11() line 6559 + 14 bytes
GNUBG_MSDEVD! 00441173() line 776 + 10 bytes
GNUBG_MSDEVD! 00444ba6() line 1972 + 9 bytes
LIBGTK-0! 6dc8a442()
LIBGTK-0! 6dcc5287()
LIBGTK-0! 6dcc4812()
LIBGTK-0! 6dcc26c0()
LIBGTK-0! 6dd0bdec()
LIBGTK-0! 6dc895f9()
LIBGTK-0! 6dc89176()
LIBGDK-0! 67fa4003()
LIBGLIB-2.0-0! 10017738()
LIBGLIB-2.0-0! 10018391()
LIBGLIB-2.0-0! 10018692()
LIBGLIB-2.0-0! 100187ad()
LIBGTK-0! 6dc89868()
GNUBG_MSDEVD! 0047d065() line 500 + 5 bytes
GNUBG_MSDEVD! 004c7169() line 633 + 14 bytes
GNUBG_MSDEVD! 004c6ce6() line 739 + 12 bytes
GNUBG_MSDEVD! 004cbe34() line 3100 + 12 bytes
GNUBG_MSDEVD! 0042e4f0() line 3067 + 12 bytes
GNUBG_MSDEVD! 00436f11() line 6559 + 14 bytes
GNUBG_MSDEVD! 00441173() line 776 + 10 bytes
GNUBG_MSDEVD! 00444ba6() line 1972 + 9 bytes
LIBGTK-0! 6dc8a442()
LIBGTK-0! 6dcc5287()
LIBGTK-0! 6dcc4812()
LIBGTK-0! 6dcc26c0()
LIBGTK-0! 6dd0bdec()
LIBGTK-0! 6dc895f9()
LIBGTK-0! 6dc89176()
LIBGDK-0! 67fa4003()
LIBGLIB-2.0-0! 10017738()
LIBGLIB-2.0-0! 10018391()
LIBGLIB-2.0-0! 10018692()
LIBGLIB-2.0-0! 100187ad()
LIBGTK-0! 6dc89868()
GNUBG_MSDEVD! 0047d065() line 500 + 5 bytes
GNUBG_MSDEVD! 004c7169() line 633 + 14 bytes
GNUBG_MSDEVD! 004c6ce6() line 739 + 12 bytes
GNUBG_MSDEVD! 004cbe34() line 3100 + 12 bytes
GNUBG_MSDEVD! 0042e4f0() line 3067 + 12 bytes
GNUBG_MSDEVD! 00436f11() line 6559 + 14 bytes
GNUBG_MSDEVD! 00441173() line 776 + 10 bytes
GNUBG_MSDEVD! 00444ba6() line 1972 + 9 bytes
LIBGTK-0! 6dc8a442()
LIBGTK-0! 6dcc5287()
LIBGTK-0! 6dcc4812()
LIBGTK-0! 6dcc26c0()
LIBGTK-0! 6dd0bdec()
LIBGTK-0! 6dc895f9()
LIBGTK-0! 6dc89176()
LIBGDK-0! 67fa4003()
LIBGLIB-2.0-0! 10017738()
LIBGLIB-2.0-0! 10018391()
LIBGLIB-2.0-0! 10018692()
LIBGLIB-2.0-0! 100187ad()
LIBGTK-0! 6dc89868()
GNUBG_MSDEVD! 0047d065() line 500 + 5 bytes
GNUBG_MSDEVD! 004c7169() line 633 + 14 bytes
GNUBG_MSDEVD! 004c6ce6() line 739 + 12 bytes
GNUBG_MSDEVD! 004cbe34() line 3100 + 12 bytes
GNUBG_MSDEVD! 0042e4f0() line 3067 + 12 bytes
GNUBG_MSDEVD! 00436f11() line 6559 + 14 bytes
GNUBG_MSDEVD! 00441173() line 776 + 10 bytes
GNUBG_MSDEVD! 00444ba6() line 1972 + 9 bytes
LIBGTK-0! 6dc8a442()
LIBGTK-0! 6dcc5287()
LIBGTK-0! 6dcc4812()
LIBGTK-0! 6dcc26c0()
LIBGTK-0! 6dd0bdec()
LIBGTK-0! 6dc895f9()
LIBGTK-0! 6dc89176()
LIBGDK-0! 67fa4003()
LIBGLIB-2.0-0! 10017738()
LIBGLIB-2.0-0! 10018391()
LIBGLIB-2.0-0! 10018692()
LIBGLIB-2.0-0! 100187ad()
LIBGTK-0! 6dc89868()
GNUBG_MSDEVD! 0047d065() line 500 + 5 bytes
GNUBG_MSDEVD! 004c7169() line 633 + 14 bytes
GNUBG_MSDEVD! 004c6ce6() line 739 + 12 bytes
GNUBG_MSDEVD! 004cbe34() line 3100 + 12 bytes
GNUBG_MSDEVD! 0042e4f0() line 3067 + 12 bytes
GNUBG_MSDEVD! 00436f11() line 6559 + 14 bytes
GNUBG_MSDEVD! 00441173() line 776 + 10 bytes
GNUBG_MSDEVD! 00444ba6() line 1972 + 9 bytes
LIBGTK-0! 6dc8a442()
LIBGTK-0! 6dcc5287()
LIBGTK-0! 6dcc4812()
LIBGTK-0! 6dcc26c0()
LIBGTK-0! 6dd0bdec()
LIBGTK-0! 6dc895f9()
LIBGTK-0! 6dc89176()
LIBGDK-0! 67fa4003()
LIBGLIB-2.0-0! 10017738()
LIBGLIB-2.0-0! 10018391()
LIBGLIB-2.0-0! 10018692()
LIBGLIB-2.0-0! 100187ad()
LIBGTK-0! 6dc89868()
GNUBG_MSDEVD! 0047d065() line 500 + 5 bytes
GNUBG_MSDEVD! 004c7169() line 633 + 14 bytes
GNUBG_MSDEVD! 004c6ce6() line 739 + 12 bytes
GNUBG_MSDEVD! 004cbe34() line 3100 + 12 bytes
GNUBG_MSDEVD! 0042e4f0() line 3067 + 12 bytes
GNUBG_MSDEVD! 00436f11() line 6559 + 14 bytes
GNUBG_MSDEVD! 00441173() line 776 + 10 bytes
GNUBG_MSDEVD! 00444ba6() line 1972 + 9 bytes
LIBGTK-0! 6dc8a442()
LIBGTK-0! 6dcc5287()
LIBGTK-0! 6dcc4812()
LIBGTK-0! 6dcc26c0()
LIBGTK-0! 6dd0bdec()
LIBGTK-0! 6dc895f9()
LIBGTK-0! 6dc89176()
LIBGDK-0! 67fa4003()
LIBGLIB-2.0-0! 10017738()
LIBGLIB-2.0-0! 10018391()
LIBGLIB-2.0-0! 10018692()
LIBGLIB-2.0-0! 100187ad()
LIBGTK-0! 6dc89868()
GNUBG_MSDEVD! 0047d065() line 500 + 5 bytes
GNUBG_MSDEVD! 004c7169() line 633 + 14 bytes
GNUBG_MSDEVD! 004c6ce6() line 739 + 12 bytes
GNUBG_MSDEVD! 004cbe34() line 3100 + 12 bytes
GNUBG_MSDEVD! 0042e4f0() line 3067 + 12 bytes
GNUBG_MSDEVD! 00436f11() line 6559 + 14 bytes
GNUBG_MSDEVD! 00441173() line 776 + 10 bytes
GNUBG_MSDEVD! 00444ba6() line 1972 + 9 bytes
LIBGTK-0! 6dc8a442()
LIBGTK-0! 6dcc5287()
LIBGTK-0! 6dcc4812()
LIBGTK-0! 6dcc26c0()
LIBGTK-0! 6dd0bdec()
LIBGTK-0! 6dc895f9()
LIBGTK-0! 6dc89176()
LIBGDK-0! 67fa4003()
LIBGLIB-2.0-0! 10017738()
LIBGLIB-2.0-0! 10018391()
LIBGLIB-2.0-0! 10018692()
LIBGLIB-2.0-0! 100187ad()
LIBGTK-0! 6dc89868()
GNUBG_MSDEVD! 0047d065() line 500 + 5 bytes
GNUBG_MSDEVD! 004c7169() line 633 + 14 bytes
GNUBG_MSDEVD! 004c6ce6() line 739 + 12 bytes
GNUBG_MSDEVD! 004cefcc() line 4269 + 9 bytes
GNUBG_MSDEVD! 0042e4f0() line 3067 + 12 bytes
GNUBG_MSDEVD! 00436f11() line 6559 + 14 bytes
GNUBG_MSDEVD! 00444c2f() line 2001 + 10 bytes
LIBGTK-0! 6dc8a442()
LIBGTK-0! 6dcc5287()
LIBGTK-0! 6dcc4812()
LIBGTK-0! 6dcc26c0()
LIBGTK-0! 6dd0bdec()
LIBGTK-0! 6dc895f9()
LIBGTK-0! 6dc89176()
LIBGDK-0! 67fa4003()
LIBGLIB-2.0-0! 10017738()
LIBGLIB-2.0-0! 10018391()
LIBGLIB-2.0-0! 10018692()
LIBGLIB-2.0-0! 10018d07()
LIBGTK-0! 6dc88d84()
GNUBG_MSDEVD! 0045de67() line 2557
GNUBG_MSDEVD! 00439374() line 8271 + 12 bytes
GNUBG_MSDEVD! 004384f7() line 8358 + 15 bytes
GNUBG_MSDEVD! 00515a68() line 151 + 13 bytes
WinMainCRTStartup() line 198 + 54 bytes
KERNEL32! bff8b560()
KERNEL32! bff8b412()
KERNEL32! bff89dd5()

reply via email to

[Prev in Thread] Current Thread [Next in Thread]