This is the mail archive of the
java-prs@gcc.gnu.org
mailing list for the Java project.
[Bug libgcj/16662] IllegalMonitorStateException in EventQueue.getNextEvent(): possible hash synchronization bug?
- From: "Hans dot Boehm at hp dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: java-prs at gcc dot gnu dot org
- Date: 10 Aug 2004 00:44:34 -0000
- Subject: [Bug libgcj/16662] IllegalMonitorStateException in EventQueue.getNextEvent(): possible hash synchronization bug?
- References: <20040721214713.16662.mckinlay@redhat.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From Hans dot Boehm at hp dot com 2004-08-10 00:44 -------
One other small piece of data:
In the failing runs I've seen, only a single heavy lock (for the user lock
which eventually causes the problem) is allocated at the beginning of the run.
Thus the chain of heavy locks is indeed completely static, as should be
expected.
I'm attempting to reproduce the failure with some circular buffer logging code,
but even without that, it currently takes me hours to reproduce the problem.
Based on further inspection, there does seem to be another problem with
Object.wait() only notifying a single thread if it inflates the lock. It
should notify all waiters. But that seems to be an extremely unlikely
scenario, and should only result in performance or possibly deadlock issues,
and only if there are more than two threads involved. I will include it in the
patch I'm accumulating.
Hans
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16662