Skip to content
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

Godot 4 beta versions after 7 does not launch #73039

Closed
hellodongi1 opened this issue Feb 10, 2023 · 18 comments · Fixed by #75881
Closed

Godot 4 beta versions after 7 does not launch #73039

hellodongi1 opened this issue Feb 10, 2023 · 18 comments · Fixed by #75881

Comments

@hellodongi1
Copy link

Godot version

4.0 RC1

System information

windows 11, nvidia gtx 970m

Issue description

The last version i could launch is godot 4.0 beta 7. After that, no version of godot is launching. I tried;

  • clean install windows 11
  • upgrade graphic driver
  • downgrade graphic driver
  • C sharp version of godot

nothing works. I used console, lauched godot from command prompt etc. no error message shows up. I believe, some feature that is introduced at 4.0 beta 8 introduced a bug that prevents godot from running on certain systems. Maybe, related to vulkan i don't know.

Steps to reproduce

launch godot on specific system

Minimal reproduction project

launch godot on specific system

@akien-mga
Copy link
Member

If you are able to compile Godot from source, you could attempt bisecting the regression between 4.0 beta 6 (7f8ecff) and beta 7 (0ff8742), following this guide: https://docs.godotengine.org/en/latest/contributing/workflow/bisecting_regressions.html

@coppolaemilio coppolaemilio modified the milestones: 4.0, 4.x Feb 22, 2023
@Ranoller
Copy link
Contributor

Ranoller commented Apr 8, 2023

I've just referenced this issue from another one where I explain basically the same problem. Godot behind beta 7 doesn't even start or respond to commands in cmd, it doesn't even show the first line where the web page appears, it doesn't give any sign that it's running.

#74288

In the last comment I explain my problem, but I think it's basically the same as this one.

I've looked over the PRs between beta 7 and beta 8, there are 151. Godot takes 30 minutes to compile on my system, that's 75 hours compiling... Some kind of manual selection has to be done, some kind of assistance is needed , discard some PR, something. Bibisect this one by one is not feasible.

@clayjohn
Copy link
Member

clayjohn commented Apr 8, 2023

You should use git bisect. It will reduce your compilation count to 8 times as it's bisecting instead of compiling every version.

Read more here https://docs.godotengine.org/en/latest/contributing/workflow/bisecting_regressions.html#the-git-bisect-command

@Ranoller
Copy link
Contributor

Ranoller commented Apr 8, 2023

Oh!, exists a command for that! Well I will try to find the bug.

Beta 7 (0ff8742)
Beta 8 (45cac42)

@Ranoller
Copy link
Contributor

Ranoller commented Apr 8, 2023

ecec415 is the first bad commit
commit ecec415
Author: bruvzg [email protected]
Date: Mon Nov 21 15:04:01 2022 +0200

Use system fonts as fallback and improve system font handling.

Add support for font weight and stretch selection when using system fonts.
Add function to get system fallback font from a font name, style, text, and language code.
Implement system font support for Android.
Use system fonts as a last resort fallback.

:040000 040000 d3802e0f4b0c953248d3aa24757600248555d63a b057d16778bcae87e2699acb936fde3fe9f3fe07 M core
:040000 040000 332d8d8603cefca9247df4d37067518d0e0e189e 60dbbbb9a9de06adba76155c27fbc38d399e3a7c M doc
:040000 040000 431f476bcebcc3584dd4fdd84788afe9f7266666 c91965444ddd49a40987642e21a96dc2b8fc48b5 M editor
:040000 040000 e8418d1ab654c53efaeb818dfe7527297110846e 90bd687e89d394fa8e75f62d61d2d1f41fec47c5 M main
:040000 040000 0c45ac34bda03077f6ff82a6935d245bfeff1184 69b96737ee9685b2c469afcf00c24de37efc8a50 M modules
:040000 040000 3bf17c4b79a9fa2e599657646c4aafa075b79992 4e6c16bfa468ca7d6888bdde6fbc1447ad19f81f M platform
:040000 040000 83503f15867fc70d9c657341a06e68230c48fa8d cebad8455876a2f9b381a494439c01b9e11e8f03 M scene
:040000 040000 10b3d4ca0c386989ad8b91138e0a8f8b64c8f40f 68cf622ba3fc5618f08e35e984c7253f8fd64999 M servers
:040000 040000 09054c770f143f1357c4409fe02ccf20b0808637 8bdce41d0cf2d1791b39eefa03f96e9dd60e14b2 M tests

@Zireael07
Copy link
Contributor

That's really weird... why would system font support cause Godot not to work on Windows 11? (Also, I don't think we had any other such reports)

@Ranoller
Copy link
Contributor

Ranoller commented Apr 8, 2023

In my case is not windows 11 is windows 10.

@Ranoller
Copy link
Contributor

Ranoller commented Apr 8, 2023

I found 3 reports. This issue, the issue that i referenced before, and me...
Probably can find others if necessary.

@Zireael07
Copy link
Contributor

Many people are using Godot just fine on Windows 10 though.... (had no clue there were reports of this issue on W10, not just 11)

@Ranoller
Copy link
Contributor

Ranoller commented Apr 8, 2023

Probably other people download godot, click in it, nothing append, delete it and goes directly to unity page, who knows.... but the bug report is legit 3 cases confirmed, and commit with the regression founded. I don't know why a font commit can prevent godot to execute in some systems... Locale? Fonts instaled? Who knows...

@Ranoller
Copy link
Contributor

Ranoller commented Apr 8, 2023

#74396

Other posible case

@Ranoller
Copy link
Contributor

Ranoller commented Apr 8, 2023

#71835

And other, but this was fixed by a complete windows reinstall

@Ranoller
Copy link
Contributor

Ranoller commented Apr 9, 2023

I compiled godot master with this line commented:

CoInitialize(nullptr);

And godot opens...
So the bug is in the referenced commit. I investigate and Godot has 5 calls to CoInitialize(nullptr) and only one to CoUninitialize(nullptr). Microsoft documentation says that every CoInitialize call or CoInitializeEX with COINIT_APARTMENTTHREADED flag, that says it´s the same, should has one CoUninitialize call and the first call to CoInitialize should be the last call to CoUninitialize... I don´t know if this can be related, but commenting this line allow godot to execute in my system.

Documentation:
https://learn.microsoft.com/en-us/windows/win32/api/objbase/nf-objbase-coinitialize
https://learn.microsoft.com/es-es/windows/win32/api/combaseapi/nf-combaseapi-couninitialize
https://learn.microsoft.com/en-us/windows/win32/api/combaseapi/nf-combaseapi-coinitializeex

I don´t know if this commented line prevents the new TextServer to run or to get the system fonts, but godot opens.

@Zireael07
Copy link
Contributor

cc @bruvzg who authored the fonts commit (and hopefully knows what the eff is going on here with Windows calls)

@bruvzg
Copy link
Member

bruvzg commented Apr 9, 2023

I compiled godot master with this line commented

This is extremely strange, calling CoInitialize multiple times should be safe, and CoUninitialize is only relevant on app quit, and should not have any effect on launch. But since it's used in many places (fonts, video driver info, tts, and multiple times in the audio driver), we probably should replace it with one init/uninit call pair in the OS_Windows constructor/destructor.

@bruvzg bruvzg self-assigned this Apr 9, 2023
@Ranoller
Copy link
Contributor

Ranoller commented Apr 9, 2023

I do not program c++, I found this line bacause I debug the process of godot stucked on init with vstudio debuger and see that has some messages of thread "number" exits with error 0x0 after some windows runtimes loads... so i test that line that i suppose load some windows runtimes and voilá!, but I think i can't help more than that.

@cholasimmons
Copy link

Same here, last version to work for me was 4.0.3_x64_stable, anything after that just ends at the startup screen, the Godot logo doesn't even show at all then it just exits 💔 with x32 versions the Godot logo shows then crash

Windows 11 22H2, 16GB RAM, i7 11th gen, Iris Xe GPU

@akien-mga
Copy link
Member

This issue is unrelated as this fix is included in 4.0.3. Please open a new issue instead of commenting on closed ones.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants