redhat-gamedev / srt-godot-client

Space Rings Thing Game Client (for Red Hat Gaming)
Apache License 2.0
7 stars 5 forks source link

ObjectDB instances leaked #76

Open thoraxe opened 1 year ago

thoraxe commented 1 year ago
Unloading: Disposing tracked instances...
Unloading: Finished disposing tracked instances.
XR: Clearing primary interface
XR: Removed interfaceNative mobile
XR: Removed interfaceOpenXR
PulseAudio: context terminated
WARNING: ObjectDB instances leaked at exit (run with --verbose for details).
     at: cleanup (core/object/object.cpp:1982)
Leaked instance: AudioStreamPlaybackWAV:-9220774990389967721
Leaked instance: AudioStreamWAV:-9222444049040931688 - Resource path: res://Assets/Sounds/SRT_B_L2-80bpm-24bit.wav
Hint: Leaked instances typically happen when nodes are removed from the scene tree (with `remove_child()`) but not freed (with `free()` or `queue_free()`).
ERROR: Resources still in use at exit (run with --verbose for details).
   at: clear (core/io/resource.cpp:489)
Resource still in use: res://Assets/Sounds/SRT_B_L2-80bpm-24bit.wav (AudioStreamWAV)

Started after upgrading to GD4. May need to try a simple reproducer with just a stream player and catching the quit notification:

  public override void _Notification(int what)
  {
    // when the game window is closed, you get this notification
    if (what == NotificationWMCloseRequest)
    {
      _serilogger.Information("Game.cs: Got quit notification");

      // stop the background music
      backgroundMusic.Stop();

      // check if our UUID is set. If it isn't, we don't have to send a leave
      // message for our player, so we can just return
      if (myUuid == null) return;
      QuitGame();
    }
  }
thoraxe commented 1 year ago

https://github.com/godotengine/godot/issues/76745