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.0 alpha editor segfaults when browsing to import a project using lavapipe #58903

Closed
warriordog opened this issue Mar 8, 2022 · 11 comments

Comments

@warriordog
Copy link

Godot version

v4.0.alpha3.official.256069eaf

System information

Xubuntu 21.04 (64-bit)

Issue description

The editor crashes with a segfault when clicking "Browse" in the Project Manager's "Import Existing Project" dialog. This happens immediately, before the file picker even opens.

Console output:

hazel@CBKLAPTOP:~/programs$ ./Godot_v4.0-alpha3_linux.64 
Godot Engine v4.0.alpha3.official.256069eaf - https://godotengine.org
Vulkan API 1.2.162 - Using Vulkan Device #0: Unknown - llvmpipe (LLVM 12.0.0, 256 bits)
WARNING: lavapipe is not a conformant vulkan implementation, testing use only.
 
Segmentation fault (core dumped)

Steps to reproduce

  1. Open the godot editor to the Project Manager screen.
  2. Click "Import" in the top-right corner to import a project. The "Import Existing Project" dialog will open.
  3. Click "Browse" to the right of the "Project Path" field.
  4. The editor immediately closes, and Segmentation fault (core dumped) is printed to the terminal.

Minimal reproduction project

No reproduction project, as this happens before any project is loaded.

@Calinou
Copy link
Member

Calinou commented Mar 8, 2022

Do you have a Vulkan-compatible GPU? If so, does this occur when using it instead of software rendering via lavapipe?

@warriordog
Copy link
Author

@Calinou Not on that computer. It has an Intel i7-2670QM with HD 3000 integrated graphics, which doesn't support Vulkan as far as I know. Do you just need any Vulkan GPU to test? I could try this on my main computer if that would help. It has a much more modern GTX 980 (which definitely DOES support vulkan), but it only has Windows installed so I'd need to boot an Ubuntu live USB.

@Calinou
Copy link
Member

Calinou commented Mar 8, 2022

Do you just need any Vulkan GPU to test?

Yes, any fully Vulkan-compatible GPU will do. This excludes Intel Haswell IGPs, which are only partially Vulkan-compatible.

@akien-mga
Copy link
Member

akien-mga commented Mar 8, 2022

I can't reproduce the issue with either AMD Radeon RX Vega M or with lavapipe:

Vulkan API 1.2.0 - Using Vulkan Device #1: AMD - AMD RADV VEGAM
Vulkan API 1.2.0 - Using Vulkan Device #0: Unknown - llvmpipe (LLVM 13.0.1, 256 bits)

But @warriordog has a slightly older lavapipe, and so bug is likely related to it. It's not a fully conformant Vulkan implementation as the warning mentions. And there's an upstream issue keeping track of related problems: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3772

You could compile a debug build of Godot to have debug symbols and get a crash backtrace, which could confirm if the crash happens in lavapipe code.

@akien-mga akien-mga changed the title v4 Editor segfaults when browsing to import a project Godot 4.0 alpha editor segfaults when browsing to import a project using lavapipe Mar 8, 2022
@warriordog
Copy link
Author

I think this is very likely to be an issue with lavapipe. I upgraded to Xubuntu 21.10 (which has a slightly newer version) and now the crash happens even earlier. Godot closes with a segmentation fault at around the time when it would be moving from the splash screen into the actual editor. I'm going to try and manually update to the latest version and - if I don't brick my installation - I'll report back if the problem is fixed.

@warriordog
Copy link
Author

Well, I updated to the latest compatible version of mesa (21.3.7) and the crash still happens:

hazel@CBKLAPTOP:~/programs$ ./Godot_v4.0-alpha3_linux.64 
Godot Engine v4.0.alpha3.official.256069eaf - https://godotengine.org
Vulkan API 1.2.162 - Using Vulkan Device #0: Unknown - llvmpipe (LLVM 13.0.0, 256 bits)
WARNING: lavapipe is not a conformant vulkan implementation, testing use only.
 
Segmentation fault (core dumped)

@warriordog
Copy link
Author

Godot 4.0 Alpha 4 is still affected, by the way:

hazel@CBKLAPTOP:~/programs$ ./Godot_v4.0-alpha4_linux.64 
Godot Engine v4.0.alpha4.official.f47097973 - https://godotengine.org
Vulkan API 1.2.162 - Using Vulkan Device #0: Unknown - llvmpipe (LLVM 13.0.0, 256 bits)
WARNING: lavapipe is not a conformant vulkan implementation, testing use only.
 
Segmentation fault (core dumped)

@warriordog
Copy link
Author

@akien-mga I don't know how to make a debug build, but I ran under gdb and got this:

Thread 20 "Godo:lavapipe0" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffbcff9640 (LWP 4517)]
0x00007ffff064d689 in llvm::CmpInst::Create(llvm::Instruction::OtherOps, llvm::CmpInst::Predicate, llvm::Value*, llvm::Value*, llvm::Twine const&, llvm::Instruction*) () from /lib/x86_64-linux-gnu/libLLVM-13.so.1

@Calinou
Copy link
Member

Calinou commented Mar 10, 2022

This should likely be reported to the Mesa developers (where lavapipe is maintained).

@EamonnMR
Copy link

Seeing the same issue on the latest lubuntu lts. Is gd4 just not targeting anything without Vulkan?

@Calinou
Copy link
Member

Calinou commented Oct 12, 2022

Duplicate of #38428.

Is gd4 just not targeting anything without Vulkan?

There's an OpenGL renderer you can test with the --rendering-driver opengl3 command line argument, but many features are still missing, especially in 3D. Note that you may have to create a project from the command line (see that page's description) to bypass the project manager. See also #58927.

@Calinou Calinou closed this as not planned Won't fix, can't repro, duplicate, stale Oct 12, 2022
@Calinou Calinou removed this from the 4.0 milestone Oct 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants