godotengine / godotengine/godot
Unable to engage debugger during execution - `Parameter "script_lang" is null.`
- Dominant language
- C++
- Stars
- 117k
- Forks
- 26.8k
- PR merge metrics
- PR metrics pending
Description
### Tested versions
- Reproducible in 4.3.stable and later, not reproducible in 4.2.2
### System information
Godot v4.4.dev7 - Windows 10 (build 19045) - Multi-window, 2 monitors - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1660 SUPER (NVIDIA; 32.0.15.6094) - AMD Ryzen 7 2700X Eight-Core Processor (16 threads)
### Issue description
It appears that when you run a scene in the editor and hit a blocking operation (a large while loop seems to recreate this issue nicely), the editor becomes unable to pause execution, instead returning (on my example script, for instance):
```
E 0:00:01:0489 node_2d.gd:7 @ _ready(): Parameter "script_lang" is null.
core/debugger/remote_debugger.cpp:420 @ debug()
node_2d.gd:7 @ _ready()
```
I'm not certain if this is something that changed on my end recently, as I only noticed it with dev6, but testing reveals that I can go back as early as 4.3 to recreate the issue in the same way, while 4.2.2 properly pauses execution.
### Steps to reproduce
- Add the code below to a Node2D, run the program.
- Attempt to pause the code before the output prints, in either the scene run buttons or the debugger buttons
### Minimal reproduction project (MRP)
The below script is enough to recreate the issue:
```
extends Node2D
func _ready() -> void:
var i : int = 0
while i < 100000000:
i += 1
print("loop complete")
```
Contributor guide
Research direction
Start with the minimal Node2D script in the issue and reproduce the failed pause in Godot 4.3 or later. Then inspect core/debugger/remote_debugger.cpp around line 420 and compare the behavior with Godot 4.2.2, where pausing works. Done means the blocking loop can be paused without the `script_lang` null error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- devtools, game-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100