Java-level deadlock
A Java SQL client for any JDBC compliant database
Brought to you by:
colbell,
gerdwagner
Sometimes I have problems of a "hang" of SQuirreL wich may not end.
What did I do?
I have some open Sessions including some internal tab sheets.
I wanted to close some of them as SQuirreL hat some problems to show me correct color of code text.
Therefore I selected "Refresh" in Session One.
Directly afterwards I closed two other Sessions - while closing the second SQuirreL startet to hang and nothing was working again. I checked jVisualVM and it told me that there is a deadlock. See Attachment:
Found one Java-level deadlock:
=============================
"Thread-2":
waiting to lock monitor 0x00000083595f20f8 (object 0x00000000805060b8, a net.sourceforge.squirrel_sql.client.session.SessionManager),
which is held by "AWT-EventQueue-1"
"AWT-EventQueue-1":
waiting to lock monitor 0x0000008358b3c4c8 (object 0x0000000082536818, a net.sourceforge.squirrel_sql.fw.sql.SQLDatabaseMetaData),
which is held by "Thread-2"
I use SQuirreL snapshot-20210131_2217
Unfortunately I can't reproduce your problem. But with the help of your stack dump I was able to remove some unnecessary synchronizations which are likely to cause the problem.
Could you please check out this snapshot
https://sourceforge.net/projects/squirrel-sql/files/3-snapshots/snapshot-20210309_2111/
and let me know if the hang is gone?
Thanks
Gerd
I think this helped...
I report again if this happens again.
Thanxs for fast help!