godot: Game crashes without error during play

Godot version: 3.1 (March 13, 2019) and 3.0.6

OS/device including version: Windows 10 x64 GeForce GTX 770/PCIe/SSE2

Issue description: The game crashes after a while. The game window will freeze and then close, giving the error: drivers/unix/net_socket_posix.cpp:190 - Socket error: 10054

Video: imgur

Steps to reproduce:

  1. Launch the game
  2. Play until the error appears

Minimal reproduction project: Godot Match 3 Part 30.zip Original project -> Godot Match 3 Part 30

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Reactions: 2
  • Comments: 56 (29 by maintainers)

Most upvoted comments

drivers/unix/net_socket_posix.cpp:190 - Socket error: 10054 just means that the debugger’s connection was severed, because the game crashed. It’s not the relevant part of whatever problem each of you are experiencing, and it shouldn’t be reported as a bug.

Only after shutting down and restarting Windows, Godot stopped crashing when I started to run my project.

This crashing behavior and error cost me way too much time though. I did not consider restart earlier, because I had no problem with Windows or other Window applications while the issue was present. I also had no problem working within the Godot editor while the crashing was occurring, as it only crashed the window in which I tried to run my project. Restarting Godot itself did not help.

After trying to run another Godot project which I did not touch that day with the same crash and error was it clear that I had to restart my system.

Even if this is not a Godot bug, the error message (as it is so often) could be a lot more informative about what is going on and how to solve the issue.

To all others coming here: As @akien-mga has pointed out, this is not an error. It means Godot Crashed Abruptly, there are numerous causes for this. The best way I have found to figure out what is going wrong is to step by step debug your game using a breakpoint via the “F9” key, it is painful but in the end you will find the source of the problem.

@qarmin Yes. Finally, the problem was found and now everything works as it should.

bug fix for “find_adjacent_pieces”:

...
if all_pieces[column + i][row + j] != null and !is_piece_sinker(column + i, row + j):
   if !all_pieces[i][j].matched:            # bug fix
      all_pieces[i][j].matched = true       # bug fix
      if all_pieces[column + i][row + j].is_row_bomb:
...

bug fixes for “match_all_in_column” and “match_all_in_row” are similar.

After testing, I don’t see any Godot issue(but maybe this works good only on my Linux machine). Game crashes after playing 3~5 min, but it happens because there is stack overflow because function match_all_in_column execute function find_adjacent_pieces which execute match_all_in_column etc. Zrzut ekranu z 2019-10-27 02-29-37

@Toshiwoz To read the output from a project exported in release mode on Windows, you can enable file logging. Open the editor, go to the Project Settings then check Logging > File Logging > Enable File Logging. The log will be written to user://logs/log.txt, which can be found in the “user data” directory.

It is a bug, only I’m not sure it’s in Godot. Could be something with Windows.