Re: [isabelle] Isabelle2016-RC0 - does not exit on Linux
On Mon, 4 Jan 2016, Lars Hupel wrote:
This sounds like the JVM/AWT shutdown problem, that I've now addressed
For the records, I've also experienced shutdown problems in libisabelle.
The main reason is that the threads created by the thread pool are not
flagged to be daemon, although I don't know whether this is intentional
The situation is even more entangled.
Quite long ago I started making various threads daemons, in order to
increase chances that the JVM terminates, while these threads are still
But this later caused the problem introduced in Isabelle/3ad2b2055ffc
(05-Oct-2015): the daemon thread was sending something to the AWT thread
and waiting for the result; the AWT thread was already terminated, because
it only waits for non-daemon threads before shutting itself down; so the
wait of the daemon ended up as deadlock.
Today I first tried to make the daemon thread a non-daemon, but got
entangled elesewhere, for unknown reasons.
Then I just gave up the ambition to be ultra-smart in the inter-thread
ping-pong. So in 8bcbf1c93119 we are back to a situation where a daemon
thread sends asynchronously a task on the queue of the AWT thread, without
waiting for a result. It means that the whole task stays on the AWT
thread, when it actually happens -- causing several milliseconds of
potential GUI lock-up.
This archive was generated by a fusion of
Pipermail (Mailman edition) and