As of this writing, the following code in fiji.py errors out:
while True:
if disposed.get(ctx):
break
sleep(0.1)
because once the JVM shuts down, the disposed.get(ctx) cannot work because disposed is a Java Field, and there is no more JVM available to operate upon it.
We need to come up with a better solution for blocking the main thread appropriately on all platforms and then handling program termination gracefully without errors or crashes.