JDK-4811083 : oldjavac (used by rmic) assertion invalidated by generics or 4175911 fix
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.rmi
  • Affected Version: 1.4.2,5.0
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: solaris_8,windows_2000
  • CPU: generic,x86
  • Submitted: 2003-01-31
  • Updated: 2004-06-02
  • Resolved: 2003-08-01
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
5.0 tigerFixed
Related Reports
Duplicate :  
Relates :  
Description
The generic Java compiler generates bridge methods, which are synthetic
overriders.  oldjavac has an assertion that an overriding method is never
synthetic.  This assertion is tripped when rmic (which uses oldjavac
classes) is run.

the needed fix is in src/share/classes/sun/tools/java/MemberDefinition.java

---
This assertion can also be tripped up when the 1.4.2 javac is used with the "-target 1.1" option, because with the fix for 4175911 in 1.4.2, javac marks "miranda methods" (which are only generated in the "-target 1.1" case) as synthetic.  Miranda methods, by their nature, "override" interface methods, and so as synthetic methods they trip up this assertion in rmic.  Thus, the assertion is invalid in 1.4.2 as well.

For more details and a workaround, see the Evaluation of 5035300.

###@###.### 2004-06-02

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: tiger FIXED IN: tiger INTEGRATED IN: tiger tiger-b14
14-06-2004

PUBLIC COMMENTS ...
10-06-2004

EVALUATION Will be fixed when the generic compiler is integrated into j2se. ###@###.### 2003-01-31
31-01-2003