godotengine / godot

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

Editor completely freezes on adding new child node to scene #83855

Open Daseril opened 12 months ago

Daseril commented 12 months ago

Godot version

Godot ver. 4.1.1 and 4.1.2 stable

System information

Device name DESKTOP-G7L2AS3 Processor Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz 4.00 GHz Installed RAM 24.0 GB Device ID 0145C7CC-145F-480A-BA8D-7B0A40812FA6 Product ID 00325-96009-46980-AAOEM System type 64-bit operating system, x64-based processor Pen and touch Pen support

Issue description

I'll be so far into a project and when I try to add a new child node to the scene, via either the plus sign or the context menu from right clicking on a node in the scene tree, the add new node window does not appear and the editor freezes completely, and I can not interact with anything.

It does not give me a not responding message, nor can I simply close the program with either the X in the top right or from right clicking and closing the app icon in my taskbar. The only way to close Godot when this happens is by going to task manager and ending task. This has happened in forward+ and mobile as well as compatibility. I have tried it in 4.1.1 and in 4.1.2 and even 4.0 stable. Though I can still add new scenes just fine, and I can choose the root node of the scene as long as it is one of the 4 base nodes.

Even more curious it seems to affect my projects randomly and come and go as it pleases, I had a project that had this problem before, but I recently booted it back up to show a friend the problem on it as well and the issue was gone, then when I tried it again on my current project it was gone, only for it to come back today.

The issue is not fixed by turning my computer on and off, restarting or updating my computer. Is it my computer, my download of godot, or just a problem with my project?

Steps to reproduce

Boot up godot go to any scene attempt to add new child node to scene high chance it just freezes up or very rarely just decides to go back to working for a short time for reasons I can't understand.

Minimal reproduction project

Random Selector.zip

micsicil commented 12 months ago

I have the exact same issue. I'm fairly far into the project I'm working on and can no longer add nodes! I'm on v4.1.1.

Edit: after using task manager to close Godot several times to no avail, restarting my PC seems to have fixed the issue for now.

Daseril commented 11 months ago

I tried it with 4.2 beta 3, and still had the same problem, however I also transferred my project to my windows 11 laptop and it worked just fine, so it doesn't seem to be an issue with the project or with any specific version of Godot, but more likely has to do with either Windows 10 or with some piece of my hardware. I'm leaning towards windows though.

Welshy92 commented 11 months ago

It is a rather odd issue. I've started experiencing it just today. Reset my PC, upgraded (was 4.1.2 and went into beta builds) AND downgraded (tried 4.0.4, 4.0 and 3.5.3) Godot engine version, system restore and full windows update. None of these seemed to fix the issue, and as my CPU is too old for Windows 11 I'm not really sure what I can do other than just not use Godot at all.

What's even more strange is that it only seems to occur on this project. If I start a new project then it works fine?

Daseril commented 11 months ago

I found that if I start a new project it will be ok for a little bit and then I will start having this issue on the new project as well after a few hours or the next day. but yeah I guess it is a windows 10 related editor issue. Maybe the editor is waiting for a certain event from windows but isn't able to receive it / not calling the right handle?

Daseril commented 11 months ago

So I reproduced my issue again (on windows 10 pc I mean) and used the task manager to "analyze the wait chain", but it came back that the program is running normally, So I tried process hacker to analyze the wait chains of the individual threads, but I'm not really sure what I should be looking for or what is useful. But according to even process hacker the godot editor is running normally as far as it is concerned as well.

Does anybody know what threads or handles are associated with bringing up the create new node window?

edit 10/31: Just tried in Godot 4.2 beta 4, still same issue unfortunately in this version as well.

DendrinPenPad commented 11 months ago

I got the same problem, and I'm really new to game dev, so I don't have any idea what's doing on. When I closed the window (forcefully, of course) in the debug area, it said something about not being able to find something about Blender, like a file was missing or something. I don't know what it has to do with creating child nodes, but it's the only thing that changed when I reopened it, so idk.

Calinou commented 11 months ago

Are any of you on a multi-monitor setup? Can you reproduce this after enabling Single Window Mode in the Editor Settings?

When I closed the window (forcefully, of course) in the debug area, it said something about not being able to find something about Blender, like a file was missing or something. I don't know what it has to do with creating child nodes, but it's the only thing that changed when I reopened it, so idk.

You can ignore this warning, as it's always printed when Blender isn't configured in the editor settings even if it's not needed in the current project: https://github.com/godotengine/godot-proposals/issues/7827

Daseril commented 11 months ago

Are any of you on a multi-monitor setup? Can you reproduce this after enabling Single Window Mode in the Editor Settings?

I am on a multi monitor setup, just tried what you suggested and the issue seems to have been fixed! I guess thats why it worked on my single monitor laptop.

orest-d commented 11 months ago

I have the same issue. Turning the second screen off helped - the "Create New Node" opened in the corner of the screen. So what is probably happening: the Create New Node window is opened somewhere where it is not visible and since it is a popup window, the whole application seems to be locked...

shane-smith commented 10 months ago

I suddenly started having this same issue today. I have two screens, and Godot is running on the secondary monitor.

It started happening for my portable version of Godot 4.1 -- so I tried installing the Steam version (which was 4.2) and it also occurred on that installation of Godot.

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

This resolved the problem.

DrParanoia commented 10 months ago

@Daseril Why the issue is closed though? Shouldn't this be fixed for situations when the "Single Window Mode" is disabled? 😬

Giobar97 commented 9 months ago

Hi everyone. I'm sorry for commenting an old and already closed post, but yesterday I came across this page because I had a similar problem. I have my PC always connected to two monitors, but I don't always turn on both of them. It happened to me that, while having only my main monitor on, Godot "froze" when trying to add a new child node. It seemed frozen to me at the beginning, because you can't do anything on Godot, you can't even close it by pressing the X in the top right corner, and the popup window with the list of nodes doesn't seem to come out. In my case too, Godot wasn't in "Not responding" state in Task Manager.

By reading other people's comments in this post, I saw that who had this problem has multiple monitors too, at that point I understood what the problem actually was. Godot is not freezing at all, it's just showing the nodes list popup window in the wrong screen! If like me you're working with one of the monitors turned off, then it's just enough to move the window to the monitor you're currently using. If you have all of your monitors on, then maybe there's another similar problem, but try checking in your screen settings if your system detects any extra monitor for some reason, maybe the window ended up there, or just try anyway this method, maybe the window got minimized for some reason.

[!IMPORTANT] To bring back the window to your main screen, while it has focus (so do this after you open it by clicking the + "Add child Node" button, whitout touching anything else to avoid losing focus), keep pressed your WINDOWS key and then press your left (or right, it's actually the same) arrow key as many times as it's required for the window to get to your screen.

This is default Windows shortcut to move current focused window through your screens.

If the window is instead minimized for some reason, you should be able to bring it back by pressing the up arrow instead of left/right arrow (down arrow minimizes the currently focused window instead, so make sure you're not pressing that one).

If for any reason you lost focus of the nodes list popup window and you minimized it by mistake, just focus Godot main window, minimize it with WIN + down arrow key (x2), and then bring it back with WIN + up arrow key, and both windows will be brought back to screen. This won't work if you have the popup window open on another screen though, since it will be maximized back in that screen, so if you lost focus in that case I'm afraid the only way is to turn on all your monitors and see if you can find it, or kill Godot's process from task manager and use the WIN + left/right arrow combo immediately after you got focus on the popup window by opening it.

[!CAUTION] Killing Godot process will make you lose your progress on your project if you didn't save it before.

If you forgot to save your project and just want to be safe, as long as you still have focus on the popup window you can still close popup window with ALT + F4, as long as you still have focus on the popup window, save all first, and then try to open the popup window and try to move it with one of those keyboard shortcuts.

Namakamoto commented 9 months ago

Yeah, for me the window also disappears somewhere where I cannot see it onto another screen... I wouldn't call this "fixed" and wouldn't close it either, but then again who am I to judge

Giobar97 commented 9 months ago

Well, for sure it is a problem and it isn't fixed, but could be a windows bug and maybe Godot has nothing to do to fix it.

I can tell you I have a relatable problem with Photoshop, too. If I have the main window maximized in my main monitor, with the secondary monitor turned off, and keep pressed any element on the toolbar, the popup for secondary tools gets drawn in the secondary screen, and I'm unable to select any other tool than the ones you have by default in the toolbar.

It seems to me it's just Windows being bad at managing windows (lol) with multiple monitors setups.

Daseril commented 9 months ago

Since many people have commented that this issue isn't really fixed I'll go ahead and reopen it. At the moment, "enabling Single Window Mode in the Editor Settings" is the temporary fix, but it doesn't fix the issue for those that don't want to use the single window mode.

Jan-PieterInghels commented 8 months ago

Duplicate of #85587.

Came here to let you know that I encountered this 'bug' until I turned on single window mode.

I know this is technically human error, but since every well designed system is fool-proof I think an argument can be made that a fix for this one is welcome.

Here are two proposals: 1) Always render modal windows on top of the main editor window (but allow dragging them anywhere) 2) Turn on single window mode by default (probably total overkill and an annoyance to many to be fair)

donpers commented 8 months ago

@Calinou 's fix also helped me. In my case i ported a project from notebook (linux debian) to my pc (win 11) with 2 monitors, when this bug appeared.

cyda89 commented 6 months ago

I have the same issue. Turning the second screen off helped - the "Create New Node" opened in the corner of the screen. So what is probably happening: the Create New Node window is opened somewhere where it is not visible and since it is a popup window, the whole application seems to be locked...

This what happened to me as well. I just wasted an hour on this and am feeling quite dumb and embarrassed now.