GNOME Bugzilla – Bug 732067
Starting a bunch of new games in a row confuses everything
Last modified: 2014-06-23 01:27:37 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.
** (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)
Created attachment 278961 [details] backtrace
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?
(In reply to comment #3) > maybe because we switched to UCI for gnuchess? nope...
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
Quite probably the same issue as bug #708130 *** This bug has been marked as a duplicate of bug 708130 ***