That is not the same, it’s different code and a different build and is not even a release candidate.
It happen when I use 8.0.3, this why I try 8.99 nightly.
This whole thread sounds like the IME bug we will never fix because it’s an issue with Windows.
If you have a language enabled that will use the IME editor (using CJK), you can cause the IME to open in a race condition with our hotkey handler. The result is the IME does not open when Windows thinks it should and the application gets “locked up” because Windows stole the part of the event loop without giving it back. The only “fix” is to remove KiCad’s support for hotkeys. I also have an unholy fix but it’s inappropriate to put in code.
I believe I have found a solution for this problem. I was showing my coworker how to improve his layouts when it froze again. This time we had task manager already open on the second monitor and we noticed a field that was not normally visible when we opened the task manager after a freeze. It’s a column called GPU engine, and it had GPU 2 listed as the GPU engine for KiCAD. I right clicked on the KiCAD desktop icon, went to the option “Render OpenGL on” and in the past I’ve only ever seen the GPUs listed, but this time I noticed an option called “Choose which GPU to render OpenGL”. Out of curiosity I clicked on it. It pulled up an Nvidia license agreement. I clicked agree, the window went away, and then nothing happened. I immediately thought about how the freezes look like there’s a pop-up you can never get to, and I wondered if this license agreement is the pop-up, so I tried to run KiCAD and see what would happen. In task manager, it said that we were running KiCAD on GPU 1, and ever since we have not had a crash. We’ve been trying to crash it, and it just hasn’t happened yet.
So, what exactly fixed it? Was it simply changing to GPU 1? Was it clicking agree on the Nvidia license on that menu option I’ve never seen and that does absolutely nothing every time we’ve clicked on it since the first time? I can’t say exactly, but I suspect it’s GPU 1 that fixed it. However, that license agreement window was very strange and hasn’t come back, so it could have been that.
If you’re getting freezing try changing the OpenGL rendering GPU, and if that doesn’t do it, see if you can find that Nvidia license agreement window via the same method I found it, or some other method.
(Anyway, other attempts have resulted in minor improvements and initial periods of not crashing, so maybe it’ll crash again in the future. I’ll be back if it does.)
@marekr, that’s a good point. I had forgotten about that bug because I haven’t been affected by it in a very long time. As far as I can tell it has been fixed.
I did try changing languages in the IME while editing a text field (after the GPU setting changes above), and nothing happened. With this current freezing bug, editing text fields or shape properties tends to cause a freeze (in addition to using the 3D viewer), but judging by the lack of freezing while changing IME languages and typing, this seems like it is not the IME bug.
Nope, not fixed, I simply reduced the chances of it occuring but there are numerous ways to still trigger it if you know how. Lol
If you want to trigger it, be in the ime language, and the exact microsecond you see a window pop open, press the M key ( or any really). It will lock up the entire application.
But this kind of freeze is different from say a GPU freeze.
In a IME freeze , windows will never consider a program for “wait for program to respond”. If you freeze due to something like the gpu, spam clicking on the window should go into the " waiting for program to respond" state.
But then again, if Nvidia’s shit driver is trying to open a dialog on top of kicad, maybe that could cause the same issue. Lol
Application: KiCad x64 on x64
Version: 8.0.4, release build
Libraries:
wxWidgets 3.2.5
FreeType 2.12.1
HarfBuzz 8.3.0
FontConfig 2.14.2
libcurl/8.5.0-DEV Schannel zlib/1.3
Platform: Windows 10 (build 19045), 64-bit edition, 64 bit, Little endian, wxMSW
Build Info:
Date: Jul 17 2024 03:26:47
wxWidgets: 3.2.5 (wchar_t,wx containers)
Boost: 1.83.0
OCC: 7.8.1
Curl: 8.5.0-DEV
ngspice: 42
Compiler: Visual C++ 1939 without C++ ABI
Build settings:
Well, nicely done. I haven’t seen the IME bug in quite some time in KiCAD. Maybe the last time was version 5?
BTW, on the freezing bug, my coworker claimed it froze again after changing the GPU engine, but I wasn’t there when it happened, so I can’t be sure it was after the GPU engine change or if the GPU engine went back to GPU 2, or what. I’ll try to follow up on that and come back with a more definite answer after the weekend.