Recently we have seen node lockups with most threads waiting to lock the
routing table, and none actually having a lock on it. My node just
produced a stack dump where many MANY threads were:
 - waiting to lock <0x46526ad8> (a freenet.diagnostics.Binomial)
  at freenet.diagnostics.RandomVar.add(RandomVar.java:103)
  at freenet.diagnostics.Binomial.add(Binomial.java:36)
  at 
freenet.diagnostics.StandardDiagnostics.occurrenceBinomial(StandardDiagnostics.java:139)
  at freenet.OpenConnectionManager.put(OpenConnectionManager.java:124)

0x46526ad8 does not occur in any other context.

Conclusion: Under heavy locking load, (or under some other condition
only recently triggered because of recent bugs and changes w.r.t. open
connections only routing), Sun JVM 1.4.2 can get these deadlocks. It is
NOT in our code, because it occurs with the Binomial AS WELL AS with the
completely unrelated routing table locks. We can recommend people use
1.4.1... we can perhaps report the bug to Sun... can we do anything
else? Recommending people use 1.4.1 is in itself rather distasteful...
-- 
Matthew J Toseland - [EMAIL PROTECTED]
Freenet Project Official Codemonkey - http://freenetproject.org/
ICTHUS - Nothing is impossible. Our Boss says so.

Attachment: freenet-error.log.gz
Description: Binary data

Attachment: pgp00000.pgp
Description: PGP signature

Reply via email to