multithreading - how to interprete this thread dump from a hung Java Swing application? -


i have following thread dump hung java swing application. hung after button clicked , gui changed blank. other threads in socket communication , task management still working (from log file can tell). have removed non-relevant output.

the #13 aw-eventqueue-0 should send out command through socket seems failed there. #20 , #21 aw-eventqueue-0-sharedresourcerunner not same #13? seems there no deadlock gui not responsive , became blank.

do see useful information cause of hanging?

full thread dump java hotspot(tm) 64-bit server vm (25.20-b23 mixed mode):  "destroyjavavm" #32 prio=5 os_prio=0 tid=0x00007f286c009800 nid=0xa41 waiting on condition [0x0000000000000000]    java.lang.thread.state: runnable  "timerqueue" #22 daemon prio=5 os_prio=0 tid=0x00007f28002a8800 nid=0xa65 waiting on condition [0x00007f284c56f000]    java.lang.thread.state: waiting (parking)         @ sun.misc.unsafe.park(native method)         - parking wait  <0x0000000088a8f5c0> (a java.util.concurrent.locks.abstractqueuedsynchronizer$conditionobject)         @ java.util.concurrent.locks.locksupport.park(locksupport.java:175)         @ java.util.concurrent.locks.abstractqueuedsynchronizer$conditionobject.await(abstractqueuedsynchronizer.java:2039)         @ java.util.concurrent.delayqueue.take(delayqueue.java:211)         @ javax.swing.timerqueue.run(timerqueue.java:171)         @ java.lang.thread.run(thread.java:745)  "awt-eventqueue-0-sharedresourcerunner" #21 daemon prio=6 os_prio=0 tid=0x00007f280021d000 nid=0xa64 in object.wait() [0x00007f284d434000]    java.lang.thread.state: waiting (on object monitor)         @ java.lang.object.wait(native method)         - waiting on <0x0000000088aec748> (a jogamp.opengl.sharedresourcerunner)         @ java.lang.object.wait(object.java:502)         @ jogamp.opengl.sharedresourcerunner.run(sharedresourcerunner.java:276)         - locked <0x0000000088aec748> (a jogamp.opengl.sharedresourcerunner)         @ java.lang.thread.run(thread.java:745)  "awt-eventqueue-0-sharedresourcerunner" #20 daemon prio=6 os_prio=0 tid=0x00007f28001f3000 nid=0xa63 in object.wait() [0x00007f284f7f5000]    java.lang.thread.state: waiting (on object monitor)         @ java.lang.object.wait(native method)         - waiting on <0x0000000088aed588> (a jogamp.opengl.sharedresourcerunner)         @ java.lang.object.wait(object.java:502)         @ jogamp.opengl.sharedresourcerunner.run(sharedresourcerunner.java:276)         - locked <0x0000000088aed588> (a jogamp.opengl.sharedresourcerunner)         @ java.lang.thread.run(thread.java:745)  "awt-eventqueue-0" #13 prio=6 os_prio=0 tid=0x00007f286c444800 nid=0xa59 in object.wait() [0x00007f2858913000]    java.lang.thread.state: waiting (on object monitor)         @ java.lang.object.wait(native method)         - waiting on <0x00000000dc467018> (a java.lang.object)         @ java.lang.object.wait(object.java:502)         @ com.mycp.common.task.bmbtaskbase.starttask(bmbtaskbase.java:551)         - locked <0x00000000dc467018> (a java.lang.object)         @ com.mycp.uiapp.workmgmt.workmgmtmgr.sendbegcmd(workmgmtmgr.java:334)         @ com.mycp.uiapp.workmgmt.workmgmtpanelbase.prepareandsendbegwork(workmgmtpanelbase.java:559)         @ com.mycp.uiapp.workmmgmt.workmgmtpanel.prepareandsendbegwork(workmgmtpanel.java:1479)         @ com.mycp.uiapp.workmgmt.workmgmtpanelbase.btnprepareclicked(workmgmtpanelbase.java:363)         @ com.mycp.uiapp.workmgmt.workmgmtpanel.btnprepareclicked(workmgmtpanel.java:1412)         @ com.mycp.uiapp.workmgmt.workmgmtpanel.actionperformed(workmgmtpanel.java:1336)         @ javax.swing.abstractbutton.fireactionperformed(abstractbutton.java:2022)         @ javax.swing.abstractbutton$handler.actionperformed(abstractbutton.java:2346)  "awt-shutdown" #14 prio=5 os_prio=0 tid=0x00007f286c443000 nid=0xa58 in object.wait() [0x00007f2858a17000]    java.lang.thread.state: waiting (on object monitor)         @ java.lang.object.wait(native method)         - waiting on <0x0000000088ae8c28> (a java.lang.object)         @ java.lang.object.wait(object.java:502)         @ sun.awt.awtautoshutdown.run(awtautoshutdown.java:295)         - locked <0x0000000088ae8c28> (a java.lang.object)         @ java.lang.thread.run(thread.java:745)  "awt-xawt" #12 daemon prio=6 os_prio=0 tid=0x00007f286c384000 nid=0xa51 runnable [0x00007f285914f000]    java.lang.thread.state: runnable         @ sun.awt.x11.xtoolkit.waitforevents(native method)         @ sun.awt.x11.xtoolkit.run(xtoolkit.java:559)         @ sun.awt.x11.xtoolkit.run(xtoolkit.java:523)         @ java.lang.thread.run(thread.java:745)  "java2d disposer" #10 daemon prio=10 os_prio=0 tid=0x00007f286c35e000 nid=0xa50 in object.wait() [0x00007f2859250000]    java.lang.thread.state: waiting (on object monitor)         @ java.lang.object.wait(native method)         - waiting on <0x0000000087ab7ec0> (a java.lang.ref.referencequeue$lock)         @ java.lang.ref.referencequeue.remove(referencequeue.java:142)         - locked <0x0000000087ab7ec0> (a java.lang.ref.referencequeue$lock)         @ java.lang.ref.referencequeue.remove(referencequeue.java:158)         @ sun.java2d.disposer.run(disposer.java:148)         @ java.lang.thread.run(thread.java:745)  "thread-0" #9 prio=5 os_prio=0 tid=0x00007f286c234800 nid=0xa4f waiting on condition [0x00007f2859af5000]    java.lang.thread.state: timed_waiting (sleeping)         @ java.lang.thread.sleep(native method)         @ com.mycp.logging.bmblogging$task.run(bmblogging.java:1072)         @ java.lang.thread.run(thread.java:745)  "service thread" #8 daemon prio=9 os_prio=0 tid=0x00007f286c0cf800 nid=0xa4d runnable [0x0000000000000000]    java.lang.thread.state: runnable  "c1 compilerthread2" #7 daemon prio=9 os_prio=0 tid=0x00007f286c0b2000 nid=0xa4c waiting on condition [0x0000000000000000]    java.lang.thread.state: runnable  "c2 compilerthread1" #6 daemon prio=9 os_prio=0 tid=0x00007f286c0b0000 nid=0xa4b waiting on condition [0x0000000000000000]    java.lang.thread.state: runnable  "c2 compilerthread0" #5 daemon prio=9 os_prio=0 tid=0x00007f286c0ad800 nid=0xa4a waiting on condition [0x0000000000000000]    java.lang.thread.state: runnable  "signal dispatcher" #4 daemon prio=9 os_prio=0 tid=0x00007f286c0ab000 nid=0xa49 waiting on condition [0x0000000000000000]    java.lang.thread.state: runnable  "finalizer" #3 daemon prio=8 os_prio=0 tid=0x00007f286c07c000 nid=0xa48 in object.wait() [0x00007f285a2dd000]    java.lang.thread.state: waiting (on object monitor)         @ java.lang.object.wait(native method)         - waiting on <0x0000000087a7e6c8> (a java.lang.ref.referencequeue$lock)         @ java.lang.ref.referencequeue.remove(referencequeue.java:142)         - locked <0x0000000087a7e6c8> (a java.lang.ref.referencequeue$lock)         @ java.lang.ref.referencequeue.remove(referencequeue.java:158)         @ java.lang.ref.finalizer$finalizerthread.run(finalizer.java:209)  "reference handler" #2 daemon prio=10 os_prio=0 tid=0x00007f286c07a000 nid=0xa47 in object.wait() [0x00007f285a3de000]    java.lang.thread.state: waiting (on object monitor)         @ java.lang.object.wait(native method)         - waiting on <0x0000000087a7e708> (a java.lang.ref.reference$lock)         @ java.lang.object.wait(object.java:502)         @ java.lang.ref.reference$referencehandler.run(reference.java:157)         - locked <0x0000000087a7e708> (a java.lang.ref.reference$lock)  "vm thread" os_prio=0 tid=0x00007f286c072800 nid=0xa46 runnable   "gc task thread#0 (parallelgc)" os_prio=0 tid=0x00007f286c01e800 nid=0xa42 runnable   "gc task thread#1 (parallelgc)" os_prio=0 tid=0x00007f286c020800 nid=0xa43 runnable   "gc task thread#2 (parallelgc)" os_prio=0 tid=0x00007f286c022000 nid=0xa44 runnable   "gc task thread#3 (parallelgc)" os_prio=0 tid=0x00007f286c024000 nid=0xa45 runnable   "vm periodic task thread" os_prio=0 tid=0x00007f286c0d2000 nid=0xa4e waiting on condition   jni global references: 485  heap  psyounggen      total 118272k, used 98176k [0x00000000d6e00000, 0x00000000de700000, 0x0000000100000000)   eden space 113152k, 82% used [0x00000000d6e00000,0x00000000dc8e00c8,0x00000000ddc80000)   space 5120k, 100% used [0x00000000de180000,0x00000000de680000,0x00000000de680000)     space 5120k, 0% used [0x00000000ddc80000,0x00000000ddc80000,0x00000000de180000)  paroldgen       total 159744k, used 76671k [0x0000000084a00000, 0x000000008e600000, 0x00000000d6e00000)   object space 159744k, 47% used [0x0000000084a00000,0x00000000894dfc50,0x000000008e600000)  metaspace       used 30027k, capacity 30212k, committed 30464k, reserved 1077248k   class space    used 3528k, capacity 3582k, committed 3584k, reserved 1048576k 

the thread dump shows stack traces 22 different threads. many of them application threads (as opposed jvm internal threads). of application threads waiting something. of threads should not waiting?

i'd start looking @ thread 13: looks swing edt, , it's waiting inside call button's actionperformed(...) handler. can't good.


Comments

Popular posts from this blog

java - pagination of xlsx file to XSSFworkbook using apache POI -

Unlimited choices in BASH case statement -

apache - How do I stop my index.php being run twice for every user -