United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
JDK-8007779 : os::die() on solaris should generate core file

Details
Type:
Bug
Submit Date:
2013-02-08
Status:
Closed
Updated Date:
2014-01-23
Project Name:
JDK
Resolved Date:
2013-02-18
Component:
hotspot
OS:
solaris
Sub-Component:
runtime
CPU:
Priority:
P3
Resolution:
Fixed
Affected Versions:
hs24,hs25
Fixed Versions:
hs24 (b34)

Related Reports
Backport:
Backport:
Backport:
Backport:
Backport:

Sub Tasks

Description
When hotspot crashes during the writing of the hs_err file, we call os::die(). On linux and bsd this causes a core file to be written (by calling ::abort()). This is good since we then have some record of what went wrong. On solaris, we call _exit() and no core file is created. 

There are two cases during the hs_err writing where we call os::die(). First, if the writing hangs, the WatcherThread will call os::die(). Second, if we get too many errors during the writing we will call os::die(). In both these cases it would be very helpful to have a core file. Otherwise all you have to go on is something like this:

# A fatal error has been detected by the Java Runtime Environment: 
# 
# SIGSEGV (0xb) at pc=0xffffffff653848c0, pid=11823, tid=240 
# 
# JRE version: Java(TM) SE Runtime Environment (7.0_12-b11) 
# Java VM: Java HotSpot(TM) 64-Bit Server VM (24.0-b24 mixed mode solaris-sparc compressed oops) 
# Problematic frame: 
# C [libc.so.1+0x848c0]# [ timer expired, abort... ]
                                    

Comments
The case when second crash occurs while writing the hs_err file is unlikely reproducible without modifying the crash handler code.
                                     
2013-07-22
URL:   http://hg.openjdk.java.net/hsx/hsx24/hotspot/rev/5624724e4454
User:  sla
Date:  2013-02-18 19:02:00 +0000

                                     
2013-02-18



Hardware and Software, Engineered to Work Together