RSS Feed for This PostCurrent Article

Troubleshooting Java on Solaris

Besides using the tools provided by JDK, here are some ways to troubleshoot Java problem specifically for Solaris.

Threading models are different between Solaris 8 and 9. A good description can be found at http://java.sun.com/docs/hotspot/threads/threads.html.

  1. Get a Java level stack trace by using “kill -SIGQUIT <pid>”. It will not work if JVM is configured to ignore system signals using “-Xrs”. On Solaris OS or Linux, the combination of pressing the Ctrl key and the backslash (\) key at the application console (standard input) causes the HotSpot VM to print a thread dump to the
    application’s standard output. On Windows the equivalent key sequence is the Ctrl and Break keys. The general term for these key combinations is the Ctrl-Break handler.
  2. Get a snapshots of all LWPs using “prstat -L”
  3. Use “pstack” to get a native stack trace.
  4. Try throwing SIGWAITING signal. Specific to Solaris 8.
  5. Force the process to dump a core using “gcore”
  6. Switch to alternate thread library and try reproducing the problem.
  7. Learn to use DTrace. It is useful.
  8. Check out the cool tools.
  9. Read out Java SE Troubleshooting and Diagnostic Guide.

References:

Debugging thread related hangs in the JVM

DTrace

Cool Tools for Solaris

BigAdmin System Administration Portal


Trackback URL


Sorry, comments for this entry are closed at this time.