<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Java Help in Operating System - Tru64 Unix</title>
    <link>https://community.hpe.com/t5/operating-system-tru64-unix/java-help/m-p/3614580#M4011</link>
    <description>Hello,&lt;BR /&gt;&lt;BR /&gt;I am looking for some kind of help wrt to Java.&lt;BR /&gt;&lt;BR /&gt;I have learnt that “kill –SIGQUIT pid” produces the thread dump for Java process. And to get thread dump of interactive Java process, we need to press “control+\”&lt;BR /&gt;&lt;BR /&gt;While the control+\ combination works fine, the kill –SIGQUIT does not seem to function; I mean; it does not produce the thread dump.&lt;BR /&gt;&lt;BR /&gt;Is there any special requirement to produce the thread dump?&lt;BR /&gt;&lt;BR /&gt;Also is there any way to make out determine the state of the threads? Once we have determined the thread status, how do we know that threads are waiting on something else; what state it could be in?&lt;BR /&gt;&lt;BR /&gt;Also is there any way to find out whether the JVM (java virtual machine) has hanged?&lt;BR /&gt;&lt;BR /&gt;Is there any article/write up to learn this?&lt;BR /&gt;&lt;BR /&gt;Thanks and Best Regards.&lt;BR /&gt;&lt;BR /&gt;Mahesh R. Gune&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
    <pubDate>Tue, 30 Aug 2005 06:32:32 GMT</pubDate>
    <dc:creator>Mahesh_20</dc:creator>
    <dc:date>2005-08-30T06:32:32Z</dc:date>
    <item>
      <title>Java Help</title>
      <link>https://community.hpe.com/t5/operating-system-tru64-unix/java-help/m-p/3614580#M4011</link>
      <description>Hello,&lt;BR /&gt;&lt;BR /&gt;I am looking for some kind of help wrt to Java.&lt;BR /&gt;&lt;BR /&gt;I have learnt that “kill –SIGQUIT pid” produces the thread dump for Java process. And to get thread dump of interactive Java process, we need to press “control+\”&lt;BR /&gt;&lt;BR /&gt;While the control+\ combination works fine, the kill –SIGQUIT does not seem to function; I mean; it does not produce the thread dump.&lt;BR /&gt;&lt;BR /&gt;Is there any special requirement to produce the thread dump?&lt;BR /&gt;&lt;BR /&gt;Also is there any way to make out determine the state of the threads? Once we have determined the thread status, how do we know that threads are waiting on something else; what state it could be in?&lt;BR /&gt;&lt;BR /&gt;Also is there any way to find out whether the JVM (java virtual machine) has hanged?&lt;BR /&gt;&lt;BR /&gt;Is there any article/write up to learn this?&lt;BR /&gt;&lt;BR /&gt;Thanks and Best Regards.&lt;BR /&gt;&lt;BR /&gt;Mahesh R. Gune&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 30 Aug 2005 06:32:32 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-tru64-unix/java-help/m-p/3614580#M4011</guid>
      <dc:creator>Mahesh_20</dc:creator>
      <dc:date>2005-08-30T06:32:32Z</dc:date>
    </item>
    <item>
      <title>Re: Java Help</title>
      <link>https://community.hpe.com/t5/operating-system-tru64-unix/java-help/m-p/3614581#M4012</link>
      <description>Mahesh,&lt;BR /&gt;  We need to know what version of Java you are using before we can fully answer your question.  &lt;BR /&gt;&lt;BR /&gt;However, anytime that I need to dump the threads of my java application, a simple:&lt;BR /&gt;&lt;BR /&gt;# kill -3 &lt;PID_OF_JAVA_PROGRAM&gt;&lt;BR /&gt;&lt;BR /&gt;fills the bill.  There should be nothing else that you need to do.&lt;BR /&gt;&lt;BR /&gt;In regards to looking into a running java application to find out the status of your threads and such, you probably would want to use the ladebug debugger to connect to the running process and output the information that you need.&lt;BR /&gt;&lt;BR /&gt;Make sure that you have a Ladebug version of 4.0-63 or higher. &lt;BR /&gt;&lt;BR /&gt;You can download Ladebug from:&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://h21007.www2.hp.com/dspp/tech/tech_TechSoftwareDetailPage_IDX/1,1703,5258,00.html" target="_blank"&gt;http://h21007.www2.hp.com/dspp/tech/tech_TechSoftwareDetailPage_IDX/1,1703,5258,00.html&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;Locate the java_g executable for the version you are using.&lt;BR /&gt;&lt;BR /&gt;For SDK v 1.1.7: /usr/bin/alpha/native_threads/java_g&lt;BR /&gt;For SDK v 1.1.8: /usr/opt/java118/bin/alpha/native_threads/java_g&lt;BR /&gt;For SDK v 1.2.2: /usr/opt/java122/bin/alpha/native_threads/java_g&lt;BR /&gt;For SDK v 1.3.0: /usr/opt/java130/bin/alpha/native_threads/java_g&lt;BR /&gt;For SDK v 1.3.1: /usr/opt/java131/bin/alpha/native_threads/java_g&lt;BR /&gt;For SDK v 1.4.0: /usr/opt/java140/bin/java_g&lt;BR /&gt;For SDK v 1.4.1: /usr/opt/java141/bin/java_g&lt;BR /&gt;For SDK v 1.4.2: /usr/opt/java142/bin/java_g&lt;BR /&gt;&lt;BR /&gt;1) Modify the application to use "java_g" instead of "java". &lt;BR /&gt;This will provide us with symbols that we can use to look into java code. &lt;BR /&gt; /usr/opt/java142/bin/java_g &lt;REMAINING arguments=""&gt;&lt;BR /&gt;&lt;BR /&gt;2) You will need to have "debug" versions of any shared "C" libraries, &lt;BR /&gt;(like Oracle's JDBC C Shared Libs.),or make a copy of the existing &lt;BR /&gt;C share libraries and modify the name so that it fits the format of: &lt;BR /&gt;&lt;BR /&gt;lib&lt;NAME&gt;_g.so&lt;BR /&gt;&lt;BR /&gt;Example:&lt;BR /&gt;"libocijdbc8.so" would need to be copied to "libocijdbc8_g.so"&lt;BR /&gt;&lt;BR /&gt;This will satisfy the debugger's requirements for "debuggable" shared &lt;BR /&gt;libraries, for your Java Applications.&lt;BR /&gt;&lt;BR /&gt;3) Once you have the application running under "java_g", then when the application &lt;BR /&gt;hangs again, use the ladebug debugger to "attach" to the process and then follow &lt;BR /&gt;the instructions below. &lt;BR /&gt;&lt;BR /&gt; # ps -ef | grep java_g {obtain pid_of hung_java_process} &lt;BR /&gt;&lt;BR /&gt; # ladebug &lt;BR /&gt;&lt;BR /&gt; (Ladebug) attach &lt;PID_OF_HUNG_JAVA_PROCESS&gt; /usr/opt/java142/bin/java_g&lt;BR /&gt;&lt;BR /&gt; {Execute the commands in section C. listed below.}&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;C.) Use the record command for convenience in saving the results to a file. &lt;BR /&gt;========================================================================&lt;BR /&gt;&lt;BR /&gt;(Ladebug) record io core_results.txt&lt;BR /&gt;&lt;BR /&gt;Examine the stack trace.&lt;BR /&gt;&lt;BR /&gt;(Ladebug) where&lt;BR /&gt;&lt;BR /&gt;Dump the active function's local variables and parameters.&lt;BR /&gt;&lt;BR /&gt;(Ladebug) dump&lt;BR /&gt;&lt;BR /&gt;Execute the following threads commands to display detailed information about the threads:&lt;BR /&gt;&lt;BR /&gt;(ladebug) where thread *            # dumps stack trace of all threads &lt;BR /&gt;(ladebug) pthread "system"  # system info    &lt;BR /&gt;(ladebug) pthread "versions"  # DECthreads version    &lt;BR /&gt;(ladebug) pthread "vp"   # Brief listing of VPs    &lt;BR /&gt;(ladebug) pthread "thread -1a"  # Brief listing of threads    &lt;BR /&gt;(ladebug) pthread "mutex -faql"  # Full listing of all locked mutexes    &lt;BR /&gt;(ladebug) pthread "cond -faqw"  # Full listing of all CV's with waiters    &lt;BR /&gt;(ladebug) pthread "rwlocks -faqr # Full listing of all read-locks    &lt;BR /&gt;(ladebug) pthread "rwlocks -faqw # Full listing of all write-locks    &lt;BR /&gt;(ladebug) pthread "show -tuvk"  # Timeslice, Upcall, VP (on old versions), and kernel information     &lt;BR /&gt;(ladebug) pthread "vp -f"  # Full info on all VPs    &lt;BR /&gt;(ladebug) pthread "thread -fa"  # Full info on all threads    &lt;BR /&gt;(ladebug) pthread "stacks -fs"  # Display each threads' stacks beginning and end points.    &lt;BR /&gt;(ladebug) pthread "mutex -faq"  # Full info on all mutexes    &lt;BR /&gt;(ladebug) pthread "cond -faq"  # Full info on all CV's    &lt;BR /&gt;(ladebug) pthread "rwlocks -faq  # Full listing of all write-locks    &lt;BR /&gt;(ladebug) pthread "vm -cf"  # DECthreads internal memory manager    &lt;BR /&gt;(ladebug) pthread "keys"   # List of per-thread context keys    &lt;BR /&gt;(ladebug) pthread "mutex -h"   # History for mutexes, if available (typically not)    &lt;BR /&gt;(ladebug) pthread "cond -h"   # History for condition variables, if available  &lt;BR /&gt;&lt;BR /&gt;Finally, simply review the ouput file that was created.&lt;BR /&gt;&lt;BR /&gt;This will give you some insight as to what is happening with your java application.&lt;/PID_OF_HUNG_JAVA_PROCESS&gt;&lt;/NAME&gt;&lt;/REMAINING&gt;&lt;/PID_OF_JAVA_PROGRAM&gt;</description>
      <pubDate>Tue, 13 Sep 2005 07:29:31 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-tru64-unix/java-help/m-p/3614581#M4012</guid>
      <dc:creator>Rick Retterer</dc:creator>
      <dc:date>2005-09-13T07:29:31Z</dc:date>
    </item>
    <item>
      <title>Re: Java Help</title>
      <link>https://community.hpe.com/t5/operating-system-tru64-unix/java-help/m-p/3614582#M4013</link>
      <description>hello guurs,&lt;BR /&gt;i am having the same situation but on hp11.11i&lt;BR /&gt;&lt;BR /&gt;the set up is that, one java process creates another process and on freeze condition i am able to get the thread dump from the parent but not the child. the application processes heavy network communication. java 1.4.2_04 is used. &lt;BR /&gt;okei this is sketchy description of the problem. i can come back with more information if something specific is requested.&lt;BR /&gt;&lt;BR /&gt;please throw some light on this one&lt;BR /&gt;/Abhi&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Mon, 16 Jan 2006 10:34:44 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-tru64-unix/java-help/m-p/3614582#M4013</guid>
      <dc:creator>patnaboy</dc:creator>
      <dc:date>2006-01-16T10:34:44Z</dc:date>
    </item>
  </channel>
</rss>

