Pages:
Author

Topic: Algorithmically placed FPGA miner: 255MH/s/chip, supports all known boards - page 6. (Read 119421 times)

member
Activity: 110
Merit: 10
Has the issues with the modminer been corrected yet.
donator
Activity: 980
Merit: 1004
felonious vagrancy, personified
Ugh.  It totally is the same telnet information.  I'm an idiot.

Also: if you press "enter" it will cycle between showing you clock-rates, hash-rates, and error-rates.

Yeah, a lot of this stuff is seriously under-documented.
donator
Activity: 90
Merit: 10
Ugh.  It totally is the same telnet information.  I'm an idiot.
hero member
Activity: 714
Merit: 500
Psi laju, karavani prolaze.
I've started running the status_port option in an attempt to get quick statistics (and possibly kill the process early).

What am I looking at here?

Code:
 modminer:/dev/ttyACM0  155 155 155   155 155 155     0  71  71    42  85 100



If I would guess the outputs order is same as via tml cli output hashrate/clockspeed/errors (ref: http://www.tricone-mining.com/tml.html ) but I dunno if your numbers makes sense.
Can you compare the two outputs?


donator
Activity: 90
Merit: 10
I've started running the status_port option in an attempt to get quick statistics (and possibly kill the process early).

What am I looking at here?

Code:
 modminer:/dev/ttyACM0  155 155 155   155 155 155     0  71  71    42  85 100

donator
Activity: 980
Merit: 1004
felonious vagrancy, personified
I have released 1.54 which fixes another small bug in the code that reconnects to the signcryption server if the connection is dropped.

  http://www.tricone-mining.com/tml/tml-1.54.jar


29.Nov.2012  Version 1.54
             Fix bug in signcryption-reconnect code

donator
Activity: 90
Merit: 10
Grr, embarrassing typo.  I need to start using @Override more often.  I like how scala makes it mandatory.

I have released 1.53 which fixes this.

  http://www.tricone-mining.com/tml/tml-1.53.jar


29.Nov.2012  Version 1.53
             Fix bug that was preventing minimum_accept_rate from working


Works as described!
donator
Activity: 980
Merit: 1004
felonious vagrancy, personified
Maybe another clue.... -Dminimum_accept_rate=X does not cause the Java process to terminate.  I let it sit for hours, and the min rate was at 700.

Grr, embarrassing typo.  I need to start using @Override more often.  I like how scala makes it mandatory.

I have released 1.53 which fixes this.

  http://www.tricone-mining.com/tml/tml-1.53.jar


29.Nov.2012  Version 1.53
             Fix bug that was preventing minimum_accept_rate from working
donator
Activity: 90
Merit: 10
Here is the script I wrote to loop forever, restarting TML for a MMQ whenever the rate drops below 700.

The script takes a single argument for the ttyACM USB connection.  If you only have a single miner, this value will probably be zero (0).

Code:
#!/bin/sh

for ((;;))
do
   # Determine if the miner is available
   if [ -e /dev/ttyACM$1 ]
   then
      java -Davoid_reprogramming=true -Dclock_pin=fgg484.K20 -Dclock_pin_freq=100 -Drecalibrate_clock=true -Dread_write_debug=false \
         -Dminimum_accept_rate=700 \
         -jar tml-1.52.jar modminer:/dev/ttyACM$1  http://YOURPOOLINFO &>>tml.$1.log
   else
      echo "Miner not found on /dev/ttyACM$1"
      break
   fi
done
donator
Activity: 90
Merit: 10
Maybe another clue.... -Dminimum_accept_rate=X does not cause the Java process to terminate.  I let it sit for hours, and the min rate was at 700.

Code:
               revoking all work with prevblock ecbb92efb3595f5d7dc969308f7b24e5b2928579526adeee0000011000000000
             got long poll from 127.0.0.1, new prevblk=dee1c636212af453821439976e7ff1721a3e71dd1f2bf5de0000018100000000
             detected new prevblock dee1c636212af453821439976e7ff1721a3e71dd1f2bf5de0000018100000000
               revoking all work with prevblock ef2a8855ed666189eca800c9c6497e7faa18ea21ab60e80a000000d000000000
H:0 X:1013 E:0 T:5m   |  H:432 E:1 A:905 R:110 T:2h48m7s

Sending log.
donator
Activity: 90
Merit: 10
I will post a shell script when I have it so others can benefit.

Unfortunately, 1.52 also stopped.  Log sent.

Thanks again for all your help.
donator
Activity: 980
Merit: 1004
felonious vagrancy, personified
Awesome.  Running now.  Will keep you posted.

Great!

Also if this doesn't fix the problem, you might want to consider adding this to the command line:


  java -Dminimum_accept_rate=X -jar tml.jar ...


… and spawning the TML from a script that either (a) keeps starting it in a while-loop or (b) runs the TML then after it exits runs whatever miner you were using before.

The -Dminimum_accept_rate=X causes the TML to fork a separate thread that monitors the pool-accept rate and kills the JVM if it falls below X MH/s for more than 10 minutes.  Sort of like /dev/watchdog on Linux.  Obviously this is an ugly hack and not a real solution, but it keeps you from losing money due to the miner being stuck while you're asleep or something.  It's definitely just a temporary band-aid.
donator
Activity: 90
Merit: 10
Awesome.  Running now.  Will keep you posted.
donator
Activity: 980
Merit: 1004
felonious vagrancy, personified
TML 1.52 has been posted:

  http://www.tricone-mining.com/tml/tml-1.52.jar

This definitely fixes a bug in the (three day old) x6500 USB code.  It also includes what I hope will fix the miner-gets-stuck problem people have seen with the ModMiner USB code, although I am not quite as certain about that.


28.Nov.2012  Version 1.52
             Check for stuck LFSR on output pointer
             FtdiJtag: flush ALL OutputStreams together (fixes x6500 bug)
             Make getwork_threads per-ring to avoid "stuck" rings blocking other rings
donator
Activity: 90
Merit: 10
New log sent to your email address, Tyrell.
donator
Activity: 90
Merit: 10
I see 2 blocked threads, both waiting on 0x000000068683f380, which is locked by "Board thread for /dev/ttyACM0".

Yes, although that's just a snapshot at a particular instant in time.  The thread holding that lock is RUNNABLE, so I think that's okay.

Was this with 1.50d or later?  If not, please definitely switch to 1.50d.

Yes.  It was 1.50d.  I will try e today.

With your permission, I'd be happy to open a debug port and look through the memory.  I'd also be happy to take a full heap-dump for you.

Heh, no need for my permission!  There's nothing proprietary about the host software (the Java stuff).  The one and only reason I don't simply put all the Java code in the public domain is to avert the possibility of a renegade fork of the code that I get pressured into supporting.  Watching all the drama with BFL and the various cgminer forks horrified me.


Understood.  Just wanted to let you know I wasn't going to fuck about without your permission.

donator
Activity: 980
Merit: 1004
felonious vagrancy, personified
I see 2 blocked threads, both waiting on 0x000000068683f380, which is locked by "Board thread for /dev/ttyACM0".

Yes, although that's just a snapshot at a particular instant in time.  The thread holding that lock is RUNNABLE, so I think that's okay.

Was this with 1.50d or later?  If not, please definitely switch to 1.50d.

If you were using 1.50d, this is really weird.  The TML will load new work at least every 90 seconds (more often if you're hashing fast enough to use up the nonce space), and it should print a line on the console when it loads the new job.  So for some reason it's stopped trying to load new work.  That rules out the clock on the chip having stopped, which manifests itself as no solutions ever being found but work still being loaded.

Are you sure you aren't seeing "load XXXX diff=Y.Z" messages on the console as new work is loaded, even if no solutions are found?  It's really really weird that this isn't happening.

Could you also try running with -Dread_write_debug=true?  This will produce a TON of log output, so you'll want to pipe it to a file.  The important thing to look for is when it stops producing solutions, is it still doing reads/writes to the chip?  The ModMiner driver is very new (just a few days old), so maybe some part of that is getting stuck in a loop.  That's my best guess at the moment.


With your permission, I'd be happy to open a debug port and look through the memory.  I'd also be happy to take a full heap-dump for you.

Heh, no need for my permission!  There's nothing proprietary about the host software (the Java stuff).  The one and only reason I don't simply put all the Java code in the public domain is to avert the possibility of a renegade fork of the code that I get pressured into supporting.  Watching all the drama with BFL and the various cgminer forks horrified me.
donator
Activity: 980
Merit: 1004
felonious vagrancy, personified
I just saw this pop up in the d version of the client:

Thanks for catching that.  I've released 1.50e which includes the two-line fix for this (but nothing else).

  http://www.tricone-mining.com/tml/tml-1.50e.jar
member
Activity: 109
Merit: 10
I just saw this pop up in the d version of the client:

Quote
ccepted share, difficulty=1.0
[modminer:/dev/ttyACM0:0.2] decrypting nonce at address 0x0000003c
[modminer:/dev/ttyACM0:0.2]   encrypted nonce = 0x936e5c54
             restarting blocked threads for com.triconemining.signcryption.SCClient$Connection@376f5c1a
H:229/114,57,57 X:269 C:179,179,180 E:0/0,0,0 T:5m   |  H:266/90,81,96 E:1/1,1,1 A:1599 R:48 T:7h23m46s Exception in thread "signcryption client thread" java.util.ConcurrentModificationException
        at java.util.HashMap$HashIterator.nextEntry(HashMap.java:810)
        at java.util.HashMap$ValueIterator.next(HashMap.java:839)
        at com.triconemining.signcryption.SCClient$Connection.close(SCClient.java:135)
        at com.triconemining.signcryption.SCClient$Connection.handle(SCClient.java:216)
        at com.triconemining.limp.LimpConnection.run(LimpConnection.java:60)
        at com.triconemining.signcryption.SCClient$Connection.run(SCClient.java:118)
        at java.lang.Thread.run(Thread.java:679)
             opening signcryption connection to limp.tricone-mining.com/54.247.190.151:7779
[modminer:/dev/ttyACM0:0.1] decrypting nonce at address 0x000000c8
[modminer:/dev/ttyACM0:0.1]   encrypted nonce = 0x2a44de6b
             restarting blocked threads for com.triconemining.signcryption.SCClient$Connection@6132ff2e
H:229/114,57,57 X:269 C:179,179,180 E:0/0,0,0 T:5m   |  H:266/90,81,96 E:1/1,1,1 A:1599 R:48 T:7h23m52s Exception in thread "signcryption client thread" java.util.ConcurrentModificationException
        at java.util.HashMap$HashIterator.nextEntry(HashMap.java:810)
        at java.util.HashMap$ValueIterator.next(HashMap.java:839)
        at com.triconemining.signcryption.SCClient$Connection.close(SCClient.java:135)
        at com.triconemining.signcryption.SCClient$Connection.handle(SCClient.java:216)
        at com.triconemining.limp.LimpConnection.run(LimpConnection.java:60)
        at com.triconemining.signcryption.SCClient$Connection.run(SCClient.java:118)
        at java.lang.Thread.run(Thread.java:679)
             opening signcryption connection to limp.tricone-mining.com/96.8.120.116:7779
[modminer:/dev/ttyACM0:0.2] load cb3fd526c2ea30058ec7b1ed063df38fe3f1ef2a2798c8a87a611a8eac27d563:9b64b26450b3a4581a04e0ea diff=1.0
[modminer:/dev/ttyACM0:0.0] load cb3fd526c2ea30058ec7b1ed063df38fe3f1ef2a2798c8a87a611a8eac27d563:9b64b26450b3a4591a04e0ea diff=1.0
[modminer:/dev/ttyACM0:0.1] load cb3fd526c2ea30058ec7b1ed063df38fe3f1ef2a2798c8a87a611a8eac27d563:9b64b26450b3a45a1a04e0ea diff=1.0
[modminer:/dev/ttyACM0:0.0] initializing cipher state
[modminer:/dev/ttyACM0:0.0] decrypting nonce at address 0x000000a6
[modminer:/dev/ttyACM0:0.0]   encrypted nonce = 0xa8db0dc0
[modminer:/dev/ttyACM0:0.0]   found a share: 0x329ed365
[modminer:/dev/ttyACM0:0.0]   pool accepted share, difficulty=1.0
[modminer:/dev/ttyACM0:0.2] load bf9b716962874a779daab642a249fef6b0d88d568f1e44c6175cf85517c26cfb:9e86028250b3a4a21a04e0ea diff=1.0
[modminer:/dev/ttyACM0:0.0] load 0628f92fa4182856f5da14ddcb9cc1bd7546e2f4a74eba61630eb87d3bb618aa:d20b3e5050b3a4a31a04e0ea diff=1.0
[modminer:/dev/ttyACM0:0.1] load 0628f92fa4182856f5da14ddcb9cc1bd7546e2f4a74eba61630eb87d3bb618aa:d20b3e5050b3a4a41a04e0ea diff=1.0
[modminer:/dev/ttyACM0:0.1] initializing cipher state
[modminer:/dev/ttyACM0:0.1] decrypting nonce at address 0x00000064
[modminer:/dev/ttyACM0:0.1]   encrypted nonce = 0x3397ab28
[modminer:/dev/ttyACM0:0.1]   found a share: 0x0675f47e
[modminer:/dev/ttyACM0:0.1]   pool accepted share, difficulty=1.0
[modminer:/dev/ttyACM0:0.2] load 0628f92fa4182856f5da14ddcb9cc1bd7546e2f4a74eba61630eb87d3bb618aa:d20b3e5050b3a4a51a04e0ea diff=1.0
[modminer:/dev/ttyACM0:0.0] load 0628f92fa4182856f5da14ddcb9cc1bd7546e2f4a74eba61630eb87d3bb618aa:d20b3e5050b3a4a61a04e0ea diff=1.0
[modminer:/dev/ttyACM0:0.1] load 0628f92fa4182856f5da14ddcb9cc1bd7546e2f4a74eba61630eb87d3bb618aa:d20b3e5050b3a4a71a04e0ea diff=1.0
[modminer:/dev/ttyACM0:0.2] initializing cipher state
[modminer:/dev/ttyACM0:0.2] decrypting nonce at address 0x0000001e
[modminer:/dev/ttyACM0:0.2]   encrypted nonce = 0xe9e10f24
[modminer:/dev/ttyACM0:0.2]   found a share: 0xd5079e90
[modminer:/dev/ttyACM0:0.2]   pool accepted share, difficulty=1.0
donator
Activity: 90
Merit: 10
Another sample, same results.

Code:
H:0 X:930 E:0 T:5m   |  H:117 E:0 A:68 R:0 T:41m25s ^\2012-11-26 11:41:24
Full thread dump OpenJDK 64-Bit Server VM (20.0-b12 mixed mode):

"pool-1-thread-16" prio=10 tid=0x00007f1704019000 nid=0xc42 waiting on condition [0x00007f178a0c8000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000007890d8100> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
        at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:679)

"pool-1-thread-15" prio=10 tid=0x00007f1704017800 nid=0xc41 waiting on condition [0x00007f178a1c9000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000007890d8100> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
        at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:679)

"pool-1-thread-14" prio=10 tid=0x00007f1704016000 nid=0xc40 waiting on condition [0x00007f178a2ca000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000007890d8100> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
        at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:679)

"pool-1-thread-13" prio=10 tid=0x00007f1704014800 nid=0xc3f waiting on condition [0x00007f178a3cb000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000007890d8100> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
        at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:679)

"pool-1-thread-12" prio=10 tid=0x00007f1704012800 nid=0xc3e waiting on condition [0x00007f178a4cc000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000007890d8100> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
        at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:679)

"pool-1-thread-11" prio=10 tid=0x00007f1704011000 nid=0xc3c waiting on condition [0x00007f178a5cd000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000007890d8100> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
        at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:679)

"pool-1-thread-10" prio=10 tid=0x00007f170400f800 nid=0xc3a waiting on condition [0x00007f178a6ce000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000007890d8100> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
        at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:679)

"pool-1-thread-9" prio=10 tid=0x00007f170400e000 nid=0xc39 waiting on condition [0x00007f178a7cf000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000007890d8100> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
        at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:679)

"pool-1-thread-8" prio=10 tid=0x00007f170400c800 nid=0xc38 waiting on condition [0x00007f178a8d0000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000007890d8100> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
        at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:679)

"pool-1-thread-7" prio=10 tid=0x00007f170400a800 nid=0xc37 waiting on condition [0x00007f178a9d1000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000007890d8100> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
        at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:679)

"pool-1-thread-6" prio=10 tid=0x00007f1704009000 nid=0xc36 waiting on condition [0x00007f178aad2000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000007890d8100> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
        at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:679)

"pool-1-thread-5" prio=10 tid=0x00007f1704007800 nid=0xc35 waiting on condition [0x00007f178abd3000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000007890d8100> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
        at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:679)

"pool-1-thread-4" prio=10 tid=0x00007f1704005800 nid=0xc34 waiting on condition [0x00007f178acd4000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000007890d8100> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
        at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:679)

"pool-1-thread-3" prio=10 tid=0x00007f1704004000 nid=0xc31 waiting on condition [0x00007f178add5000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000007890d8100> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
        at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:679)

"pool-1-thread-2" prio=10 tid=0x00007f1704002800 nid=0xc30 waiting on condition [0x00007f178aed6000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000007890d8100> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
        at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:679)

"pool-1-thread-1" prio=10 tid=0x00007f1704001800 nid=0xc2f waiting on condition [0x00007f178afd7000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000007890d8100> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
        at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:679)

"ping thread for signcryption client" daemon prio=10 tid=0x00007f1700004000 nid=0xc1b waiting on condition [0x00007f178b0d8000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at com.triconemining.util.Util.sleep(Util.java:128)
        at com.triconemining.signcryption.SCClient$Connection$1.run(SCClient.java:107)
        at java.lang.Thread.run(Thread.java:679)

"signcryption client thread" daemon prio=10 tid=0x00007f1700002800 nid=0xc1a runnable [0x00007f178b1d9000]
   java.lang.Thread.State: RUNNABLE
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:146)
        at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
        at java.io.BufferedInputStream.read(BufferedInputStream.java:254)
        - locked <0x00000007890fa308> (a java.io.BufferedInputStream)
        at java.io.FilterInputStream.read(FilterInputStream.java:83)
        at com.triconemining.util.VarInt.read(VarInt.java:15)
        at com.triconemining.limp.LimpConnection.run(LimpConnection.java:59)
        at com.triconemining.signcryption.SCClient$Connection.run(SCClient.java:118)
        at java.lang.Thread.run(Thread.java:679)

"work queueing thread for com.triconemining.signcryption.WorkSigncryptionFilter@a50a649" daemon prio=10 tid=0x00007f1714007800 nid=0xc19 waiting on condition [0x00007f178b4e0000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x0000000789252a00> (a java.util.concurrent.Semaphore$NonfairSync)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:838)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:998)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
        at java.util.concurrent.Semaphore.acquire(Semaphore.java:313)
        at com.triconemining.bitcoin.work.source.QueueingWorkSource$1.run(QueueingWorkSource.java:52)
        at java.lang.Thread.run(Thread.java:679)

"Timer-1" daemon prio=10 tid=0x00007f1714004000 nid=0xc18 waiting for monitor entry [0x00007f178b5e1000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at com.triconemining.miner.RingWrapper.getCurrentJob(RingWrapper.java:212)
        - waiting to lock <0x000000078922b848> (a com.triconemining.miner.RingWrapper)
        at com.triconemining.miner.RingWrapper$1.run(RingWrapper.java:287)
        at java.util.TimerThread.mainLoop(Timer.java:534)
        at java.util.TimerThread.run(Timer.java:484)

"long poll for 192.168.2.50" daemon prio=10 tid=0x00007f1710016000 nid=0xc06 runnable [0x00007f178b8f6000]
   java.lang.Thread.State: RUNNABLE
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:146)
        at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:149)
        at org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:110)
        at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:260)
        at org.apache.http.impl.conn.DefaultResponseParser.parseHead(DefaultResponseParser.java:98)
        at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:252)
        at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:281)
        at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:247)
        at org.apache.http.impl.conn.AbstractClientConnAdapter.receiveResponseHeader(AbstractClientConnAdapter.java:219)
        at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:298)
        at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
        at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:645)
        at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:464)
        at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820)
        at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:754)
        at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:732)
        at com.triconemining.bitcoin.work.source.HttpWorkSource.doJSONRPC(HttpWorkSource.java:213)
        at com.triconemining.bitcoin.work.source.HttpWorkSource.getWork(HttpWorkSource.java:110)
        at com.triconemining.bitcoin.work.source.HttpWorkSource.run(HttpWorkSource.java:272)
        at java.lang.Thread.run(Thread.java:679)

"Board thread for /dev/ttyACM0" prio=10 tid=0x00007f1794186800 nid=0xc04 runnable [0x00007f178b9f8000]
   java.lang.Thread.State: RUNNABLE
        at java.io.FileInputStream.readBytes(Native Method)
        at java.io.FileInputStream.read(FileInputStream.java:236)
        at java.io.DataInputStream.readFully(DataInputStream.java:195)
        at java.io.DataInputStream.readFully(DataInputStream.java:169)
        at com.triconemining.board.ModMiner$ModMinerBoard$ModMinerChip.scan(ModMiner.java:181)
        - locked <0x00000007890fa470> (a com.triconemining.board.ModMiner$ModMinerBoard)
        at com.triconemining.board.MiningChip.read(MiningChip.java:55)
        - locked <0x00000007890fa698> (a com.triconemining.board.ModMiner$ModMinerBoard$ModMinerChip)
        at com.triconemining.miner.RingWrapper.getOutputPointer(RingWrapper.java:333)
        - locked <0x000000078922b848> (a com.triconemining.miner.RingWrapper)
        at com.triconemining.miner.RingWrapper.getSolutions(RingWrapper.java:359)
        at com.triconemining.miner.ChipWrapper.checkForSolutions(ChipWrapper.java:187)
        at com.triconemining.miner.BoardWrapper.run_(BoardWrapper.java:116)
        at com.triconemining.miner.BoardWrapper.run(BoardWrapper.java:72)
        at java.lang.Thread.run(Thread.java:679)

"work queueing thread for 192.168.2.50" daemon prio=10 tid=0x00007f1794184800 nid=0xc03 waiting on condition [0x00007f178baf9000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000007892a59a8> (a java.util.concurrent.Semaphore$NonfairSync)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:838)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:998)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
        at java.util.concurrent.Semaphore.acquire(Semaphore.java:313)
        at com.triconemining.bitcoin.work.source.QueueingWorkSource$1.run(QueueingWorkSource.java:58)
        at java.lang.Thread.run(Thread.java:679)

"work queueing thread for 192.168.2.50" daemon prio=10 tid=0x00007f1794183800 nid=0xc02 waiting on condition [0x00007f178bbfa000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000007892a59a8> (a java.util.concurrent.Semaphore$NonfairSync)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:838)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:998)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
        at java.util.concurrent.Semaphore.acquire(Semaphore.java:313)
        at com.triconemining.bitcoin.work.source.QueueingWorkSource$1.run(QueueingWorkSource.java:58)
        at java.lang.Thread.run(Thread.java:679)

"work queueing thread for 192.168.2.50" daemon prio=10 tid=0x00007f1794183000 nid=0xc01 waiting on condition [0x00007f178bcfb000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000007892a59a8> (a java.util.concurrent.Semaphore$NonfairSync)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:838)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:998)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
        at java.util.concurrent.Semaphore.acquire(Semaphore.java:313)
        at com.triconemining.bitcoin.work.source.QueueingWorkSource$1.run(QueueingWorkSource.java:58)
        at java.lang.Thread.run(Thread.java:679)

"work queueing thread for 192.168.2.50" daemon prio=10 tid=0x00007f1794182800 nid=0xc00 waiting on condition [0x00007f178bdfc000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000007892a59a8> (a java.util.concurrent.Semaphore$NonfairSync)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:838)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:998)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
        at java.util.concurrent.Semaphore.acquire(Semaphore.java:313)
        at com.triconemining.bitcoin.work.source.QueueingWorkSource$1.run(QueueingWorkSource.java:58)
        at java.lang.Thread.run(Thread.java:679)

"work queueing thread for 192.168.2.50" daemon prio=10 tid=0x00007f179415a800 nid=0xbff waiting on condition [0x00007f178befd000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000007892a59a8> (a java.util.concurrent.Semaphore$NonfairSync)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:838)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:998)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
        at java.util.concurrent.Semaphore.acquire(Semaphore.java:313)
        at com.triconemining.bitcoin.work.source.QueueingWorkSource$1.run(QueueingWorkSource.java:52)
        at java.lang.Thread.run(Thread.java:679)

"work queueing thread for 192.168.2.50" daemon prio=10 tid=0x00007f1794159800 nid=0xbfe waiting on condition [0x00007f178bffe000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000007892a59a8> (a java.util.concurrent.Semaphore$NonfairSync)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:838)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:998)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
        at java.util.concurrent.Semaphore.acquire(Semaphore.java:313)
        at com.triconemining.bitcoin.work.source.QueueingWorkSource$1.run(QueueingWorkSource.java:58)
        at java.lang.Thread.run(Thread.java:679)

"Timer-0" daemon prio=10 tid=0x00007f179411a000 nid=0xbfd waiting for monitor entry [0x00007f1790156000]
   java.lang.Thread.State: BLOCKED (on object monitor)
        at com.triconemining.miner.RingWrapper.getCurrentJob(RingWrapper.java:212)
        - waiting to lock <0x000000078922b848> (a com.triconemining.miner.RingWrapper)
        at com.triconemining.miner.RingWrapper.revokeWork(RingWrapper.java:126)
        at com.triconemining.bitcoin.work.source.WorkRevocationFilter.revokeWork(WorkRevocationFilter.java:115)
        at com.triconemining.bitcoin.work.source.WorkSourceFanout$WorkSourceFanoutNode.revoke(WorkSourceFanout.java:59)
        at com.triconemining.bitcoin.work.source.WorkSourceFanout$WorkSourceFanoutNode.access$000(WorkSourceFanout.java:37)
        at com.triconemining.bitcoin.work.source.WorkSourceFanout.revokeWork(WorkSourceFanout.java:31)
        at com.triconemining.bitcoin.work.source.QueueingWorkSource.revokeWork(QueueingWorkSource.java:130)
        at com.triconemining.bitcoin.work.source.WorkRevocationFilter.revokeWork(WorkRevocationFilter.java:115)
        at com.triconemining.bitcoin.work.source.WorkRevocationFilter.revokeWork(WorkRevocationFilter.java:115)
        at com.triconemining.bitcoin.work.source.WorkSourceFanout$WorkSourceFanoutNode.revoke(WorkSourceFanout.java:59)
        at com.triconemining.bitcoin.work.source.WorkSourceFanout$WorkSourceFanoutNode.access$000(WorkSourceFanout.java:37)
        at com.triconemining.bitcoin.work.source.WorkSourceFanout.revokeWork(WorkSourceFanout.java:31)
        at com.triconemining.bitcoin.work.source.QueueingWorkSource.revokeWork(QueueingWorkSource.java:130)
        at com.triconemining.bitcoin.work.source.WorkRevocationFilter.revokeWork(WorkRevocationFilter.java:115)
        at com.triconemining.bitcoin.work.source.HttpWorkSource$1.run(HttpWorkSource.java:120)
        at java.util.TimerThread.mainLoop(Timer.java:534)
        at java.util.TimerThread.run(Timer.java:484)

"Low Memory Detector" daemon prio=10 tid=0x00007f17940a5000 nid=0xbfb runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread1" daemon prio=10 tid=0x00007f17940a2800 nid=0xbfa waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" daemon prio=10 tid=0x00007f17940a0000 nid=0xbf9 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=10 tid=0x00007f1794091800 nid=0xbf8 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=10 tid=0x00007f179407f000 nid=0xbf7 in Object.wait() [0x00007f17907f6000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0000000789248b88> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:133)
        - locked <0x0000000789248b88> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:149)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:177)

"Reference Handler" daemon prio=10 tid=0x00007f179407d000 nid=0xbf6 in Object.wait() [0x00007f17908f7000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000007890f05f0> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Object.java:502)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133)
        - locked <0x00000007890f05f0> (a java.lang.ref.Reference$Lock)

"main" prio=10 tid=0x00007f1794007000 nid=0xbec waiting on condition [0x00007f179ac5c000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at com.triconemining.miner.Main.housekeepingLoop(Main.java:163)
        at com.triconemining.miner.Main.main(Main.java:156)

"VM Thread" prio=10 tid=0x00007f1794076800 nid=0xbf5 runnable

"GC task thread#0 (ParallelGC)" prio=10 tid=0x00007f1794012000 nid=0xbed runnable

"GC task thread#1 (ParallelGC)" prio=10 tid=0x00007f1794014000 nid=0xbee runnable

"GC task thread#2 (ParallelGC)" prio=10 tid=0x00007f1794015800 nid=0xbef runnable

"GC task thread#3 (ParallelGC)" prio=10 tid=0x00007f1794017800 nid=0xbf0 runnable

"GC task thread#4 (ParallelGC)" prio=10 tid=0x00007f1794019800 nid=0xbf1 runnable

"GC task thread#5 (ParallelGC)" prio=10 tid=0x00007f179401b000 nid=0xbf2 runnable

"GC task thread#6 (ParallelGC)" prio=10 tid=0x00007f179401d000 nid=0xbf3 runnable

"GC task thread#7 (ParallelGC)" prio=10 tid=0x00007f179401f000 nid=0xbf4 runnable

"VM Periodic Task Thread" prio=10 tid=0x00007f17940a7800 nid=0xbfc waiting on condition

JNI global references: 1722

Heap
 PSYoungGen      total 112768K, used 54476K [0x00000007822b0000, 0x000000078a080000, 0x0000000800000000)
  eden space 96704K, 45% used [0x00000007822b0000,0x0000000784e0f3e0,0x0000000788120000)
  from space 16064K, 62% used [0x00000007890d0000,0x0000000789aa4010,0x000000078a080000)
  to   space 16064K, 0% used [0x0000000788120000,0x0000000788120000,0x00000007890d0000)
 PSOldGen        total 257728K, used 0K [0x0000000686800000, 0x00000006963b0000, 0x00000007822b0000)
  object space 257728K, 0% used [0x0000000686800000,0x0000000686800000,0x00000006963b0000)
 PSPermGen       total 21248K, used 12361K [0x000000067c200000, 0x000000067d6c0000, 0x0000000686800000)
  object space 21248K, 58% used [0x000000067c200000,0x000000067ce12760,0x000000067d6c0000)

H:0 X:930 E:0 T:5m   |  H:117 E:0 A:68 R:0 T:41m30s

With your permission, I'd be happy to open a debug port and look through the memory.  I'd also be happy to take a full heap-dump for you.
Pages:
Jump to: