Zlatin Balevsky <[EMAIL PROTECTED]> posted a stack dump.
I looked at it, and wondered, "how did he do that?"

So I googled "java stack dump" and found out:
  kill -QUIT `cat freenet.pid`

Shortly thereafter, my node became compute bound.

Sun recommends for compute bound tasks, you should take
several dumps.  I did so, and eventually figured out that
the common feature was lots of processes in 
KillSurplusConnections, and one process doing
BigInteger math.  So I fixed DSAIdentity to precompute
the hash codes.  Then I looked again at the stack
dump Zlatin posted, and it looks like the same thing,
except he didn't catch it inside BigInteger.shiftRight.


"QThread-94747" prio=1 tid=0x0x59435a38 nid=0x63d4 
waiting on condition [5af6f000..5af6fc50]
at java.math.BigInteger.shiftRight(BigInteger.java:2001)
at freenet.DSAIdentity.hashCode(DSAIdentity.java:130)
at java.util.Hashtable.get(Hashtable.java:329)
- locked <0x45b2d648> (a java.util.Hashtable)
at freenet.node.rt.NGRoutingTable.references
   (NGRoutingTable.java:147)
at freenet.node.rt.FilterRoutingTable.references
   (FilterRoutingTable.java:52)
at freenet.OpenConnectionManager.onlyRTNodeConn
   (OpenConnectionManager.java:298)
at freenet.OpenConnectionManager.onlyRTNodeConn
   (OpenConnectionManager.java:294)
at freenet.OpenConnectionManager.KillSurplusConnections
   (OpenConnectionManager.java:476)
- locked <0x45cea3f0> (a freenet.support.LRUQueue)


Compare to Zlatin's stack dump:


"QThread-14857" prio=1 tid=0x592e4438 nid=0x4328 
runnable [bc1ff000..bc1ff8d8]
at java.util.Hashtable.get
   (Hashtable.java:332)
- waiting to lock <0x46c88480> (a java.util.Hashtable)
at freenet.node.rt.NGRoutingTable.references
   (NGRoutingTable.java:147)
at freenet.node.rt.FilterRoutingTable.references
   (FilterRoutingTable.java:52)
at freenet.OpenConnectionManager.onlyRTNodeConn
   (OpenConnectionManager.java:301)
at freenet.OpenConnectionManager.onlyRTNodeConn
   (OpenConnectionManager.java:297)
at freenet.OpenConnectionManager.KillSurplusConnections
   (OpenConnectionManager.java:498)


-- 
Edward J. Huff <[EMAIL PROTECTED]>

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
Devl mailing list
[EMAIL PROTECTED]
http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/devl

Reply via email to