Found a source of issue that explains some freeze at startup
Hello,
While running some debug, at some point, I couldn't load anymore the software, hanging with CPU usage and memory growing slowly but infinitely. The debug.txt looked like it was caused by the device detection (intrerrupted while listing some device property) as a known issue I already saw commented in a thread here (WhiteMagic said he couldn't really reproduce it and it had also happened to him but fixed after a reboot). As some user in this thread I refer to, I am using Virpil Joysticks.
Running in debug allowed me see that was caused by an infinite call of the GremlinUi._joystick_input_selection() due to sudden miscalibration of the devices (one axis was 46% and not 50% - neutral - because of some shift or something related to the virpil driver). Therefore it was emitting endlessly an event, all caught by this event listener, preventing the UI to be usable. Recalibrating with the driver the joysticks fixed the problem !
Hope it helps enhance the sofware (by deactivating some event listening during the startup procedure ?) and provides to those that experience the problem a good workaround. The last entry in system.log was "INFO Gremlin UI launching".
It's a bit odd that this should cause a hang. For one, that function won't do anything meaningful unless there is significant movement in an axis, i.e. +/- 25% by default and the hooking of that function only happens at the end of a bunch of other UI stuff. The log message you see also is only written after the UI object has been created, which means the hooking of the callback happened and is not blocking in odd ways. It still might be linked somehow, but due to the asynchronous nature of how events get handled the source and effect can be really hard to pin-point.