We have this case with
tk-houdini, but I’m pretty sure it happens in other engines.
When a file is opened,
_on_file_change_timeout tries to initialize a new toolkit and context from the file name. When that fails, the current engine is destroyed, which incapacitates the user to take further action.
For example, it is a common case that you want to open a file from outside the pipeline, and save it in the pipeline. This becomes impossible when the engine is destroyed, because workfiles does not start, either (or anything in the Shotgun menu).
I’m more than willing to send a pull request, if I know this sounds sensible.
Edit: also none of the errors along the chain is logged in Houdini’s message log/stdout. Not sure why, could not fully trace the exception handling. I see that the list of detected pipeline configs is empty, but there is no error message logged anywhere. Seemed like the TankError got printed in a couple of places.