[jboss-jira] [JBoss JIRA] Commented: (JBAS-5163) listThreadDump should print thread dumps in the same format as kill -3
Dimitris Andreadis (JIRA)
jira-events at lists.jboss.org
Mon Feb 11 03:57:03 EST 2008
[ http://jira.jboss.com/jira/browse/JBAS-5163?page=comments#action_12399067 ]
Dimitris Andreadis commented on JBAS-5163:
------------------------------------------
Yes, the information returned by the platforms mbeans in jdk5 is not sufficient to produce what you want. Maybe it's better with jdk6, but the code whould have to use reflection to stay portable.
> listThreadDump should print thread dumps in the same format as kill -3
> ----------------------------------------------------------------------
>
> Key: JBAS-5163
> URL: http://jira.jboss.com/jira/browse/JBAS-5163
> Project: JBoss Application Server
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: JMX, System service, Management services
> Affects Versions: JBossAS-5.0.0.Beta3, JBossAS-4.2.2.GA
> Reporter: Galder Zamarreno
> Assigned To: Galder Zamarreno
> Attachments: jmx-serverinfo.dump, kill-3.dump
>
>
> There're 4 ways to generate a thread dump. I have taken the output from the same run with
> different methods:
> 1.- kill -3. Can be parsed by tools like https://tda.dev.java.net/ (simply, one of the most useful
> tools I've found out there!). Example:
> "JBossLifeThread" prio=1 tid=0x0a690cc0 nid=0x1741 in Object.wait() [0x867f2000..0x867f30b0]
> at java.lang.Object.wait(Native Method)
> - waiting on <0x9247e200> (a java.lang.Object)
> at java.lang.Object.wait(Object.java:474)
> at org.jboss.system.server.ServerImpl$LifeThread.run(ServerImpl.java:940)
> - locked <0x9247e200> (a java.lang.Object)
> 2.- JMX via org.jboss.system.server.ServerInfo.listThreadDump(). Here's some output:
> Thread: JBossLifeThread : priority:5, demon:false, threadId:58, threadState:WAITING, lockName:java.l
> ang.Object at 10cff6b
> java.lang.Object.wait(Native Method)
> java.lang.Object.wait(Object.java:474)
> org.jboss.system.server.ServerImpl$LifeThread.run(ServerImpl.java:940)
> Lock name is different to lock monitor achieved via kill -3. Doesn't looks like it prints previously locked
> monitors. Cannot be parsed by TDA tools because it's in JBoss specific format.
> 3.- Thread.getAllStackTraces().
> Haven't tested the output from this. What would this print? Couldn't find an MBean that uses/parses
> the output from this, but I suspect it's the same as method 2, specially since
> http://jira.jboss.com/jira/browse/JBAS-1448 has already been fixed.
> 4.- JConsole Threads view:
> Code:
> Name: JBossLifeThread
> State: WAITING on java.lang.Object at 10cff6b
> Total blocked: 0 Total waited: 1
> Stack trace:
> java.lang.Object.wait(Native Method)
> java.lang.Object.wait(Object.java:474)
> org.jboss.system.server.ServerImpl$LifeThread.run(ServerImpl.java:940)
> Seems to print same info as JBoss' ServerInfo.
> Bottom line: we should try generating thread dumps that look like kill -3
> output to make them more readable than in their current format and to
> benefit from existing tools that can parse standard kill -3 format.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list