godot-python
godot-python copied to clipboard
Leaked resources on Godot closing
$ C:\Users\gbleu\source\repos\godot-python\build\windows-64\platforms\Godot_v3.2.2-stable_win64.exe --path examples\pong -e --verbose
WinTab context creation failed.
Godot Engine v3.2.2.stable.official - https://godotengine.org
WinTab context creation failed.
Using GLES3 video driver
OpenGL ES 3.0 Renderer: GeForce GTX 1660 Ti/PCIe/SSE2
WASAPI: wFormatTag = 65534
WASAPI: nChannels = 2
WASAPI: nSamplesPerSec = 48000
WASAPI: nAvgBytesPerSec = 384000
WASAPI: nBlockAlign = 8
WASAPI: wBitsPerSample = 32
WASAPI: cbSize = 22
WASAPI: detected 2 channels
WASAPI: audio buffer frames: 1962 calculated latency: 44ms
Loading resource: res://pythonscript.gdnlib
Pythonscript 0.40.0 (CPython 3.8.5.final.0)
CORE API HASH: 5165653038119002336
EDITOR API HASH: 16794195590754375567
Construct gdnative interface
Destruct gdnative interface
Class 'BulletPhysicsDirectBodyState' is not exposed, skipping.
Class 'BulletPhysicsDirectSpaceState' is not exposed, skipping.
Class 'BulletPhysicsServer' is not exposed, skipping.
Class 'GDScriptNativeClass' is not exposed, skipping.
Class 'IP_Unix' is not exposed, skipping.
Class 'InputDefault' is not exposed, skipping.
Class 'Physics2DDirectBodyStateSW' is not exposed, skipping.
Class 'Physics2DDirectSpaceStateSW' is not exposed, skipping.
Class 'Physics2DServerSW' is not exposed, skipping.
Class 'ResourceImporterOGGVorbis' is not exposed, skipping.
Loading resource: C:\Users/gbleu/AppData/Roaming/Godot/editor_settings-3.tres
EditorSettings: Load OK!
Loaded builtin certs
EditorSettings: Save OK!
Loading resource: res://addons/pythonscript_repl/plugin.py
Loading resource: res://addons/pythonscript_repl/python_repl.tscn
Loading resource: res://addons/pythonscript_repl/python_repl.py
Loading resource: res://addons/pythonscript_repl/hack_regular.tres
Loading resource: res://addons/pythonscript_repl/hack_regular.ttf
Loading resource: res://addons/pythonscript_repl/input_box.py
Loading resource: res://ball.py
Loading resource: res://pong.py
Loading resource: res://pong.tscn
Loading resource: res://separator.png
Loading resource: res://paddle.tscn
Loading resource: res://paddle.py
Loading resource: res://paddle.png
Loading resource: res://ball.tscn
Loading resource: res://ball.png
Loading resource: res://paddle.tscn
Loading resource: res://ball.tscn
Running: C:\Users\gbleu\source\repos\godot-python\build\windows-64\platforms\Godot_v3.2.2-stable_win64.exe --path C:/Users/gbleu/source/repos/godot-python/examples/pong --remote-debug 127.0.0.1:6007 --allow_focus_steal_pid 6616 --position 448,240
Godot Engine v3.2.2.stable.official - https://godotengine.org
OpenGL ES 3.0 Renderer: GeForce GTX 1660 Ti/PCIe/SSE2
Pythonscript 0.40.0 (CPython 3.8.5.final.0)
22
EditorSettings: Save OK!
ERROR: ~List: Condition "_first != __null" is true.
At: ./core/self_list.h:112
ERROR: ~List: Condition "_first != __null" is true.
At: ./core/self_list.h:112
WARNING: cleanup: ObjectDB instances leaked at exit (run with --verbose for details).
At: core/object.cpp:2135
Leaked instance: VBoxContainer:18501 - Node name: Python REPL
Leaked instance: SceneState:18497
Leaked instance: Button:18504 - Node name: KeyboardInterruptButton
Leaked instance: HBoxContainer:18502 - Node name: HeaderContainer
Leaked instance: LineEdit:18509 - Node name: InputBox
Leaked instance: DynamicFontAtSize:18491
Leaked instance: PluginScript:18494 - Resource path: res://addons/pythonscript_repl/input_box.py
Leaked instance: HBoxContainer:18508 - Node name: FooterContainer
Leaked instance: Button:18505 - Node name: ClearButton
Leaked instance: Timer:18512 - Node name: Timer
Leaked instance: DynamicFontData:18488 - Resource path: res://addons/pythonscript_repl/hack_regular.ttf
Leaked instance: PluginScript:18486 - Resource path: res://addons/pythonscript_repl/python_repl.py
Leaked instance: DynamicFont:18490 - Resource path: res://addons/pythonscript_repl/hack_regular.tres
Leaked instance: PopupMenu:18511 - Node name: PopupMenu
Leaked instance: Button:18513 - Node name: RunButton
Leaked instance: RichTextLabel:18506 - Node name: OutputBox
Leaked instance: ImageTexture:20911 - Resource path:
Leaked instance: VScrollBar:18507 - Node name: VScrollBar
Leaked instance: Timer:18510 - Node name: Timer
Leaked instance: PackedScene:18496 - Resource path: res://addons/pythonscript_repl/python_repl.tscn
Leaked instance: Label:18503 - Node name: Label
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: clear: Resources still in use at exit (run with --verbose for details).
At: core/resource.cpp:477
Resource still in use: res://addons/pythonscript_repl/python_repl.tscn (PackedScene)
Resource still in use: res://addons/pythonscript_repl/python_repl.py (PluginScript)
Resource still in use: res://addons/pythonscript_repl/hack_regular.tres (DynamicFont)
Resource still in use: res://addons/pythonscript_repl/hack_regular.ttf (DynamicFontData)
Resource still in use: res://addons/pythonscript_repl/input_box.py (PluginScript)
Orphan StringName: idle_process
Orphan StringName: ..
Orphan StringName: up_pressed
Orphan StringName: size_flags_horizontal
Orphan StringName: margin_bottom
Orphan StringName: __meta__
Orphan StringName: remove_last_line
Orphan StringName: ClearButton
Orphan StringName: ImageTexture
Orphan StringName: _exit_tree
Orphan StringName: normal_font
Orphan StringName: PythonREPL
Orphan StringName: _toggle_draw_caret
Orphan StringName: RichTextLabel
Orphan StringName: size_flags_vertical
Orphan StringName: write
Orphan StringName: Label
Orphan StringName: LineEdit
Orphan StringName: _submenu_timeout
Orphan StringName: PackedScene
Orphan StringName: .
Orphan StringName: HBoxContainer
Orphan StringName: InputBox
Orphan StringName: _gui_input
Orphan StringName: visibility_changed
Orphan StringName: execute
Orphan StringName: id_pressed
Orphan StringName: value_changed
Orphan StringName: FooterContainer
Orphan StringName: HeaderContainer
Orphan StringName: down_pressed
Orphan StringName: DynamicFontData
Orphan StringName: RunButton
Orphan StringName: margin_left
Orphan StringName: _enter_tree
Orphan StringName: VScrollBar
Orphan StringName: minimum_size_changed
Orphan StringName: custom_fonts/mono_font
Orphan StringName: PluginScript
Orphan StringName: timeout
Orphan StringName: custom_fonts/normal_font
Orphan StringName: Python REPL
Orphan StringName: DynamicFont
Orphan StringName: text
Orphan StringName: OutputBox
Orphan StringName: KeyboardInterruptButton
Orphan StringName: send_keyboard_interrupt
Orphan StringName: SceneState
Orphan StringName: Button
Orphan StringName: size_flags_changed
Orphan StringName: _override_changed
Orphan StringName: pressed
Orphan StringName: VBoxContainer
Orphan StringName: menu_option
Orphan StringName: DynamicFontAtSize
Orphan StringName: Timer
Orphan StringName: changed
Orphan StringName: queue_sort
Orphan StringName: mono_font
Orphan StringName: _process
Orphan StringName: focus_mode
Orphan StringName: PopupMenu
Orphan StringName: scroll_following
Orphan StringName: rect_min_size
Orphan StringName: margin_right
Orphan StringName: clear
Orphan StringName: root_canvas133
Orphan StringName: _scroll_changed
Orphan StringName: selection_enabled
Orphan StringName: text_entered
Orphan StringName: margin_top
Orphan StringName: script
Orphan StringName: _child_minsize_changed
StringName: 73 unclaimed string names at exit.
ERROR: There are still MemoryPool allocs in use at exit!
At: core/pool_vector.cpp:69
scons: done building targets.
My guess is Cython modules doesn't properly destroy the global objects when the CPython interpreter is stopped (see Cython.Compiler.Options.generate_cleanup_code)