United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-7007769 VM crashes with SIGBUS writing PerfData if tmp space is full
JDK-7007769 : VM crashes with SIGBUS writing PerfData if tmp space is full

Details
Type:
Bug
Submit Date:
2010-12-17
Status:
Closed
Updated Date:
2013-10-31
Project Name:
JDK
Resolved Date:
2011-03-07
Component:
hotspot
OS:
linux
Sub-Component:
runtime
CPU:
x86,arm,generic
Priority:
P3
Resolution:
Fixed
Affected Versions:
e6u21,6u1,6u17,6u21
Fixed Versions:
hs20 (b06)

Related Reports
Backport:
Backport:
Duplicate:
Duplicate:
Relates:

Sub Tasks

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
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."
                                     
2010-12-17
EVALUATION

See suggested fix.
                                     
2010-12-17
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.
                                     
2010-12-20
EVALUATION

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



Hardware and Software, Engineered to Work Together