Request for Review: 7007769: VM crashes with SIGBUS writing PerfData if tmp space is full
bob.vandette at oracle.com
Tue Dec 21 05:51:04 PST 2010
On 12/21/2010 3:18 AM, Rémi Forax wrote:
> On 12/20/2010 08:49 PM, Bob Vandette wrote:
>> New changeset for review.
>> 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
>> region, it will crash with a SIGBUS if there is insufficient disk
>> space in /tmp.
>> Solaris will fail the ftruncate call we use to extend the newly
>> created file but Linux does not.
>> To work around this problem, I write a single byte to each page of
>> the file about to be mmap'd
>> top reserve the space on the disk.
>> Bob Vandette
> Linux has a specific mmap option that you can use in this case:
Thanks for looking at my changeset.
I tried that option on my Linux test system and it did not solve my
is documented to only populate the page tables. For file mapping it is
supposed to do a read-ahead
but it doesn't say that it verifies the availability of space for a
newly created file.
The other two things I didn't like about this option, even if it worked,
are the fact that this option is
only supported on Linux 2.5.46 and above and that MMAP_POPULATE is only
supported for private
mappings since 2.6.23. This fix is for a shared memory region.
More information about the hotspot-runtime-dev