harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tim Ellison <t.p.elli...@gmail.com>
Subject Re: [general] Interesting discoveries playing around with japitools
Date Tue, 07 Nov 2006 21:16:15 GMT
Stefano Mazzocchi wrote:
> Tim Ellison wrote:
>> Thanks for doing this Stefano.  I'll investigate the Sun/IBM findings
>> and let you know.
> 
> My pleasure, really.
> 
> Oh, and before anybody thinks there is something malicious about this,
> let me state that I do *NOT* think there was anything intentional in the
> various JVM about breaking WORA or things like that.
> 
> It's obviously just a bug somewhere, in japitools, in the TCK coverage
> tests, in the IBM JVM class library or (more likely) in a weird
> combination of all of the above.
> 
> What I want to emphasize (especially to the Sun officials that watch us)
> is that not only open source is not about breaking compatibility, but
> it's able to catch incompatibilities that not even Sun did. ;-)

Understood, but thanks for making it clear.  I always prefer the
'cock-up' theory to the 'conspiracy' theory for such things ;-)

I can't see the Sun-based code delivered in IBM 1.5, so had to go
through other people who can to get some answers.  Here's what I found
out, slightly reformatted from your original listing:


 == sun 1.5 vs. ibm1.5 ==

 java.awt.peer:
 Method java.awt.peer.WindowPeer.updateFocusableWindowState() is missing
in IBM1.5

The claim is that this method doesn't exist in Sun code either (as I
said above, I can't check directly).  This package isn't listed in the
JSE5.0 javadoc.

 javax.xml.datatype:
 Field
javax.xml.datatype.DatatypeFactory.DATATYPEFACTORY_IMPLEMENTATION_CLASS
has value
 “com.sun.org.apache.xerces.internal.jaxp.datatype.DatatypeFactoryImpl”
in Sun1.5, but value
 “org.apache.xerces.jaxp.datatype.DatatypeFactoryImpl” in IBM1.5

This is deliberate, since IBM doesn't do the 'com.sun' package renaming,
so this field has the name of the actual type that is to be used as the
factory impl.

 org.omg.stub.javax.management.remote.rmi:
 Class org.omg.stub.javax.management.remote.rmi._RMIConnectionImpl_Tie
missing in IBM1.5
 Class org.omg.stub.javax.management.remote.rmi._RMIServerImpl_Tie
missing in IBM1.5

This package is not part of the JSE API (but the inconsistency is being
checked).

 org.w3c.dom.html:
 method org.w3c.dom.html.HTMLFrameElement.getContentDocument() missing
in IBM1.5
 method org.w3c.dom.html.HTMLIFrameElement.getContentDocument() missing
in IBM1.5
 method org.w3c.dom.html.HTMLObjectElement.getContentDocument(): missing
in IBM1.5
 method org.w3c.dom.html.HTMLOptionElement.setSelected(boolean): missing
in IBM1.5

This package is also not part of the JSE API (but the inconsistency is being
checked).

                                   - o -

 == ibm1.5 vs. sun1.5 ==

 java.lang:
 method java.lang.StringBuilder.append(java.lang.StringBuilder): missing
in Sun1.5

This is a bug in the IBM impl. you can expect that method to disappear.

 javax.management.remote.rmi:
 Class javax.management.remote.rmi._RMIConnectionImpl_Tie missing in Sun1.5
 Class javax.management.remote.rmi._RMIServerImpl_Tie missing in Sun1.5

This also looks like a bug in the IBM impl (and looking at how the type
names match those listed above as missing in org.omg.stub... it looks to
me like the Ties were somehow created in the wrong package).

 javax.xml.datatype:
 Field
javax.xml.datatype.DatatypeFactory.DATATYPEFACTORY_IMPLEMENTATION_CLASS
has value   "org.apache.xerces.jaxp.datatype.DatatypeFactoryImpl” in
IBM1.5, but value
 “com.sun.org.apache.xerces.internal.jaxp.datatype.DatatypeFactoryImpl”
in Sun1.5

This is the same String const case as listed above.

... and the remainder of these are non-JSE-API packages.  Again, the
difference is being checked.

 org.omg.stub.java.lang:
 Package org.omg.stub.java.lang: missing in Sun1.5

 org.omg.stub.java.security:
 Package org.omg.stub.java.security: missing in Sun1.5

 org.omg.stub.java.util:
 Package org.omg.stub.java.util: missing in Sun1.5

 org.w3c.dom.html:
 Method org.w3c.dom.html.HTMLOptionElement.setIndex(int) missing in Sun1.5
 Method org.w3c.dom.html.HTMLTableCellElement.setCellIndex(int) missing
in Sun1.5
 Method
org.w3c.dom.html.HTMLTableRowElement.setCells(org.w3c.dom.html.HTMLCollection)
missing in Sun1.5
 Method org.w3c.dom.html.HTMLTableRowElement.setRowIndex(int) missing in
Sun1.5
 Method org.w3c.dom.html.HTMLTableRowElement.setSectionRowIndex(int)
missing in Sun1.5

 org.w3c.dom.xpath:
 Package org.w3c.dom.xpath: missing in Sun1.5

                                   - o -

Thanks again for pointing these out.  Of course, the IBM Java SDKs all
pass the JCK, so it may be that we require additional signature tests to
catch some of these.

Regards,
Tim

-- 

Tim Ellison (t.p.ellison@gmail.com)
IBM Java technology centre, UK.

Mime
View raw message