JDK-6189687 : 1.4.2 fastdebug assert on linkResolver.cpp, 49
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 1.4.1_05,1.4.2_05,5.0
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • OS: solaris_8,solaris_9
  • CPU: sparc
  • Submitted: 2004-11-02
  • Updated: 2010-05-10
  • Resolved: 2004-12-07
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other JDK 6
1.4.2_07Fixed 6 b15Fixed
Related Reports
Duplicate :  
Duplicate :  
Relates :  
Relates :  
Description
When debug for bug 5074710, customer app run with fastdebug of 1.4.2_06 hit this assertion:
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc:  SuppressErrorAt=/linkResolver.cpp:49
#
# HotSpot Virtual Machine Error, assertion failure
# Please report this error at
# http://java.sun.com/cgi-bin/bugreport.cgi
#
# Java VM: Java HotSpot(TM) Server VM (1.4.2_20040924-debug mixed mode)
#
# assert(resolved_method->signature() == selected_method->signature(), "signatures must correspond")
#
# Error ID: /net/jpsesvr/jpse-US3/yq123930/1.4.2/hotspot/src/share/vm/interpreter/linkResolver.cpp, 49 [ Patched ]
#
# Problematic Thread: prio=5 tid=0x007e09b0 nid=0x2b runnable
#
###@###.### 11/2/04 21:20 GMT

Comments
SUGGESTED FIX See PRT webrev: http://analemma.sfbay.sun.com/net/prt-archiver.sfbay/data/archived_workspaces/main/c2_baseline/2004/20041119153157.rasbold.c2_baseline/workspace/webrevs/webrev-2004.11.20/index.html ###@###.### 2004-11-18 17:58:56 GMT ###@###.### 2004-11-22 16:05:57 GMT
09-11-2004

EVALUATION Due to uneven evolution in two classes, the compiler sees two methods with same signature in classes with a subclass-superclass relationship. In the subclass, the method is private static, in the superclass, the same method is public virtual. In trying to do optimized calls with profile data and/or CHA, the compiler incorrectly attempts to call the static method at the virtual call site. Sometimes bad code happens, sometimes runtime errors happen, and in certain cases, their may be no ill effects. In the attached test case, the method is "m". In the customer's test case, the method is call "isTraceOn". ###@###.### 11/2/04 23:40 GMT Class evolution is one way, but not the only way to provoke this bug. The attached test t6189687 is example of two methods with the same name/signature but different attributes related by class hierarchy. ###@###.### 2004-11-11 19:39:20 GMT
02-11-2004

WORK AROUND There is no reliable workaround for all cases. ###@###.### 11/2/04 23:40 GMT
02-11-2004