JDK-6483612 : Fix HS error reporting to detect if the error is probably caused by classes.jsa going away
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 6
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2006-10-18
  • Updated: 2012-10-13
  • Resolved: 2006-11-14
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6 JDK 7 Other
6u4Fixed 7Fixed hs10Fixed
We had a test failure that produced the attached hs_err file.
Tom writes:
It looks to me like maybe the classes.jsa went away underneath the VM.  It faulted here:

   ;; fdc9821b 8b 40 04                mov    0x4(%eax),%eax

with EAX=0xd8841248 which is in the read only section of the shared heap:

  compacting perm gen  total 12288K, used 294K [0xd4800000, 0xd5400000, 0xd8800000)
    the space 12288K,   2% used [0xd4800000, 0xd4849880, 0xd4849a00, 0xd5400000)
     ro space 8192K,  78% used [0xd8800000, 0xd8e4fcc0, 0xd8e4fe00, 0xd9000000)
     rw space 12288K,  59% used [0xd9000000, 0xd972ffb8, 0xd9730000, 0xd9c00000)

SIGBUS/BUS_OBJERR for mapped files usually means the file underneath went away somehow.

siginfo:si_signo=10, si_errno=151, si_code=3, si_addr=0xd884124c;;
;; si_signo=10    SIGBUS
;; si_code=3    BUS_OBJERR /* Object specific hardware error.  */

The jdk is mounted over NFS so it's probably a network problem.

EVALUATION If classes.jsa is not accessible while the application is running through remotely mounted JDK, on Unix/Linux, SIGBUS signal will be sent to the process and on Windows, EXCEPTION_IN_PAGE_ERROR will occur. For both cases, we could check the fault address is falling within the mapped shared archive and hopefully this will help the end user to find out the subtle problems when running with class data sharing is on.