Charlie Hubbard <[email protected]> writes: > 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. > And, I can't seem to figure who holds a lock that would block them. I notice > there are several calls to wait(), but all the threads say BLOCKED not WAITING > which makes me think they aren't stuck on wait() calls. Anyway, once this > happens everyone is blocked indefinitely. I'm using Derby 10.5.3, JDK > 1.6.0_10. I've included the full thread dump from the JVM once it's stuck. > Any ideas what's going on here?
It looks like the threads are blocked in LogToFile.flush() either because some other thread is already flushing the log (but I can't see any other thread actually doing that in the thread dump) or because the database is frozen. Perhaps a silly question, but does your application by any chance call SYSCS_UTIL.SYSCS_FREEZE_DATABASE in some situations? -- Knut Anders
