United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: 7089632 assert(machtmp->outcnt() == 1) failed: expected for a MachTemp
7089632 : assert(machtmp->outcnt() == 1) failed: expected for a MachTemp

Details
Type:
Bug
Submit Date:
2011-09-12
Status:
Closed
Updated Date:
2011-11-28
Project Name:
JDK
Resolved Date:
2011-11-28
Component:
hotspot
OS:
generic
Sub-Component:
compiler
CPU:
generic
Priority:
P3
Resolution:
Fixed
Affected Versions:
8-pool
Fixed Versions:
hs22

Related Reports
Backport:
Backport:

Sub Tasks

Description
Nightly testing shows a lot failures with your new assert:

#  Internal Error (C:\temp\jprt\P1\205004.kvn\source\src\share\vm\opto\postaloc.cpp:104), pid=10648, tid=11688
#  assert(machtmp->outcnt() == 1) failed: expected for a MachTemp

http://sqeweb.us.oracle.com/nfs/results/vm/gtee/JDK7/NIGHTLY/VM/2011-09-09/Comp_Baseline/new_unknown_failures.html

To reproduce:

% bin/java -XX:+CompileTheWorld -Xbootclasspath/p:jre/lib/alt-rt.jar
VM option '+CompileTheWorld'
CompileTheWorld : Compiling all classes in /tmp/kvn/VM2/jre/lib/alt-rt.jar

CompileTheWorld (1) : java/math/BigInteger
CompileTheWorld (2) : java/math/BigDecimal$1
CompileTheWorld (3) : java/math/BigDecimal$LongOverflow
CompileTheWorld (4) : java/math/BigDecimal$StringBuilderHelper
CompileTheWorld (5) : java/math/BigDecimal
CompileTheWorld (6) : java/math/MutableBigInteger
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc:  SuppressErrorAt=/postaloc.cpp:104
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/tmp/jprt/P1/082357.rw140007/source/src/share/vm/opto/postaloc.cpp:104), pid=25436, tid=10
#  assert(machtmp->outcnt() == 1) failed: expected for a MachTemp
#
# JRE version: 7.0-b147
# Java VM: Java HotSpot(TM) Server VM (22.0-b02-internal-201109090823.rw140007.hotspot-fastdebug mixed mode solaris-x86 )

                                    

Comments
EVALUATION

See main CR
                                     
2011-09-24
EVALUATION

http://hg.openjdk.java.net/hsx/hotspot-comp/hotspot/rev/2209834ccb59
                                     
2011-09-14
PUBLIC COMMENTS

The problem is spilling MachTemp and then removing intermediate MSC during postallocation in use_prior_register() so that MachTemp has additional use.

Replace assert with check to delete MachTemp nodes only when they are really dead.
                                     
2011-09-14



Hardware and Software, Engineered to Work Together