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]>
signature.asc
Description: This is a digitally signed message part
_______________________________________________ Devl mailing list [EMAIL PROTECTED] http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/devl