After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 732067 - Starting a bunch of new games in a row confuses everything
Starting a bunch of new games in a row confuses everything
Status: RESOLVED DUPLICATE of bug 708130
Product: gnome-chess
Classification: Applications
Component: General
3.10.x
Other Linux
: Low critical
: ---
Assigned To: Michael Catanzaro
gnome-chess-maint
Depends on:
Blocks:
 
 
Reported: 2014-06-22 23:33 UTC by Michael Catanzaro
Modified: 2014-06-23 01:27 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
backtrace (51.20 KB, application/octet-stream)
2014-06-22 23:35 UTC, Michael Catanzaro
  Details
debug patch (6.51 KB, patch)
2014-06-22 23:38 UTC, Michael Catanzaro
none Details | Review
Workaround signal misfires that led to crash (1.40 KB, patch)
2014-06-23 01:26 UTC, Michael Catanzaro
committed Details | Review

Description Michael Catanzaro 2014-06-22 23:33:53 UTC
Press New Game about 20 times in rapid succession. Move a piece, then hit Undo. Fun ensues, and it will crash roughly half the time.
Comment 1 Michael Catanzaro 2014-06-22 23:34:44 UTC
** (glchess:2838): WARNING **: chess-game.vala:1329: New ChessGame. Count: 2

** (glchess:2838): WARNING **: chess-game.vala:1354: Destroyed ChessGame, count: 1

** (glchess:2838): WARNING **: chess-scene.vala:100: Scene gets a new game!

** (glchess:2838): WARNING **: chess-game.vala:1509: Stack length: 1 Move number: 0 nth: 0

** (glchess:2838): WARNING **: chess-engine.vala:149: Killed chess engine!

** (glchess:2838): WARNING **: chess-engine.vala:53: Creating new engine, new count: 36
** (glchess:2838): DEBUG: chess-engine.vala:215: 36: Writing line to engine: 'xboard'
** (glchess:2838): DEBUG: chess-engine.vala:215: 36: Writing line to engine: 'random'
** (glchess:2838): DEBUG: chess-engine.vala:215: 36: Writing line to engine: 'easy'
** (glchess:2838): DEBUG: chess-engine.vala:215: 36: Writing line to engine: 'depth 1'
** (glchess:2838): DEBUG: chess-engine-cecp.vala:53: Read from engine: 'Chess'
** (glchess:2838): DEBUG: chess-engine-cecp.vala:53: Read from engine: 'TimeLimit[0] = 0'
** (glchess:2838): DEBUG: chess-engine-cecp.vala:53: Read from engine: 'TimeLimit[1] = 0'
** (glchess:2838): DEBUG: chess-engine-cecp.vala:53: Read from engine: 'TimeLimit[0] = 0'
** (glchess:2838): DEBUG: chess-engine-cecp.vala:53: Read from engine: 'TimeLimit[1] = 0'
** (glchess:2838): DEBUG: chess-engine-cecp.vala:53: Read from engine: ''random' not currently supported'
** (glchess:2838): DEBUG: chess-engine-cecp.vala:53: Read from engine: 'TimeLimit[0] = 0'
** (glchess:2838): DEBUG: chess-engine-cecp.vala:53: Read from engine: 'TimeLimit[1] = 0'
** (glchess:2838): DEBUG: chess-engine-cecp.vala:53: Read from engine: 'TimeLimit[0] = 0'
** (glchess:2838): DEBUG: chess-engine-cecp.vala:53: Read from engine: 'TimeLimit[1] = 0'
** (glchess:2838): DEBUG: chess-engine-cecp.vala:53: Read from engine: 'Search to a depth of 1'

** (glchess:2838): WARNING **: chess-engine.vala:61: Destroying engine, new count: 35

** (glchess:2838): WARNING **: chess-engine.vala:61: Destroying engine, new count: 34

** (glchess:2838): WARNING **: chess-engine.vala:61: Destroying engine, new count: 33

** (glchess:2838): WARNING **: chess-engine.vala:61: Destroying engine, new count: 32

** (glchess:2838): WARNING **: chess-engine.vala:61: Destroying engine, new count: 31

** (glchess:2838): WARNING **: chess-engine.vala:61: Destroying engine, new count: 30

** (glchess:2838): WARNING **: chess-engine.vala:61: Destroying engine, new count: 29

** (glchess:2838): WARNING **: chess-engine.vala:61: Destroying engine, new count: 28

** (glchess:2838): WARNING **: chess-engine.vala:61: Destroying engine, new count: 27

** (glchess:2838): WARNING **: chess-engine.vala:61: Destroying engine, new count: 26

** (glchess:2838): WARNING **: chess-engine.vala:61: Destroying engine, new count: 25

** (glchess:2838): WARNING **: chess-engine.vala:61: Destroying engine, new count: 24

** (glchess:2838): WARNING **: chess-engine.vala:61: Destroying engine, new count: 23

** (glchess:2838): WARNING **: chess-engine.vala:61: Destroying engine, new count: 22

** (glchess:2838): WARNING **: chess-engine.vala:61: Destroying engine, new count: 21

** (glchess:2838): WARNING **: chess-engine.vala:61: Destroying engine, new count: 20

** (glchess:2838): WARNING **: chess-engine.vala:61: Destroying engine, new count: 19

** (glchess:2838): WARNING **: chess-engine.vala:61: Destroying engine, new count: 18

** (glchess:2838): WARNING **: chess-engine.vala:61: Destroying engine, new count: 17

** (glchess:2838): WARNING **: chess-engine.vala:61: Destroying engine, new count: 16

** (glchess:2838): WARNING **: chess-engine.vala:61: Destroying engine, new count: 15

** (glchess:2838): WARNING **: chess-engine.vala:61: Destroying engine, new count: 14

** (glchess:2838): WARNING **: chess-engine.vala:61: Destroying engine, new count: 13

** (glchess:2838): WARNING **: chess-engine.vala:61: Destroying engine, new count: 12

** (glchess:2838): WARNING **: chess-engine.vala:61: Destroying engine, new count: 11

** (glchess:2838): WARNING **: chess-engine.vala:61: Destroying engine, new count: 10

** (glchess:2838): WARNING **: chess-engine.vala:61: Destroying engine, new count: 9

** (glchess:2838): WARNING **: chess-engine.vala:61: Destroying engine, new count: 8

** (glchess:2838): WARNING **: chess-engine.vala:61: Destroying engine, new count: 7

** (glchess:2838): WARNING **: chess-engine.vala:61: Destroying engine, new count: 6

** (glchess:2838): WARNING **: chess-engine.vala:61: Destroying engine, new count: 5

** (glchess:2838): WARNING **: chess-engine.vala:61: Destroying engine, new count: 4

** (glchess:2838): WARNING **: chess-engine.vala:61: Destroying engine, new count: 3

** (glchess:2838): WARNING **: chess-engine.vala:61: Destroying engine, new count: 2

** (glchess:2838): WARNING **: chess-engine.vala:61: Destroying engine, new count: 1

** (glchess:2838): WARNING **: chess-game.vala:1509: Stack length: 1 Move number: 0 nth: 0

** (glchess:2838): WARNING **: gnome-chess.vala:947: entering game_move_cb with c2c4

** (glchess:2838): WARNING **: gnome-chess.vala:974: calling report_move

** (glchess:2838): WARNING **: chess-engine-cecp.vala:113: i is report move lol
** (glchess:2838): DEBUG: chess-engine.vala:215: 36: Writing line to engine: 'force'
** (glchess:2838): DEBUG: chess-engine.vala:215: 36: Writing line to engine: 'c2c4'

** (glchess:2838): WARNING **: chess-game.vala:1509: Stack length: 2 Move number: 1 nth: 0

** (glchess:2838): WARNING **: gnome-chess.vala:947: entering game_move_cb with c2c4

** (glchess:2838): WARNING **: gnome-chess.vala:974: calling report_move

** (glchess:2838): WARNING **: chess-engine-cecp.vala:113: i is report move lol
** (glchess:2838): DEBUG: chess-engine.vala:215: 36: Writing line to engine: 'force'
** (glchess:2838): DEBUG: chess-engine.vala:215: 36: Writing line to engine: 'c2c4'

** (glchess:2838): WARNING **: chess-game.vala:1509: Stack length: 2 Move number: 1 nth: 0

** (glchess:2838): WARNING **: chess-game.vala:1509: Stack length: 2 Move number: 1 nth: 0
** (glchess:2838): DEBUG: chess-engine-cecp.vala:53: Read from engine: 'TimeLimit[0] = 0'
** (glchess:2838): DEBUG: chess-engine-cecp.vala:53: Read from engine: 'TimeLimit[1] = 0'
** (glchess:2838): DEBUG: chess-engine-cecp.vala:53: Read from engine: 'TimeLimit[0] = 0'
** (glchess:2838): DEBUG: chess-engine-cecp.vala:53: Read from engine: 'TimeLimit[1] = 0'
** (glchess:2838): DEBUG: chess-engine-cecp.vala:53: Read from engine: '1. c2c4'
** (glchess:2838): DEBUG: chess-engine-cecp.vala:53: Read from engine: 'TimeLimit[0] = 0'
** (glchess:2838): DEBUG: chess-engine-cecp.vala:53: Read from engine: 'TimeLimit[1] = 0'
** (glchess:2838): DEBUG: chess-engine-cecp.vala:53: Read from engine: 'TimeLimit[0] = 0'
** (glchess:2838): DEBUG: chess-engine-cecp.vala:53: Read from engine: 'TimeLimit[1] = 0'
** (glchess:2838): DEBUG: chess-engine-cecp.vala:53: Read from engine: 'Invalid move: c2c4'
** (glchess:2838): DEBUG: chess-engine.vala:215: 36: Writing line to engine: 'go'
** (glchess:2838): DEBUG: chess-engine.vala:215: 36: Writing line to engine: 'go'
** (glchess:2838): DEBUG: chess-engine-cecp.vala:53: Read from engine: 'TimeLimit[0] = 0'
** (glchess:2838): DEBUG: chess-engine-cecp.vala:53: Read from engine: 'TimeLimit[1] = 0'
** (glchess:2838): DEBUG: chess-engine-cecp.vala:53: Read from engine: 'TimeLimit[0] = 0'
** (glchess:2838): DEBUG: chess-engine-cecp.vala:53: Read from engine: 'TimeLimit[1] = 0'
** (glchess:2838): DEBUG: chess-engine-cecp.vala:53: Read from engine: '1. ... b8c6'
** (glchess:2838): DEBUG: chess-engine-cecp.vala:53: Read from engine: 'My move is : b8c6'
** (glchess:2838): DEBUG: chess-engine-cecp.vala:61: Engine moves b8c6

** (glchess:2838): WARNING **: gnome-chess.vala:947: entering game_move_cb with b8c6

** (glchess:2838): WARNING **: chess-scene.vala:128: Scene: new move number, updating board...

** (glchess:2838): WARNING **: chess-game.vala:1509: Stack length: 3 Move number: 1 nth: 1

** (glchess:2838): WARNING **: gnome-chess.vala:974: calling report_move

** (glchess:2838): WARNING **: chess-engine-cecp.vala:120: i no wanna report my own move lol

** (glchess:2838): WARNING **: chess-game.vala:1509: Stack length: 3 Move number: 1 nth: 1

** (glchess:2838): WARNING **: gnome-chess.vala:947: entering game_move_cb with b8c6

** (glchess:2838): WARNING **: gnome-chess.vala:974: calling report_move

** (glchess:2838): WARNING **: chess-engine-cecp.vala:113: i is report move lol
** (glchess:2838): DEBUG: chess-engine.vala:215: 36: Writing line to engine: 'force'
** (glchess:2838): DEBUG: chess-engine.vala:215: 36: Writing line to engine: 'b8c6'

** (glchess:2838): WARNING **: chess-game.vala:1509: Stack length: 3 Move number: 1 nth: 1
** (glchess:2838): DEBUG: chess-engine-cecp.vala:53: Read from engine: 'TimeLimit[0] = 0'
** (glchess:2838): DEBUG: chess-engine-cecp.vala:53: Read from engine: 'TimeLimit[1] = 0'
** (glchess:2838): DEBUG: chess-engine-cecp.vala:53: Read from engine: 'TimeLimit[0] = 0'
** (glchess:2838): DEBUG: chess-engine-cecp.vala:53: Read from engine: 'TimeLimit[1] = 0'
** (glchess:2838): DEBUG: chess-engine-cecp.vala:53: Read from engine: 'Invalid move: b8c6'

** (glchess:2838): WARNING **: gnome-chess.vala:1286: undo move cb

** (glchess:2838): WARNING **: gnome-chess.vala:982: Application: response to game's undo
** (glchess:2838): DEBUG: chess-engine.vala:215: 36: Writing line to engine: 'force'
** (glchess:2838): DEBUG: chess-engine.vala:215: 36: Writing line to engine: 'undo'

** (glchess:2838): WARNING **: chess-scene.vala:128: Scene: new move number, updating board...

** (glchess:2838): WARNING **: chess-game.vala:1509: Stack length: 2 Move number: 1 nth: 0

** (glchess:2838): WARNING **: chess-scene.vala:128: Scene: new move number, updating board...

** (glchess:2838): WARNING **: chess-game.vala:1509: Stack length: 2 Move number: 2 nth: 4294967295

** (glchess:2838): CRITICAL **: chess_state_get_index: assertion 'self != NULL' failed
Segmentation fault (core dumped)
Comment 2 Michael Catanzaro 2014-06-22 23:35:16 UTC
Created attachment 278961 [details]
backtrace
Comment 3 Michael Catanzaro 2014-06-22 23:38:24 UTC
Created attachment 278962 [details] [review]
debug patch

For 3.10 only.  Can't reproduce in 3.12 (after reverting commit that disables the new game button!), maybe because we switched to UCI for gnuchess?
Comment 4 Michael Catanzaro 2014-06-22 23:50:51 UTC
(In reply to comment #3)
>  maybe because we switched to UCI for gnuchess?

nope...
Comment 5 Michael Catanzaro 2014-06-23 01:26:04 UTC
Created attachment 278965 [details] [review]
Workaround signal misfires that led to crash

Even though the original ChessGame is always destroyed immediately after
the creation of a new one (no other reference to it exists), the signals
we connected to the original game may be nonetheless fired by the NEW
game object. This must be a bug in Vala signals.

https://bugzilla.gnome.org/show_bug.cgi?id=732037
Comment 6 Michael Catanzaro 2014-06-23 01:27:37 UTC
Quite probably the same issue as bug #708130

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