I'm sometimes getting deadlocks in Log2File where all my worker threads are getting blocked, but I can't figure out which monitor they are blocked on.

Thanks for sending the thread dump, it was very interesting.

I agree with you, it's not clear what is blocking these threads,
at least from the thread dump.

I think this could be a Derby bug. How often does it happen? Is it
a new behavior?

Looking at the source code, LogToFile.flush() has some complicated
synchronization logic which interacts with the backup/checkpoint methods.

Does your application perform a backup?

Does your application involve replication?

Does your application ever call SYSCS_UTIL.SYSCS_FREEZE_DATABASE
or SYSCS_UTIL.SYSCS_CHECKPOINT_DATABASE?

If you are calling SYSCS_FREEZE_DATABASE, is it possible that you
have some path through your system which fails to subsequently call
SYSCS_UNFREEZE_DATABASE?

thanks,

bryan

Reply via email to