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

Details

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

    Description

      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

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: