godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
91.6k stars 21.28k forks source link

v4.2.dev6 crashes opening 4.1.2 project #82795

Closed sszigeti closed 1 year ago

sszigeti commented 1 year ago

Godot version

v4.2.dev6.mono.official [57a6813bb]

System information

Windows 11

Issue description

I simply tried to open a v4.1.2 project in v4.2.dev6. It's a purely C# project, a prototype, rather, with some basic 3D experiments (a dice roller, nothing complex).

I should mention that I'm using Godot Jolt as the physics engine, so perhaps this could be relevant.

Upon opening the project and accepting the prompt to have the project upgraded, Godot quits without printing anything, so I started it with --verbose, and I'm attaching this log. I've spotted some weird content which looks like race condition between threads, for example:

UGnoldooatd iEnnggi:n eD ivs4p.o2s.indeg tvra6ck.emdo ninost.aonfcfeisc.i.a.l
.57a6813bb - https://godotengine.org
TeUxntSleoravedirn: g:A dFdiendi sihnetde rdfiascpeo s"iDnugm mtyr"a
cked instances.

I also see a number of "Orphan StringName" errors, which are strange, especially the one that complains about "JavaScriptBridge"

godot_editor_412_project_conversion_log.txt

After this 3 files were changed in my project:

Created: addons\godot-jolt\windows\~godot-jolt_windows-x64_editor.dll

Modified: MyProject.csproj:

- <Project Sdk="Godot.NET.Sdk/4.1.2">
+ <Project Sdk="Godot.NET.Sdk/4.2.0-dev.6">

Created: MyProject.csproj.old.1

Despite these changes, on a repeated attempt Godot has warned me again about having to upgrade the project, then crashed again.

Steps to reproduce

Just tried opening a 4.1.2 project. After a few seconds, Godot quits.

Minimal reproduction project

Sorry, I'd rather not share my prototype here, and I have no idea which part could be relevant, as I can't really interpret the editor's output.

AThousandShips commented 1 year ago

Please run without Jolt to check, issue reports are only considered if the error is from the engine, not third party code

sszigeti commented 1 year ago

Having switched back to the default physics engine, restarting 4.1.2, then deleting the addons directory has fixed the crash: I was able to open the 4.1.2 project in 4.2.dev6, and it seems to behave like it did in 4.1.2.

(I still see the scrambled letters and a number of "Orphan StringName" entries in the log.)

Since the crash has happened because I had an alternate physics engine, I think an error message stating this problem would have been useful.

AThousandShips commented 1 year ago

It is probably related to the physics engine being out of date, also the scrambled output might have hidden such an error, what does the log file say?

sszigeti commented 1 year ago

Attached the --verbose log for the project with the default physics engine.

godot_editor_412_project_conversion_log-without_Jolt.txt

mihe commented 1 year ago

Almost certainly a duplicate of #82810.

akien-mga commented 1 year ago

Indeed, this is not a Godot bug. For now you should remove Jolt to test 4.2 dev snapshots / betas until godot-jolt is updated to support 4.2.