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

[Linux] Upon any file/folder creation inside of Godot; crashes the Hyprland session #75752

Closed
Tracked by #78581
Migzus opened this issue Apr 6, 2023 · 5 comments · Fixed by #79143
Closed
Tracked by #78581

[Linux] Upon any file/folder creation inside of Godot; crashes the Hyprland session #75752

Migzus opened this issue Apr 6, 2023 · 5 comments · Fixed by #79143

Comments

@Migzus
Copy link

Migzus commented Apr 6, 2023

Godot version

4.0.x-stable

System information

Hyprland Arch Linux v0.23.0beta

Issue description

By simply just creating any file, resource or directory the Hyprland session crashes. It is quite difficult to give more context than that. In the aftermath of the crash, it does spam the message:

"!EditorSettings::get_singleton() || !EditorSettings::get_singleton()->has_setting(p_setting)" is true. returning Variant()
at: _EDITOR_GET (editor/editor_settings.cpp:1101)

I do not believe that this is the cause of the crash. Because I am not interacting with the editor settings at all.
However, I did get another error message in some of my tests, when the spam stopped

Fatal glibc error: pthread_mutex_lock.c:94 (___pthread_mutex_lock): assertion failed: mutex->__data.owner == 0

This tells us that something tried to lock a thread but failed. Not sure if that specifically is Godot's side or Hyprland's side.

I would also like to mention I have tried Godot 3.x versions, it works just fine.

This crash might be due to the setup I have or on Hyprland's part.
I would like to briefly mention that Hyprland is a window tile manager, and works similarly to i3/sway. Though I have not tested if this crash happens there too. The reason why I am mentioning this is mostly because there might be some conflicts between when Godot opens a new window, and how Hyprland handles windows. If, we keep in mind what I mentiond earlier about the mutex error. So it could be a Hyprland problem.

Other than that, there is not a whole lot to work off of from here. I might just have to wait this out and see if it might be because of my setup. So I might have to wait for new updates and such.

And the reason as to why I do not think I have to open an issue in the Hyprland repo. Is because it seems to be a Godot 4.0.x specific issue.

Also one more thing, it seems this does not happen with the saving scenes window, but only when you right-click the FileSystem-tab and attempt to create any resource from there.

UPDATE: Got some more errors that might be a little more helpful

ERROR:connection.cc(46) X connection error received 

So XWayland may be involved in this

Additionally, I can create sub-resources in the inspector (i.e. a new Shader) and store the file that way. That works. Odd...

Steps to reproduce

Setup a Hyprland session, then install Godot 4.0.x (be it through the website or through pacman/yay it does not matter)
Create/import any project
Attempt to create a file or a directory inside of godot
Then prepare for the session to crash

Minimal reproduction project

Any project.

@Calinou
Copy link
Member

Calinou commented Apr 6, 2023

Can you reproduce this after enabling Single Window Mode in the Editor Settings?

@Migzus
Copy link
Author

Migzus commented Apr 7, 2023

No that seems to fix it, and I disabled it right after to see if the error was predictable. And yes, it crashes again if I turn Single Window Mode off.

@Riteo
Copy link
Contributor

Riteo commented Apr 13, 2023

Ugh, I think that this is once again XWayland's fault, somehow. I want to point out that hyprland is a wayland compositor.

@quinnyo
Copy link
Contributor

quinnyo commented Jul 10, 2023

but only when you right-click the FileSystem-tab and attempt to create any resource from there.

May be worth trying to reproduce this since #79143 was merged.

It may also be worth mentioning to the Hyprland developers -- even if Godot is doing something wrong/unexpected, the compositor would hopefully deal with that without crashing.

@Migzus
Copy link
Author

Migzus commented Jul 11, 2023

Yes, that seems to be correct. I can now create files and resources from the file system tab, with single window mode disabled. Closing this issue and can be assumed fixed.
Tested with v4.2.dev.custom_build [b7c2fd2]

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