JDK-7007769 : VM crashes with SIGBUS writing PerfData if tmp space is full
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: e6u21,6u1,6u17,6u21
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: linux
  • CPU: generic,x86,arm
  • Submitted: 2010-12-17
  • Updated: 2021-01-12
  • Resolved: 2011-03-07
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
6u25Fixed 7Fixed hs20Fixed
Related Reports
Duplicate :  
Duplicate :  
Relates :  
Description
If there is very little /tmp space, the VM will be able to successfully mmap the performance data area in /tmp but when the VM attempts to access this memory region, it will crash with a SIGBUS if there is insufficient disk space in /tmp.

Comments
EVALUATION http://hg.openjdk.java.net/jdk7/hotspot-rt/hotspot/rev/02895c6a2f82
21-12-2010

SUGGESTED FIX We have determined that the ftruncate call on Solaris reports out of space if there is insufficient disk space. This means that this fix is only require for Linux.
20-12-2010

EVALUATION See suggested fix.
17-12-2010

SUGGESTED FIX The suggested fix is to write a single byte to each page of the newly created file before mmaping it. This allows us to intercept the out of space condition prior to referencing the memory mapped area. This fix is only required on Solaris and Linux. The Windows implementation uses CreateFileMapping which by default attempts to allocate disk space for the mapped file. "SEC_COMMIT Allocates physical storage in memory or in the paging file on disk for all pages of a section. This is the default setting."
17-12-2010