-
-
Notifications
You must be signed in to change notification settings - Fork 21.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GDScript LSP parse_local_script() crashes the editor #39375
Comments
Stacktrace from the
Had to tweak the
|
The original MRP is a bit evil as it's a tool script that tries to parse itself... but the same crash happens when parsing another script without circular reference. |
`latest_client_id` now defaults to `-1` (invalid ID) instead of `0`. Also fix typo in notification `gdscrip_client/changeWorkspace`, and fix argument names in method binds. Fixes godotengine#39375.
Will this be fixed in 3.2? Also is this a misuse? (there is no doc for it) The GDScript doc maker uses it, and I would really like to use that data source as well...
I don't see how that's a problem, it shouldnt be. It's not like I'm doing |
I can't find any place in this repo where Note I'm just interested to get the GDScript parsing data from within the Godot editor, not even trying to write a client/server thing. I've been looking for a way to get that data for a while, but so far it seems to remain behind an API meant for something else... |
Maybe @NathanLovato and @Razoric480 (who authored the GDQuest script) can weigh in. Maybe |
I can't really comment on this issue, despite me and Nathan working on the script that uses it; we never really encountered an issue with it, maybe because we specifically had used it in a way that it wouldn't reference itself (having the scripts in the root of the project, pointing to a specific directory) or because we run it from inside a launched editor instance. Either way, it was sheer happenstance rather than a deliberate bug avoidance. |
`latest_client_id` now defaults to `-1` (invalid ID) instead of `0`. Also fix typo in notification `gdscrip_client/changeWorkspace`, and fix argument names in method binds. Fixes godotengine#39375. (cherry picked from commit e34f337)
`latest_client_id` now defaults to `-1` (invalid ID) instead of `0`. Also fix typo in notification `gdscrip_client/changeWorkspace`, and fix argument names in method binds. Fixes godotengine#39375.
`latest_client_id` now defaults to `-1` (invalid ID) instead of `0`. Also fix typo in notification `gdscrip_client/changeWorkspace`, and fix argument names in method binds. Fixes godotengine#39375. (cherry picked from commit e34f337)
Godot 3.2.2 beta4
After reading how https://github.com/GDQuest/gdscript-docs-maker/blob/4c3020988c2542737abf467a7ae40d9f744e544c/godot-scripts/Collector.gd#L74 was written, I discovered there is an apparently undocumented access to GDScript language server, which I'd find very useful to have information about.
So I tried to grab that data and see what it provides, using a similar script. I used an
EditorPlugin
because that singleton doesn't exist in non-editor launches. Unfortunately, it crashes the editor when my script gets to callworkspace.parse_local_script(file)
.Test project:
GDScriptDocCrash.zip
Go to
ProjectSettings
and enable the plugin.The text was updated successfully, but these errors were encountered: