United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
JDK-6773838 : There is no calling stack for Compiler thread in hs_err file on x86

Details
Type:
Bug
Submit Date:
2008-11-19
Status:
Closed
Updated Date:
2012-10-08
Project Name:
JDK
Resolved Date:
2009-01-31
Component:
hotspot
OS:
solaris_10
Sub-Component:
runtime
CPU:
sparc
Priority:
P3
Resolution:
Fixed
Affected Versions:
hs14
Fixed Versions:
hs14 (b09)

Related Reports
Backport:
Backport:
Relates:

Sub Tasks

Description
Both 32-bits and 64-bits VM have this problem:

% /java/re/jdk/7/latest/binaries/solaris-amd64/fastdebug/bin/java -server -XX:-UseLoopSafepoints -Xcomp t
VM option '-UseLoopSafepoints'
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc:  SuppressErrorAt=/phaseX.cpp:775
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/BUILD_AREA/jdk7/hotspot/src/share/vm/opto/phaseX.cpp:775), pid=13672, tid=20
#  Error: assert(false,"Parse::remove_useless_nodes missed this node")
#
# Java VM: Java HotSpot(TM) Server VM (14.0-b06-fastdebug compiled mode solaris-x86 )
# An error report file with more information is saved as:
# /export/kvn/build/6766316/solaris_amd64_compiler2/fastdebug/hs_err_pid13672.log
#

% more hs_err_pid13672.log
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/BUILD_AREA/jdk7/hotspot/src/share/vm/opto/phaseX.cpp:775), p
id=13672, tid=20
#  Error: assert(false,"Parse::remove_useless_nodes missed this node")
#
# Java VM: Java HotSpot(TM) Server VM (14.0-b06-fastdebug compiled mode solaris-
x86 )
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#

---------------  T H R E A D  ---------------

Current thread (0x0824b000):  JavaThread "CompilerThread0" daemon [_thread_in_na
tive, id=20, stack(0xb49f4000,0xb4a34000)]

Stack: [0xb49f4000,0xb4a34000],  sp=0xb4a313c8,  free space=244k

Current CompileTask:
C2:  2   b  java.lang.Thread.init(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Lja
va/lang/String;J)V (202 bytes)


---------------  P R O C E S S  ---------------

Java Threads: ( => current thread )
  0x0824d000 JavaThread "CompilerThread1" daemon [_thread_blocked, id=21, stack(
0xb49b2000,0xb49f2000)]
=>0x0824b000 JavaThread "CompilerThread0" daemon [_thread_in_native, id=20, stac
k(0xb49f4000,0xb4a34000)]
  0x08249400 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=19, stac
k(0xb4a36000,0xb4a86000)]
  0x08227800 JavaThread "Finalizer" daemon [_thread_blocked, id=18, stack(0xb4a8
8000,0xb4ad8000)]
  0x08226000 JavaThread "Reference Handler" daemon [_thread_blocked, id=17, stac
k(0xb4ada000,0xb4b2a000)]
  0x0807bc00 JavaThread "main" [_thread_blocked, id=2, stack(0xfc8da000,0xfc92a0
00)]

                                    

Comments
EVALUATION

The C++ compiler (on SS11 and SS12) wasn't emitting code for the .il file correctly to get the previous_fp.   Adding .volatile and taking out the extra mov eax, eax corrected the problem.
It also corrected the problem with the SS12 tools too.
I verified that we don't have this problem on linux i486 or solaris sparc.
                                     
2008-12-08
EVALUATION

Fix checked in to hotspot_rt today (hope I got the baselevel right this time).

6773838: There is no calling stack for Compiler thread in hs_err file on x86
Summary: On solaris, the inline assembly wasn't being processed.  Added volatile to il file fixed it.
Reviewed-by: phh, kvn
                                     
2008-12-08
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-rt/hotspot/rev/7b920868b475
                                     
2008-12-08



Hardware and Software, Engineered to Work Together