Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6844419

Crash throwing exception (loading classes) on 1.4.2/ia64 with full perm space and -noclassgc

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Fix
    • Icon: P4 P4
    • None
    • 1.4.2_21-rev
    • other-libs
    • None
    • itanium
    • linux_suse_sles_11

      Testcase for 6173515 (Test6173515.sh) tests that exceptions are thrown when filling the heap and, separately, filling the perm generation by continually loading classes.

      The ConsumePermGen test crashes on ia64: (although the testcase wrapper hides the crash and appears to pass)

      hpzx:~/kevin/6173515 # $TESTJAVA/bin/java -noclassgc -XX:MaxPermSize=32m ConsumePermGen

      Exception in thread "main" java.lang.OutOfMemoryError
      #
      # An unexpected error has been detected by HotSpot Virtual Machine:
      #
      # Internal Error (455843455054494F4E530E435050011B), pid=9911, tid=2305843009214615424
      #
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (1.4.2_21-rev-b04 mixed mode)
      # An error report file with more information is saved as hs_err_pid9911.log
      #
      # If you would like to submit a bug report, please visit:
      # http://java.sun.com/webapps/bugreport/crash.jsp
      #
      Aborted
      hpzx:~/kevin/6173515 #


      The crashing stack is:

      Core was generated by `/root/kevin/j2sdk1.4.2_21/bin/java -noclassgc -XX:MaxPermSize=32m ConsumePermGe'.
      Program terminated with signal 6, Aborted.
      #0 0xa000000000010721 in __kernel_syscall_via_break ()
      (gdb) bt
      #0 0xa000000000010721 in __kernel_syscall_via_break ()
      #1 0x2000000000142940 in raise () from /lib/libc.so.6.1
      #2 0x2000000000145210 in abort () from /lib/libc.so.6.1
      #3 0x2000000000ea60b0 in os::abort(int) () from /root/kevin/j2sdk1.4.2_21/jre/lib/ia64/server/libjvm.so
      #4 0x2000000001039690 in VMError::report_and_die(void) () from /root/kevin/j2sdk1.4.2_21/jre/lib/ia64/server/libjvm.so
      #5 0x2000000000a01b30 in report_fatal(char const *, int, char const *) () from /root/kevin/j2sdk1.4.2_21/jre/lib/ia64/server/libjvm.so
      #6 0x2000000000a7d560 in ExceptionMark::~ExceptionMark(void) () from /root/kevin/j2sdk1.4.2_21/jre/lib/ia64/server/libjvm.so
      #7 0x2000000000fd0ed0 in JavaThread::exit(int) () from /root/kevin/j2sdk1.4.2_21/jre/lib/ia64/server/libjvm.so
      #8 0x2000000000fda580 in Threads::destroy_vm(void) () from /root/kevin/j2sdk1.4.2_21/jre/lib/ia64/server/libjvm.so
      #9 0x2000000000c0dd90 in jni_DestroyJavaVM () from /root/kevin/j2sdk1.4.2_21/jre/lib/ia64/server/libjvm.so
      #10 0x4000000000003370 in ?? ()
      Backtrace stopped: previous frame inner to this frame (corrupt stack?)
      (gdb)


      Use of -noclassgc is perhaps asking for a problem when we need to load a class in order to proceed, and the perm space is absolutely full.

      We need to load some classes after the exception happens:

      java.lang.StackTraceElement
      java.lang.Shutdown
      java.lang.Shutdown$Lock

            kevinw Kevin Walls
            kevinw Kevin Walls
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: