Re: mauve results posted nightly

2002-12-27 Thread Stuart Ballard
Brian Jones wrote:


No, not forgotten but not started yet.  Won't have a decent response back
to you for a week I guess.  Planning to send a patch... is there a way
to combine two or more japize runs into a single file (non-overlapping
packages)?


Hmm... not a trivial way, but it can be done.

gunzip file1.japi.gz file2.japi.gz
cat file1.japi file2.japi | sort  combined.japi
vi combined.japi
dd (strip off the duplicate first line)
:wq
gzip combined.japi

Of course, since the first line contains things like creation date, 
there's slight dataloss in combining two files with different creation 
dates. Oh, and I think this technique requires japi files created by 
japitools 0.9.2, because the code that made sort give the right order 
was only added in that version.

This also won't work if any of the same classes are included in both 
japis, but you said non-overlapping packages so you should be okay on 
that front.

Out of interest, since you seem to have a handle on solving the problem, 
what exactly turned out to be causing it?

Stuart.

--
Stuart Ballard, Programmer
NetReach - Internet Solutions
(215) 283-2300, ext. 126
http://www.netreach.com/



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: mauve results posted nightly

2002-12-26 Thread Stuart Ballard
Brian Jones wrote:


It's not a new problem, but I was able to ignore it before.  Now
japize stops dead in its tracks.  Because I know Classpath has this
$ClassFactory and JDK 1.4 does not... Jode must be reading something
in Classpath's .class files referencing this and trying to use
reflection to load it which fails under the JDK.  Again I used to see
this (and I ignored it) but it didn't cause japize to die as it does
now.


Did you ever get a chance to take a look into this? I have a few 
japicompat fixes that I'd like to make a release out of, but I don't 
want to make one with this problem still outstanding.

There are two approaches that I think may be worth pursuing here:

1) Email me the classfile(s) that are a problem (I guess 
java.lang.reflect.Proxy*.class) and I'll forward them to the Jode 
maintainer and see whether he has any ideas. A UTFDataFormatException 
suggests to me that the classfile itself is corrupted, or that the low 
levels of Jode's classfile reading are confused and expecting UTF data 
where there isn't any.

2) Try compiling Classpath, or perhaps just java.lang.reflect.Proxy, 
with a different java compiler. If it *is* an invalid classfile, it 
seems unlikely that two different compilers would both exhibit the same 
incorrect behavior.

Thanks,
Stuart.

--
Stuart Ballard, Programmer
NetReach - Internet Solutions
(215) 283-2300, ext. 126
http://www.netreach.com/



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: mauve results posted nightly

2002-12-26 Thread Brian Jones
Stuart Ballard [EMAIL PROTECTED] writes:

 Brian Jones wrote:
  It's not a new problem, but I was able to ignore it before.  Now
  japize stops dead in its tracks.  Because I know Classpath has this
  $ClassFactory and JDK 1.4 does not... Jode must be reading something
  in Classpath's .class files referencing this and trying to use
  reflection to load it which fails under the JDK.  Again I used to see
  this (and I ignored it) but it didn't cause japize to die as it does
  now.
 
 Did you ever get a chance to take a look into this? I have a few
 japicompat fixes that I'd like to make a release out of, but I don't
 want to make one with this problem still outstanding.

No, not forgotten but not started yet.  Won't have a decent response back
to you for a week I guess.  Planning to send a patch... is there a way
to combine two or more japize runs into a single file (non-overlapping
packages)?

Brian
-- 
Brian Jones [EMAIL PROTECTED]


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: mauve results posted nightly

2002-12-10 Thread Stuart Ballard
Brian Jones wrote:


It's not a new problem, but I was able to ignore it before.  Now
japize stops dead in its tracks.  Because I know Classpath has this
$ClassFactory and JDK 1.4 does not... Jode must be reading something
in Classpath's .class files referencing this and trying to use
reflection to load it which fails under the JDK.  Again I used to see
this (and I ignored it) but it didn't cause japize to die as it does
now.


Looking at the stacktrace you provided, I'm not convinced that this is a 
reflection issue at it's root. First off, we can disregard the fact that 
it happens when reading java.lang.reflect - that's irrelevant to what 
it's actually doing to read the classes, of course.

The stack traces refer to java.io.UTFDataFormatException - that sounds 
like a classfile format problem because I know that the classfile format 
contains a lot of UTF-formatted data. Does this continue to happen if 
you compile Classpath (or even just java.lang.reflect.Proxy) with a 
different Java compiler?

(I have no idea whether this is Jode misinterpreting perfectly valid 
information, or the compiler emitting an invalid classfile).

I suspect that what's happening is that due to this 
UTFDataFormatException in the classfile, Jode is falling back to trying 
to read the class another way, and the only other way it has is 
Reflection. When Japize asks the class whether it's deprecated, then, it 
has no way to find out, because reflection doesn't carry that 
information - so even if you *were* using a Java implementation that 
included the class, it still wouldn't solve the problem.

I think we need to figure out whether the root cause of this 
UTFDataFormatException is due to a malformed class file (in which case 
the compiler needs to be fixed) or a Jode bug (in which case, of course, 
we need to fix that).

To that end, would you like to mail the offending class file(s) to the 
Jode maintainer and ask for an informed opinion (unless you happen to 
know the internals of the classfile format yourself, which I certainly 
don't ;) )? Or would you like to email the classfile to me, and I'll 
contact the Jode maintainer myself?

Thanks,
Stuart.

--
Stuart Ballard, Programmer
NetReach - Internet Solutions
(215) 283-2300, ext. 126
http://www.netreach.com/



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: mauve results posted nightly

2002-12-09 Thread Stuart Ballard
Brian Jones wrote:

Brian Jones [EMAIL PROTECTED] writes:

Sadly it appears I'm having trouble producing a classpath.japi.  Jode
appears to use reflection to load some classes during class reading
which is making it difficult to use something like Sun's JDK to
produce the files and I don't have enough RAM to use Kissme on the
whole thing.


Do you have evidence that the reflection codepaths are actually being 
used? I know that Jode contains code to do that, but as far as I know it 
shouldn't actually ever happen when making a japi of java.*, as long as 
all the java.* classes are in the zipfiles that you pass to japize on 
the commandline.

(there is a good reason for keeping it there, though: consider the case 
when you're japizing, say, javax.servlet. You only want to pass the 
servlet jar on the commandline, but Jode still needs to be able to find 
all the superclasses, including java.lang.Object, a bunch of stuff from 
java.io, etc. In those cases it's legit to use reflection, because the 
classes you're loading by reflection are irrelevant to the API you're 
japizing)

Incidentally, that code in Jode hasn't changed ever since I first 
started using Jode back in 0.8 or so - so if there's a problem, it's 
been in every version of japitools since then (including 0.9 which 
you're already using... :) ).

Stuart.


--
Stuart Ballard, Programmer
NetReach - Internet Solutions
(215) 283-2300, ext. 126
http://www.netreach.com/



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: mauve results posted nightly

2002-12-09 Thread Stuart Ballard
Brian Jones wrote:


The -java.text.resources is already there, re-read above.  

Oops, yes, I noticed that shortly after sending that message, but didn't 
want to spam the list with an oops message ;)

I produced a jdk14.japi after your changes.  I also remade all the
other files as well.  Would be useful for japize to look at multiple
.jar/.zip files... dealing with jce.jar required making a new .jar
file with rt.jar and jce.jar combined.  

Can you elaborate on the trouble you're having? I was able to produce 
jdk14.japi just fine with a japize line like:

japize as jdk14 packages .../rt.jar .../jce.jar .../jsse.jar +java 
-java.awt.peer etc etc etc

(that's all on one line, and of course ... and etc need to be 
replaced with real arguments)

The latest japi files for all JDK versions from 1.0 to 1.4 are available 
in jdkjapis.tar linked from the japitools homepage.

Stuart.


--
Stuart Ballard, Programmer
NetReach - Internet Solutions
(215) 283-2300, ext. 126
http://www.netreach.com/



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: mauve results posted nightly

2002-12-09 Thread Brian Jones
Stuart Ballard [EMAIL PROTECTED] writes:

 Can you elaborate on the trouble you're having? I was able to produce
 jdk14.japi just fine with a japize line like:
 
 japize as jdk14 packages .../rt.jar .../jce.jar .../jsse.jar +java
 -java.awt.peer etc etc etc

That's what I wanted... didn't think it worked.  I should have tried
it I guess.

-- 
Brian Jones [EMAIL PROTECTED]
http://www.haphazard.org/~cbj/


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: mauve results posted nightly

2002-12-09 Thread Brian Jones
Stuart Ballard [EMAIL PROTECTED] writes:

 Do you have evidence that the reflection codepaths are actually being
 used? I know that Jode contains code to do that, but as far as I know
 it shouldn't actually ever happen when making a japi of java.*, as
 long as all the java.* classes are in the zipfiles that you pass to
 japize on the commandline.
 
 (there is a good reason for keeping it there, though: consider the
 case when you're japizing, say, javax.servlet. You only want to pass
 the servlet jar on the commandline, but Jode still needs to be able to
 find all the superclasses, including java.lang.Object, a bunch of
 stuff from java.io, etc. In those cases it's legit to use reflection,
 because the classes you're loading by reflection are irrelevant to the
 API you're japizing)
 
 Incidentally, that code in Jode hasn't changed ever since I first
 started using Jode back in 0.8 or so - so if there's a problem, it's
 been in every version of japitools since then (including 0.9 which
 you're already using... :) ).

It's not a new problem, but I was able to ignore it before.  Now
japize stops dead in its tracks.  Because I know Classpath has this
$ClassFactory and JDK 1.4 does not... Jode must be reading something
in Classpath's .class files referencing this and trying to use
reflection to load it which fails under the JDK.  Again I used to see
this (and I ignored it) but it didn't cause japize to die as it does
now.

Processing package java.lang.reflect,:=++Can't read class 
java.lang.reflect.Proxy$ClassFactory, types may be incorrect. 
(java.io.UTFDataFormatException)java.io.UTFDataFormatException
at java.io.DataInputStream.readUTF(DataInputStream.java:615)
at java.io.DataInputStream.readUTF(DataInputStream.java:551)
at jode.bytecode.ConstantPool.read(ConstantPool.java:94)
at jode.bytecode.ClassInfo.read(ClassInfo.java:310)
at jode.bytecode.ClassInfo.loadInfo(ClassInfo.java:628)
at jode.bytecode.ClassInfo.getModifiers(ClassInfo.java:759)
at net.wuffies.japi.JodeClass.getModifiers(JodeClass.java:69)
at net.wuffies.japi.Japize.japizeClass(Japize.java:621)
at net.wuffies.japi.Japize.processPackage(Japize.java:445)
at net.wuffies.japi.Japize.processPackage(Japize.java:454)
at net.wuffies.japi.Japize.doJapize(Japize.java:331)
at net.wuffies.japi.Japize.main(Japize.java:281)
Can't read class java.lang.reflect.Proxy$ClassFactory, types may be incorrect. 
(java.io.UTFDataFormatException)
java.io.UTFDataFormatException
at java.io.DataInputStream.readUTF(DataInputStream.java:615)
at java.io.DataInputStream.readUTF(DataInputStream.java:551)
at jode.bytecode.ConstantPool.read(ConstantPool.java:94)
at jode.bytecode.ClassInfo.read(ClassInfo.java:310)
at jode.bytecode.ClassInfo.loadInfo(ClassInfo.java:628)
at jode.bytecode.ClassInfo.getOuterClasses(ClassInfo.java:807)
at net.wuffies.japi.JodeClass.getModifiers(JodeClass.java:74)
at net.wuffies.japi.Japize.japizeClass(Japize.java:621)
at net.wuffies.japi.Japize.processPackage(Japize.java:445)
at net.wuffies.japi.Japize.processPackage(Japize.java:454)
at net.wuffies.japi.Japize.doJapize(Japize.java:331)
at net.wuffies.japi.Japize.main(Japize.java:281)
Exception in thread main java.lang.NoClassDefFoundError: 
java.lang.reflect.Proxy$ClassFactory
at jode.bytecode.ClassInfo.loadInfo(ClassInfo.java:634)
at net.wuffies.japi.JodeClass.isDeprecated(JodeClass.java:84)
at net.wuffies.japi.Japize.japizeClass(Japize.java:663)
at net.wuffies.japi.Japize.processPackage(Japize.java:445)
at net.wuffies.japi.Japize.processPackage(Japize.java:454)
at net.wuffies.japi.Japize.doJapize(Japize.java:331)
at net.wuffies.japi.Japize.main(Japize.java:281)

Brian
-- 
Brian Jones [EMAIL PROTECTED]
http://www.haphazard.org/~cbj/


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: mauve results posted nightly

2002-12-08 Thread Brian Jones
Stuart Ballard [EMAIL PROTECTED] writes:

 Brian Jones wrote:
  as classpath packages ${CLASSPATH_CVS}/build/lib/glibj.zip +java
  +javax +org -java.awt.dnd.peer -java.awt.peer -org.apache
  -org.w3c.dom.css -org.w3c.dom.events -org.w3c.dom.html
  -org.w3c.dom.stylesheets -org.w3c.dom.traversal -org.w3c.dom.views
  -java.text.resources
  This is what I use nightly on Classpath.  I may need to regenerate
  the
  jdk stuff just to be sure it uses the same thing.
 
 On the JDK you also need -java.text.resources - it's never been in any
 of the releases' documentation, but it's in every JDK version since
 1.1. It currently shows up as 100% missing (and bright red) in the
 nightly HTML comparison, because the 1.2 and 1.3 japis I have still
 include it...

The -java.text.resources is already there, re-read above.  

 If anyone feels like figuring out enough of Jode to get a jdk14.japi
 out of it, now would be a very good time; this is something I
 certainly can't do because my primary machine can barely even japize
 1.1.

I produced a jdk14.japi after your changes.  I also remade all the
other files as well.  Would be useful for japize to look at multiple
.jar/.zip files... dealing with jce.jar required making a new .jar
file with rt.jar and jce.jar combined.  

Brian
-- 
Brian Jones [EMAIL PROTECTED]
http://www.haphazard.org/~cbj/


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: mauve results posted nightly

2002-12-08 Thread Brian Jones
Brian Jones [EMAIL PROTECTED] writes:

 I produced a jdk14.japi after your changes.  I also remade all the
 other files as well.  Would be useful for japize to look at multiple
 .jar/.zip files... dealing with jce.jar required making a new .jar
 file with rt.jar and jce.jar combined.  

Sadly it appears I'm having trouble producing a classpath.japi.  Jode
appears to use reflection to load some classes during class reading
which is making it difficult to use something like Sun's JDK to
produce the files and I don't have enough RAM to use Kissme on the
whole thing.

Brian
-- 
Brian Jones [EMAIL PROTECTED]
http://www.haphazard.org/~cbj/


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: mauve results posted nightly

2002-11-26 Thread John Leuner
It's working now, it's really great!

John

On Mon, 2002-11-25 at 16:55, Stuart Ballard wrote:
 John Leuner wrote:
 Okay, I've posted experimental and incomplete HTMLified comparisions of 
 Classpath vs JDK1.1, JDK1.2 and JDK1.3, linked from 
 http://rainbow.netreach.net/~sballard/japi and regenerated nightly at 
 around 3.
  
  
  This link doesn't seem to work?
 
 Hmm, I just noticed the timestamp on your email and I'm surprised that 
 it still wasn't working at that time. I thought it would have been up by 
 about 10am EST today. Are you still having problems accessing it?
 
 Thanks,
 Stuart.
 
 
 -- 
 Stuart Ballard, Programmer
 NetReach - Internet Solutions
 (215) 283-2300, ext. 126
 http://www.netreach.com/
 
 
 
 ___
 Classpath mailing list
 [EMAIL PROTECTED]
 http://mail.gnu.org/mailman/listinfo/classpath




signature.asc
Description: This is a digitally signed message part


Re: mauve results posted nightly

2002-11-25 Thread John Leuner
 Okay, I've posted experimental and incomplete HTMLified comparisions of 
 Classpath vs JDK1.1, JDK1.2 and JDK1.3, linked from 
 http://rainbow.netreach.net/~sballard/japi and regenerated nightly at 
 around 3.

This link doesn't seem to work?

John Leuner





signature.asc
Description: This is a digitally signed message part


Re: mauve results posted nightly

2002-11-25 Thread Stuart Ballard
John Leuner wrote:

Okay, I've posted experimental and incomplete HTMLified comparisions of 
Classpath vs JDK1.1, JDK1.2 and JDK1.3, linked from 
http://rainbow.netreach.net/~sballard/japi and regenerated nightly at 
around 3.

This link doesn't seem to work?


Sorry, power cut over the weekend at my company (this is hosted on my 
workstation rather than anything on a UPS).

Stuart.


--
Stuart Ballard, Programmer
NetReach - Internet Solutions
(215) 283-2300, ext. 126
http://www.netreach.com/



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: mauve results posted nightly

2002-11-25 Thread Stuart Ballard
John Leuner wrote:

Okay, I've posted experimental and incomplete HTMLified comparisions of 
Classpath vs JDK1.1, JDK1.2 and JDK1.3, linked from 
http://rainbow.netreach.net/~sballard/japi and regenerated nightly at 
around 3.


This link doesn't seem to work?


Hmm, I just noticed the timestamp on your email and I'm surprised that 
it still wasn't working at that time. I thought it would have been up by 
about 10am EST today. Are you still having problems accessing it?

Thanks,
Stuart.


--
Stuart Ballard, Programmer
NetReach - Internet Solutions
(215) 283-2300, ext. 126
http://www.netreach.com/



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: mauve results posted nightly

2002-11-21 Thread Stuart Ballard
Brian Jones wrote:

Stuart Ballard [EMAIL PROTECTED] writes:

I debugged the 1.4 problem earlier and posted about it I think, ie the
line of source and what file throws the exception... but I'm not a
class file expert and I don't know what else was added in 1.4 that
should result in additions to Jode other than this version check.


Good news - the just-released experimental japitools-0.9.1 appears to be 
able to japize 1.4 just fine. I imported the source for jode.bytecode 
and jode.util into the japitools source itself, removed the jode 
jarball, converted the .java.in files into plain java by hand, and 
removed the version check, and it seems to work (I made all the changes 
blind and untested on my crappy personal computer and just ran it once 
on my work computer). Results of comparison will be up shortly and it 
will be added to the nightlies from tonight onwards.

This also means, btw, that the html output is now available for people 
to play with a bit. The documentation is pretty non-existent but there's 
some hints in the changelog at the top of the webpage. Basically it's

$ japicompat -v jdk1x.japi.gz classpath.japi.gz | japiohtml

For old-style text output use japiotext instead of japiohtml, although 
this doesn't quite have all the information the old text output used to 
have. That will be fixed in a later version.

Stuart.


--
Stuart Ballard, Programmer
NetReach - Internet Solutions
(215) 283-2300, ext. 126
http://www.netreach.com/



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: mauve results posted nightly

2002-11-20 Thread Stuart Ballard
Brian Jones wrote:


as classpath packages ${CLASSPATH_CVS}/build/lib/glibj.zip +java +javax +org -java.awt.dnd.peer -java.awt.peer -org.apache -org.w3c.dom.css -org.w3c.dom.events -org.w3c.dom.html -org.w3c.dom.stylesheets -org.w3c.dom.traversal -org.w3c.dom.views -java.text.resources

This is what I use nightly on Classpath.  I may need to regenerate the
jdk stuff just to be sure it uses the same thing.


On the JDK you also need -java.text.resources - it's never been in any 
of the releases' documentation, but it's in every JDK version since 1.1. 
It currently shows up as 100% missing (and bright red) in the nightly 
HTML comparison, because the 1.2 and 1.3 japis I have still include it...

Btw, I have added the errors themselves to the HTML output, and 
linkified them from the summary table. It needs a bit more tidying up 
and some per-package summaries, but it's useful enough to be worth 
trying to use the HTML output for bugfixing. The only thing that worries 
me is that in the absence of a jdk14.japi, some of the things that are 
listed as errors might be actually attempts at 1.4 compatibility - just 
as there are quite a few errors against JDK1.1 that don't appear in the 
output for JDK1.3, suggesting that these are places where Sun themselves 
broke compatibility.

If anyone feels like figuring out enough of Jode to get a jdk14.japi out 
of it, now would be a very good time; this is something I certainly 
can't do because my primary machine can barely even japize 1.1.

Stuart.

--
Stuart Ballard, Programmer
NetReach - Internet Solutions
(215) 283-2300, ext. 126
http://www.netreach.com/



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: mauve results posted nightly

2002-11-20 Thread Tom Tromey
 Stuart == Stuart Ballard [EMAIL PROTECTED] writes:

Stuart Btw, I have added the errors themselves to the HTML output,
Stuart and linkified them from the summary table. It needs a bit more
Stuart tidying up and some per-package summaries, but it's useful
Stuart enough to be worth trying to use the HTML output for
Stuart bugfixing.

This is very nice.  Thanks!

Stuart The only thing that worries me is that in the absence of a
Stuart jdk14.japi

Yes.  It is especially difficult since I think we're targeting 1.4
right now.  (We certainly have a lot of 1.4 code in the tree.)
Differences against 1.[123] are therefore less interesting.
Still, what exists right now is definitely useful.

Tom


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: mauve results posted nightly

2002-11-20 Thread Brian Jones
Stuart Ballard [EMAIL PROTECTED] writes:

 Tom Tromey wrote:
  This is very nice.  Thanks!
 
 It's great fun working on it and making pretty colored output :)
 
  Yes.  It is especially difficult since I think we're targeting 1.4
  right now.  (We certainly have a lot of 1.4 code in the tree.)
  Differences against 1.[123] are therefore less interesting.
  Still, what exists right now is definitely useful.
 
 I don't think it should take long for someone with the Jode source
 code (jode.sourceforge.net) and a computer capable of running it to
 diagnose exactly where Jode is failing and why, and fix it. I think
 it's just a classfile-version check which needs the number to compare
 against upped. But since my computer can't even run it, I can't do
 that work myself :(

I debugged the 1.4 problem earlier and posted about it I think, ie the
line of source and what file throws the exception... but I'm not a
class file expert and I don't know what else was added in 1.4 that
should result in additions to Jode other than this version check.

Brian
-- 
Brian Jones [EMAIL PROTECTED]
http://www.haphazard.org/~cbj/


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: mauve results posted nightly

2002-11-20 Thread Stuart Ballard
Tom Tromey wrote:


This is very nice.  Thanks!


It's great fun working on it and making pretty colored output :)


Yes.  It is especially difficult since I think we're targeting 1.4
right now.  (We certainly have a lot of 1.4 code in the tree.)
Differences against 1.[123] are therefore less interesting.
Still, what exists right now is definitely useful.


I don't think it should take long for someone with the Jode source code 
(jode.sourceforge.net) and a computer capable of running it to diagnose 
exactly where Jode is failing and why, and fix it. I think it's just a 
classfile-version check which needs the number to compare against 
upped. But since my computer can't even run it, I can't do that work 
myself :(

Stuart.


--
Stuart Ballard, Programmer
NetReach - Internet Solutions
(215) 283-2300, ext. 126
http://www.netreach.com/



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: mauve results posted nightly

2002-11-18 Thread Mark Wielaard
Hi,

On Mon, 2002-11-18 at 04:42, Stephen Crawley wrote:
 This is probably how it happened.  Loading Collections$SynchronizedSet
 has triggered loading of another class Y, and Y's static initialisation
 code has tried to use something in Collections$SynchronizedSet.  This
 has caused the class loader to FindOrLoad Collections$SynchronizedSet
 a second time, and the initialisation has run.  Finally, the class
 loader call that originally tried to load Collections$SynchronizedSet
 notices that the copy of the class the CPList is not the one it loaded,
 and panics.

I am using the following as a temporary workaround at the moment:

--- vm/classloader_tuple.c  23 Oct 2002 13:26:54 -  1.25
+++ vm/classloader_tuple.c  18 Nov 2002 10:48:44 -
@@ -312,8 +312,9 @@
   pstClass-uidName, pstClass, pstClass-classLoader);
 }
 else {
-  panic(Class %s %p (%p) loaded twice,
+  eprintf(Class %s %p (%p) loaded twice,
pstClass-uidName, pstClass, pstClass-classLoader);
+  return pstTempClass;
 }
   }
   else {

Hope that helps you get further with your tests for now.

Cheers,

Mark



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: mauve results posted nightly

2002-11-18 Thread Stuart Ballard
Stephen Crawley wrote:


An OutOfMemoryError might indicate a problem in weak references, since 
Jode apparently relies on them to release classes (it has no explicit 
way to completely unload a class). 


AFAIK, weak references don't work in Kissme.  Certainly, the Mauve weak
reference testcases have been commented out of the regression tests. I
also suspect that class unloading won't work either.


If weak references don't work then I'm not surprised that you get an OOM 
error, because you're probably attempting to load a full representation 
of every class in the API into memory simultaneously!

When I referred to unloading classes, I meant Jode's representation of 
classes in regular old Java data structures; as far as I know, Jode 
doesn't rely on VM class unloading.

Stuart.

--
Stuart Ballard, Programmer
NetReach - Internet Solutions
(215) 283-2300, ext. 126
http://www.netreach.com/



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: mauve results posted nightly

2002-11-17 Thread Mark Wielaard
Hi Brian,

On Wed, 2002-11-13 at 22:34, Brian Jones wrote:
 I'm looking forward (not) to figuring out
 what needs improving in Kissme's reflection support so that it (a)
 passes all those Mauve tests and (b) can help me test Classpath's
 serialization compliance.

What specific support do you need? Steven and I have recently hacked a
lot on the reflection support in Kissme and it now passes simple Mauve
serialisation tests like the gnu.testlet.java.util.ArrayList.serial
test. Kissme is certainly not perfect with respect to reflection, but I
believe that I fixed most bugs related to reflection. If there is a
specific reflection method that currently doesn't work maybe I can help
fix it.

Cheers,

Mark



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: mauve results posted nightly

2002-11-17 Thread Mark Wielaard
Hi,

On Mon, 2002-11-11 at 07:04, Tom Tromey wrote:
  Brian == Brian Jones [EMAIL PROTECTED] writes:
 
 Brian Please let me know if posting this information in this way is useful.
 Brian Perhaps other JVMs could be added.  Does Gcj do this?
 
 Mark Wielaard posts nightly test results to the gcc test mailing list.
 As I recall he does this for a couple platforms.  I usually just
 glance over these; a mailing list isn't that great of a format for
 detecting regressions.

I only post results of the stable (3.2.x) and development (3.3) branches
on powerpc (and sometimes for x86, if I feel like it, but that is not
automated).

The nice thing of posting to the gcc-testresults mailinglist is that you
have an archive of when what test passed/failed. This has helped me
figuring out when something broke and what patches to suspect.

If the Mauve Classpath+Kissme results could also be archived somehow
that would be really helpful for figuring out when what broke.

ftp://alpha.gnu.org/pub/gnu/classpath/nightly/tests/kissme-mauve-report.txtIt seems 
that standard out and standard error are somehow mixed up, which seems to put the  
lines in the wrong places. You might want to use the recently introduced -resultsonly 
flag to only generate PASS or FAIL lines.

What would be really helpful is when our xfails and mauve-libgcj files
are completely correct and when we know for certain that the failing
tests in Mauve are real bugs in the implementation. Now the number of
false positives is a bit to high. My plan for after the gcj 3.3 code
freeze is to go over all the (x)failing (and commented out) Mauve tests
in libgcj and figure out if it is a real bug and file a bug report or to
fix the Mauve test. Last time we did that ,for gcj 3.1, we really
cleaned up a lot of bad mauve tests. Hopefully this time we can clean up
Mauve completely.

 Ben Elliston is working on a Tinderbox-like system.  It will include
 gcj test results.  Ideally it will also send out email when someone
 introduces a regression (like Geoff's old tester, but it will include
 libgcj).

That would be really great to have!

Cheers,

Mark



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: mauve results posted nightly

2002-11-17 Thread Brian Jones
Stuart Ballard [EMAIL PROTECTED] writes:

  The only cotcha with compiling is the referencee to
  org.omg.CORBA.BAD_OPERATION in JapiSerialize which seems to be save to
  comment out.
 
 In fact it's safe to comment out the whole of JapiSerialize: it's
 entirely independent from the rest of Japitools and in fact written by
 a different person :). Of course, ideally you want to be able to *use*
 serialize as well as japize, and you'll need to compile it for that :)

Yes, it is safe to comment that out.  I need to think about it a bit
more.  Essentially I determined some exceptions thrown from
instantiating or serializing various classes were 'OK', in order to
reduce the number of errors one might look at later.

 Brian, what are the arguments you're giving Japize to generate the
 nightly classpath.japi.gz file, and to generate the jdkxx.japi.gz
 files?

as classpath packages ${CLASSPATH_CVS}/build/lib/glibj.zip +java +javax +org 
-java.awt.dnd.peer -java.awt.peer -org.apache -org.w3c.dom.css -org.w3c.dom.events 
-org.w3c.dom.html -org.w3c.dom.stylesheets -org.w3c.dom.traversal -org.w3c.dom.views 
-java.text.resources

This is what I use nightly on Classpath.  I may need to regenerate the
jdk stuff just to be sure it uses the same thing.
-- 
Brian Jones [EMAIL PROTECTED]
http://www.haphazard.org/~cbj/


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: mauve results posted nightly

2002-11-17 Thread Brian Jones
Mark Wielaard [EMAIL PROTECTED] writes:

 Hi Brian,
 
 On Wed, 2002-11-13 at 22:34, Brian Jones wrote:
  I'm looking forward (not) to figuring out
  what needs improving in Kissme's reflection support so that it (a)
  passes all those Mauve tests and (b) can help me test Classpath's
  serialization compliance.
 
 What specific support do you need? Steven and I have recently hacked a
 lot on the reflection support in Kissme and it now passes simple Mauve
 serialisation tests like the gnu.testlet.java.util.ArrayList.serial
 test. Kissme is certainly not perfect with respect to reflection, but I
 believe that I fixed most bugs related to reflection. If there is a
 specific reflection method that currently doesn't work maybe I can help
 fix it.

What is this about?

Kissme Panic: Class java/util/Collections$SynchronizedSet 0x8203248 ((nil)) loaded 
twice
Attempting to dump core
Aborted

Think it happens when trying to use gnu getopt.

Brian
-- 
Brian Jones [EMAIL PROTECTED]
http://www.haphazard.org/~cbj/


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: mauve results posted nightly

2002-11-17 Thread Stephen Crawley

  Kissme did throw a OutOfMemoryError when trying all the java. packages.
  But taking a smaller subset seems to work fine. Do you have a japize
  example classes/arguments/output file to which I can compare my results?
 
 An OutOfMemoryError might indicate a problem in weak references, since 
 Jode apparently relies on them to release classes (it has no explicit 
 way to completely unload a class). 

AFAIK, weak references don't work in Kissme.  Certainly, the Mauve weak
reference testcases have been commented out of the regression tests. I
also suspect that class unloading won't work either.

-- Steve





___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: mauve results posted nightly

2002-11-17 Thread Stephen Crawley
 Hi Brian,
 
 On Wed, 2002-11-13 at 22:34, Brian Jones wrote:
  I'm looking forward (not) to figuring out
  what needs improving in Kissme's reflection support so that it (a)
  passes all those Mauve tests and (b) can help me test Classpath's
  serialization compliance.
 
 What specific support do you need? Steven and I have recently hacked a
 lot on the reflection support in Kissme and it now passes simple Mauve
 serialisation tests like the gnu.testlet.java.util.ArrayList.serial
 test. Kissme is certainly not perfect with respect to reflection, but I
 believe that I fixed most bugs related to reflection. If there is a
 specific reflection method that currently doesn't work maybe I can help
 fix it.

Thanks for offering Mark.  It would be really good to knock over the
remaining reflection bugs in kissme.

-- Steve



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: mauve results posted nightly

2002-11-17 Thread Stephen Crawley
 Mark Wielaard [EMAIL PROTECTED] writes:

 What is this about?
 
 Kissme Panic: Class java/util/Collections$SynchronizedSet 0x8203248
   ((nil)) loaded twice

 Attempting to dump core
 Aborted
 
 Think it happens when trying to use gnu getopt.

What has happened is that the VM has detected that it has accidentally
loaded the same class twice with the same class loader.

This is probably how it happened.  Loading Collections$SynchronizedSet
has triggered loading of another class Y, and Y's static initialisation
code has tried to use something in Collections$SynchronizedSet.  This
has caused the class loader to FindOrLoad Collections$SynchronizedSet
a second time, and the initialisation has run.  Finally, the class
loader call that originally tried to load Collections$SynchronizedSet
notices that the copy of the class the CPList is not the one it loaded,
and panics.

This is a manifestation of the class loading problems that John Leuner
mentioned in his last email before he went on holiday. I believe that
the root cause is that kissme is incorrectly trying to combine linking
and initialisation into one pass.  But I don't really understand that
part of the code base.

-- Steve



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: mauve results posted nightly

2002-11-16 Thread Stuart Ballard
Mark Wielaard wrote:

Hi,


Oh, so you can run japize with kissme+classpath? (japize doesn't use 
reflection at all any more, and I think mostly even avoids the 
situations where jode would use it as a fallback...)

I just tried that and it seems to run with Kissme.
But gij gave the following exception:


(exception snipped since you seem to have a good handle on figuring that 
one out...)

That's great news: I'll add to the readme in the next version that 
Kissme is able to run Japize in at least a limited way (ie not over the 
whole API).

The only cotcha with compiling is the referencee to
org.omg.CORBA.BAD_OPERATION in JapiSerialize which seems to be save to
comment out.


In fact it's safe to comment out the whole of JapiSerialize: it's 
entirely independent from the rest of Japitools and in fact written by a 
different person :). Of course, ideally you want to be able to *use* 
serialize as well as japize, and you'll need to compile it for that :)

Compiling with gcj to a native executable failed since the jode jar
references some javax.swing classes. Will try to get the sources of jode
later to see if they can be stripped out easily since they don't seem to
be used during runtime anyway.


I know of no reason that shouldn't be possible. I've been intending to 
try to strip down jode to only the subset I need anyway: I only use the 
jode.bytecode package directly as far as I can remember, so 
jode.bytecode plus its dependencies should be all that's needed.

Kissme did throw a OutOfMemoryError when trying all the java. packages.
But taking a smaller subset seems to work fine. Do you have a japize
example classes/arguments/output file to which I can compare my results?


An OutOfMemoryError might indicate a problem in weak references, since 
Jode apparently relies on them to release classes (it has no explicit 
way to completely unload a class). Alternatively it might indicate a 
memory leak in GZipOutputStream - you could rule that out by specifying 
the unzip option. Those are, of course, just the first things that 
come to mind - it could be something entirely different.

You can find a whole bunch of example japi files in 
http://rainbow.netreach.net/~sballard/japi/htmlout/. The most 
interesting/useful for comparison is probably classpath.japi.gz which is 
the nightly one I download from Brian.

The only one I know for sure how to generate is jdk11.japi.gz which is 
generated by:
$ japize as jdk11 packages /path/to/classes.zip +java -java.awt.peer 
-java.text.resources
(that's all one line, of course).

The other jdkxx.japi.gz files there are ones I've accumulated over time 
and updated to the latest file format version using japifix. They should 
be identical to what you'd get if you run japize with appropriate 
arguments against the JDK, but I can't tell you what those arguments 
are, except for 1.1. To be absolutely sure you're getting the right 
results, your best bet is to compare against using the JDK to run the 
same thing...

Brian, what are the arguments you're giving Japize to generate the 
nightly classpath.japi.gz file, and to generate the jdkxx.japi.gz files?

--
Stuart Ballard, Programmer
NetReach - Internet Solutions
(215) 283-2300, ext. 126
http://www.netreach.com/



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: mauve results posted nightly

2002-11-16 Thread Stuart Ballard
Mark Wielaard wrote:

Hi,

It is also very fast compared with Kissme.
Kissme took 1 minute and 50 seconds for only the java.util package and
subpackages. gij took just 25 seconds for ALL java.* and subpackages!
This is with the gij interpreter, I really want to see this when I can
compile from source with -O2 :)


Sounds like an argument in favor of, or against, native java.util.zip ;) 
Or does this performance difference apply regardless of compression?

The uncompressed results of the kissme and gij version are completely
the same. But the compressed file that kissme produces seems to contain
a lot of trailing garbage (gunzip complains about it but still manages
to uncompress it). I haven't looked into this yet.


Presumably a java.util.zip bug.


(where INTERPRETER == gij || Sun j2sdk 1.4 java)
produced almost identical files but there were a few small differences.
I also haven't looked into this yet. (diff attached)
But this is probably one of the runtimes picking up a constant from its
own runtime library and not from the GNU Classpath glibj.zip file.


See below for my comments...


 java.lang,Double!#MAX_VALUE Pcsf D:1.7976931348623157E308
-java.lang,Double!#MIN_VALUE Pcsf D:5.0E-324
+java.lang,Double!#MIN_VALUE Pcsf D:4.9E-324
 java.lang,Double!#NEGATIVE_INFINITY Pcsf D:-Infinity



 java.lang,Float!#MAX_VALUE Pcsf F:3.4028235E38
-java.lang,Float!#MIN_VALUE Pcsf F:1.4012985E-45
+java.lang,Float!#MIN_VALUE Pcsf F:1.4E-45
 java.lang,Float!#NEGATIVE_INFINITY Pcsf F:-Infinity


These look like they could well be floating-point output bugs. Sun has a 
very complex and highly specified algorithm for exactly what significant 
figures should be printed for any given floating point number: it's 
entirely possible that Classpath doesn't implement that algorithm 
perfectly. (I think I commented in the source code that this also tests 
toString() on floating point numbers or something to that effect).

 java.security,Signer!getPrivateKey() Pcin Ljava/security/PrivateKey;
-java.security,Signer!getPublicKey() Pcin Ljava/security/PublicKey;
+java.security,Signer!getPublicKey() Pcin Ljava/security/PublicKey;*java.security.KeyManagementException
 java.security,Signer!getScope() Pcif Ljava/security/IdentityScope;



 java.security,Signer!toString() Pcin Ljava/lang/String;*java.security.KeyManagementException
-java.security,Signer!toString(Z) Pcin Ljava/lang/String;
+java.security,Signer!toString(Z) Pcin Ljava/lang/String;*java.security.KeyManagementException
 java.security,Signer!wait() Pcif V*java.lang.InterruptedException


These are more interesting as they boil down to the question of is 
KeyManagementException a subclass of RuntimeException?. If it is, it 
should be excluded from the throws clause; if not, it should be 
included. I'm curious as to why jode is giving different results 
depending on which JVM is running it...

Stuart.

--
Stuart Ballard, Programmer
NetReach - Internet Solutions
(215) 283-2300, ext. 126
http://www.netreach.com/



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: mauve results posted nightly

2002-11-15 Thread Mark Wielaard
Hi,

On Fri, 2002-11-15 at 14:18, Brian Jones wrote:
 Stephen Crawley [EMAIL PROTECTED] writes:
 
  Brian: How long ago did this happen?  If it was within the last week,
  do you have time to try to reproduce the segfault and email me a 
  stack trace?
 
 ~/mauve/kissme/useful_scripts/kissme -cp \
 
/home/autotest/japitools-0.9/share/java/japitools.jar:/home/autotest/japitools-0.9/share/java/JSX1.0.5.3.jar:/home/autotest/japitools-0.9/share/java/java-getopt-1.0.9.jar:/home/autotest/japitools-0.9/share/java/jode-1.1.1.jar
 \
 net.wuffies.japi.Japize as classpath-kissme packages \
 /home/autotest/mauve/classpath/build/lib/glibj.zip +java +javax +org \
 -java.awt.dnd.peer -java.awt.peer -org.apache -org.w3c.dom.css \
 -org.w3c.dom.events -org.w3c.dom.html -org.w3c.dom.stylesheets \
 -org.w3c.dom.traversal -org.w3c.dom.views -java.text.resources
 
 This is the command, in case that helps before I can get a stacktrace
 to you.

Interesting, it gives the following exception (when processing java.io):
java.lang.ArrayIndexOutOfBoundsException: 251
   at jode.bytecode.BytecodeInfo.read (BytecodeInfo.java:843)
   at jode.bytecode.MethodInfo.readAttribute (MethodInfo.java:56)
   at jode.bytecode.BinaryInfo.readAttributes (BinaryInfo.java:149)
   at jode.bytecode.MethodInfo.read (MethodInfo.java:85)
   at jode.bytecode.ClassInfo.read (ClassInfo.java:339)
   at jode.bytecode.ClassInfo.loadInfo (ClassInfo.java:614)
   at jode.bytecode.FieldInfo.getConstant (FieldInfo.java:171)
   at net.wuffies.japi.JodeField.init (JodeField.java:32)
   at net.wuffies.japi.JodeClass.addFields (JodeClass.java:238)
   at net.wuffies.japi.JodeClass.getFields (JodeClass.java:252)
   at net.wuffies.japi.Japize.japizeClass (Japize.java:667)
   at net.wuffies.japi.Japize.processPackage (Japize.java:446)
   at net.wuffies.japi.Japize.processPackage (Japize.java:455)
   at net.wuffies.japi.Japize.processRootSet (Japize.java:376)
   at net.wuffies.japi.Japize.doJapize (Japize.java:356)
   at net.wuffies.japi.Japize.main (Japize.java:284)

Need to find the Jode sources now
(only the binary jar comes with japi...)

Cheers,

Mark



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: mauve results posted nightly

2002-11-14 Thread Mark Wielaard
Hi,

On Wed, 2002-11-13 at 22:58, Stuart Ballard wrote:
 Brian Jones wrote:
  Stuart Ballard [EMAIL PROTECTED] writes:
  
  The only problem I recall is that you can't use Collections with a
  1.1-only JVM due to the use of non-1.1 functionality in other
  packages.  In my case it turned out you can run japize with any Java 2
  JVM to inspect bytecode.  I'm looking forward (not) to figuring out
  what needs improving in Kissme's reflection support so that it (a)
  passes all those Mauve tests and (b) can help me test Classpath's
  serialization compliance.
 
 Oh, so you can run japize with kissme+classpath? (japize doesn't use 
 reflection at all any more, and I think mostly even avoids the 
 situations where jode would use it as a fallback...)

I just tried that and it seems to run with Kissme.
But gij gave the following exception:

Exception in thread main java.lang.RuntimeException: The SHA algorithm
was not found to use in computing the Serial Version UID for class
java.awt.CardLayout
   at net.wuffies.japi.JodeClass.getSerialVersionUID() (Unknown Source)

I might have a fix for that from Raif Naffah that I will try tomorrow.
(It is already in my Classpath tree so that might explain why Kissme
doesn't suffer from it).

The only cotcha with compiling is the referencee to
org.omg.CORBA.BAD_OPERATION in JapiSerialize which seems to be save to
comment out.

Compiling with gcj to a native executable failed since the jode jar
references some javax.swing classes. Will try to get the sources of jode
later to see if they can be stripped out easily since they don't seem to
be used during runtime anyway.

Kissme did throw a OutOfMemoryError when trying all the java. packages.
But taking a smaller subset seems to work fine. Do you have a japize
example classes/arguments/output file to which I can compare my results?

Cheers,

Mark



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: mauve results posted nightly

2002-11-14 Thread Mark Wielaard
Hi,

On Thu, 2002-11-14 at 21:07, Tom Tromey wrote:
  Mark == Mark Wielaard [EMAIL PROTECTED] writes:
 
 Mark Exception in thread main java.lang.RuntimeException: The SHA algorithm
 Mark was not found to use in computing the Serial Version UID for class
 Mark java.awt.CardLayout
 Markat net.wuffies.japi.JodeClass.getSerialVersionUID() (Unknown Source)
 
 Fixed in cvs :-)

Thanks Tom. It was different bug then I had thought after all.

It is also very fast compared with Kissme.
Kissme took 1 minute and 50 seconds for only the java.util package and
subpackages. gij took just 25 seconds for ALL java.* and subpackages!
This is with the gij interpreter, I really want to see this when I can
compile from source with -O2 :)

The uncompressed results of the kissme and gij version are completely
the same. But the compressed file that kissme produces seems to contain
a lot of trailing garbage (gunzip complains about it but still manages
to uncompress it). I haven't looked into this yet.

Comparing results of a run of japizise

INTERPRETER -cp  \
  share/java/JSX1.0.5.6.jar:share/java/jode-1.1.1.jar:share/java/japitools.jar \
  net.wuffies.japi.Japize as gnu-classpath apis \
  /usr/share/classpath/glibj.zip +java +javax +org

(where INTERPRETER == gij || Sun j2sdk 1.4 java)
produced almost identical files but there were a few small differences.
I also haven't looked into this yet. (diff attached)
But this is probably one of the runtimes picking up a constant from its
own runtime library and not from the GNU Classpath glibj.zip file.

Cheers,

Mark

--- gij.out 2002-11-14 22:18:50.0 +0100
+++ j2sdk.out   2002-11-14 22:18:26.0 +0100
@@ -640,7 +640,7 @@
 java.lang,Compiler!wait(J,I) Pcif V*java.lang.InterruptedException
 java.lang,Double! Pcif 
class#-9172774392245257468:java.lang.Number:java.lang.Object*java.lang.Comparable*java.io.Serializable
 java.lang,Double!#MAX_VALUE Pcsf D:1.7976931348623157E308
-java.lang,Double!#MIN_VALUE Pcsf D:5.0E-324
+java.lang,Double!#MIN_VALUE Pcsf D:4.9E-324
 java.lang,Double!#NEGATIVE_INFINITY Pcsf D:-Infinity
 java.lang,Double!#NaN Pcsf D:NaN
 java.lang,Double!#POSITIVE_INFINITY Pcsf D:Infinity
@@ -757,7 +757,7 @@
 java.lang,ExceptionInInitializerError!wait(J,I) Pcif V*java.lang.InterruptedException
 java.lang,Float! Pcif 
class#-2671257302660747028:java.lang.Number:java.lang.Object*java.lang.Comparable*java.io.Serializable
 java.lang,Float!#MAX_VALUE Pcsf F:3.4028235E38
-java.lang,Float!#MIN_VALUE Pcsf F:1.4012985E-45
+java.lang,Float!#MIN_VALUE Pcsf F:1.4E-45
 java.lang,Float!#NEGATIVE_INFINITY Pcsf F:-Infinity
 java.lang,Float!#NaN Pcsf F:NaN
 java.lang,Float!#POSITIVE_INFINITY Pcsf F:Infinity
@@ -24520,7 +24520,7 @@
 java.security,Signer!getInfo() Pcin Ljava/lang/String;
 java.security,Signer!getName() Pcif Ljava/lang/String;
 java.security,Signer!getPrivateKey() Pcin Ljava/security/PrivateKey;
-java.security,Signer!getPublicKey() Pcin Ljava/security/PublicKey;
+java.security,Signer!getPublicKey() Pcin 
+Ljava/security/PublicKey;*java.security.KeyManagementException
 java.security,Signer!getScope() Pcif Ljava/security/IdentityScope;
 java.security,Signer!hashCode() Pcin I
 java.security,Signer!identityEquals(Ljava/security/Identity;) pcin Z
@@ -24531,7 +24531,7 @@
 java.security,Signer!setKeyPair(Ljava/security/KeyPair;) Pcif 
V*java.security.KeyException
 java.security,Signer!setPublicKey(Ljava/security/PublicKey;) Pcin 
V*java.security.KeyManagementException
 java.security,Signer!toString() Pcin 
Ljava/lang/String;*java.security.KeyManagementException
-java.security,Signer!toString(Z) Pcin Ljava/lang/String;
+java.security,Signer!toString(Z) Pcin 
+Ljava/lang/String;*java.security.KeyManagementException
 java.security,Signer!wait() Pcif V*java.lang.InterruptedException
 java.security,Signer!wait(J) Pcif V*java.lang.InterruptedException
 java.security,Signer!wait(J,I) Pcif V*java.lang.InterruptedException



Re: mauve results posted nightly

2002-11-14 Thread Brian Jones
Mark Wielaard [EMAIL PROTECTED] writes:

 Kissme did throw a OutOfMemoryError when trying all the java. packages.
 But taking a smaller subset seems to work fine. Do you have a japize
 example classes/arguments/output file to which I can compare my results?

Kissme from CVS segfaulted on me during java.io... no idea if was
out of memory or not.

Brian
-- 
Brian Jones [EMAIL PROTECTED]


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: mauve results posted nightly

2002-11-14 Thread Tom Tromey
 Mark == Mark Wielaard [EMAIL PROTECTED] writes:

Mark It is also very fast compared with Kissme.
Mark Kissme took 1 minute and 50 seconds for only the java.util package and
Mark subpackages. gij took just 25 seconds for ALL java.* and subpackages!

I suspect that the program spends a lot of time in the class library.
That gives gij an advantage since the library is compiled.

I haven't looked at Kissme's implementation.  I'd be surprised if it
was much slower than gij.  gij is a fairly straightforward
direct-threaded interpreter.

Tom


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: mauve results posted nightly

2002-11-14 Thread Tom Tromey
 Stuart == Stuart Ballard [EMAIL PROTECTED] writes:

Stuart Okay, I've posted experimental and incomplete HTMLified
Stuart comparisions of Classpath vs JDK1.1, JDK1.2 and JDK1.3, linked
Stuart from http://rainbow.netreach.net/~sballard/japi and
Stuart regenerated nightly at around 3.

Nice.

Are you taking feature requests?  I'd like it if the package name for
a given comparison linked to detailed information about the
differences in the package.  I'm thinking that easy bugs (e.g.,
missing final, wrong protections, etc) can be fixed immediately if
there is an easy way to see them.

Stuart It would be really nice to get JDK1.4 in there too (I'm not
Stuart sure if the big purple bar on java.sql is a false result due
Stuart to adding 1.4's features or whether it's real)

It's more work, but you could eliminate false problems by reading all
the APIs at once and only mentioning something as an error if it
disagrees with 1.4.

Stuart Anyone with connections in the libgcj camp, you're welcome to
Stuart post a libgcj.japi.gz file somewhere nightly and I'll do the
Stuart same...

It will take some time, probably a long time, but eventually I'll do
this.

Tom


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: mauve results posted nightly

2002-11-14 Thread Stephen Crawley
 Mark Wielaard [EMAIL PROTECTED] writes:
 
  Kissme did throw a OutOfMemoryError when trying all the java. packages.
  But taking a smaller subset seems to work fine. Do you have a japize
  example classes/arguments/output file to which I can compare my results?
 
 Kissme from CVS segfaulted on me during java.io... no idea if was
 out of memory or not.

Mark: Kissme will not expand the size of its heap beyond its initial size.
[It is on the list of things to fix.]  If you experience OutOfMemoryError
exceptions, try giving it a bigger heap.  The built-in help should tell
you how ... 

Brian: How long ago did this happen?  If it was within the last week,
do you have time to try to reproduce the segfault and email me a 
stack trace?

-- Steve



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: mauve results posted nightly

2002-11-14 Thread Tom Tromey
 Mark == Mark Wielaard [EMAIL PROTECTED] writes:

Mark Exception in thread main java.lang.RuntimeException: The SHA algorithm
Mark was not found to use in computing the Serial Version UID for class
Mark java.awt.CardLayout
Markat net.wuffies.japi.JodeClass.getSerialVersionUID() (Unknown Source)

Fixed in cvs :-)

Tom


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: mauve results posted nightly

2002-11-14 Thread Eric Blake

(where INTERPRETER == gij || Sun j2sdk 1.4 java)
produced almost identical files but there were a few small differences.
I also haven't looked into this yet. (diff attached)
But this is probably one of the runtimes picking up a constant from its
own runtime library and not from the GNU Classpath glibj.zip file.


--- gij.out	2002-11-14 22:18:50.0 +0100
+++ j2sdk.out	2002-11-14 22:18:26.0 +0100
@@ -640,7 +640,7 @@
 java.lang,Compiler!wait(J,I) Pcif V*java.lang.InterruptedException
 java.lang,Double! Pcif class#-9172774392245257468:java.lang.Number:java.lang.Object*java.lang.Comparable*java.io.Serializable
 java.lang,Double!#MAX_VALUE Pcsf D:1.7976931348623157E308
-java.lang,Double!#MIN_VALUE Pcsf D:5.0E-324
+java.lang,Double!#MIN_VALUE Pcsf D:4.9E-324


This diff is a result of bugs in Double.toString() within the VM.  It is 
the underlying double value in both VMs, but a different string 
representation.  The correct string is 4.9E-324.  Perhaps japize 
should use Double.doubleToLongBits() to compare the bitwise value of 
double constants (likewise Float.floatToIntBits()).


-java.lang,Float!#MIN_VALUE Pcsf F:1.4012985E-45
+java.lang,Float!#MIN_VALUE Pcsf F:1.4E-45


Likewise. The correct string should be 1.4E-45.

--
This signature intentionally left boring.

Eric Blake [EMAIL PROTECTED]
  BYU student, free software programmer




___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: mauve results posted nightly

2002-11-14 Thread Tom Tromey
 Eric == Eric Blake [EMAIL PROTECTED] writes:

 --- gij.out  2002-11-14 22:18:50.0 +0100
 +++ j2sdk.out2002-11-14 22:18:26.0 +0100
 -java.lang,Double!#MIN_VALUE Pcsf D:5.0E-324
 +java.lang,Double!#MIN_VALUE Pcsf D:4.9E-324

Eric This diff is a result of bugs in Double.toString() within the VM.  It
Eric is the underlying double value in both VMs, but a different string
Eric representation.  The correct string is 4.9E-324.

Eric, since you seem to know about this, would you mind submitting a
PR against gij?

Tom


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: mauve results posted nightly

2002-11-14 Thread Stephen Crawley

 Perhaps japize 
 should use Double.doubleToLongBits() to compare the bitwise value of 
 double constants (likewise Float.floatToIntBits()).

That would be a bit safer, considering that even JDK 1.4.x has minor
bugs in its implementations of double - string translation!  However,
even comparing the bits returned Double.doubleToLongBits() is not
strictly correct, because the Java VM spec says that VMs are allowed to
use a range of bit patterns to represent NaN values.  

The safest way for for japize to compare Java doubles (and floats) is to 
do the following:

   double d1, d2;
   ...
   boolean sameValue = (Double.isNaN(d1)  Double.isNaN(d2)) || (d1 == d2)

Note: you have to test NaNs separately because the Java VM spec says that
(NaN == NaN) always gives false!!

-- Steve



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: mauve results posted nightly

2002-11-14 Thread Eric Blake
Stephen Crawley wrote:

Perhaps japize 
should use Double.doubleToLongBits() to compare the bitwise value of 
double constants (likewise Float.floatToIntBits()).

That would be a bit safer, considering that even JDK 1.4.x has minor
bugs in its implementations of double - string translation!  However,
even comparing the bits returned Double.doubleToLongBits() is not
strictly correct, because the Java VM spec says that VMs are allowed to
use a range of bit patterns to represent NaN values.  

Double.doubleToLongBits is specified to flatten all doubles to the 
canonical version of NaN, 0x7ff8L.  You're thinking of 
Double.doubleToRawLongBits where NaN can be from a range of values. 
Mauve tests whether an implementation actually obeys this rule.

Of all the compilers and VMs I have seen for Java, the only one that 
currently gets double-String and float-String conversion 100% correct 
is jikes, version 1.16 or later.  There are several tests in the Jacks 
test suite for corner cases of string conversion; but I ought to port 
them to Mauve as well, to have runtime as well as compile-time tests.

(BTW, Sun JDK 1.4.x also has bugs in the string - double translation, 
and I know at least one string which sends Sun's Double.parseDouble, and 
thus javac, into an infinite loop).


The safest way for for japize to compare Java doubles (and floats) is to 
do the following:

   double d1, d2;
   ...
   boolean sameValue = (Double.isNaN(d1)  Double.isNaN(d2)) || (d1 == d2)

Note: you have to test NaNs separately because the Java VM spec says that
(NaN == NaN) always gives false!!

Not just the JVM - IEEE 754 also specified this relation!  But your test 
above does not work for 0.0 vs. -0.0.  The best comparison is 
(Double.compare(d1, d2) == 0), added in JDK 1.4; or (new 
Double(d1).compareTo(new Double(d2)) == 0) in JDK 1.2.  If you want 
japize to work with JDK 1.1, just copy the implementation of these 
methods from Classpath or libgcj.  These methods are tested by mauve.

--
This signature intentionally left boring.

Eric Blake [EMAIL PROTECTED]
  BYU student, free software programmer



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: mauve results posted nightly

2002-11-14 Thread Brian Jones
Stephen Crawley [EMAIL PROTECTED] writes:

 Brian: How long ago did this happen?  If it was within the last week,
 do you have time to try to reproduce the segfault and email me a 
 stack trace?

This week, last night, from early morning build yesterday.  I'll try.

Brian
-- 
Brian Jones [EMAIL PROTECTED]
http://www.haphazard.org/~cbj/


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: mauve results posted nightly

2002-11-13 Thread Brian Jones
Stuart Ballard [EMAIL PROTECTED] writes:

 Eric Blake wrote:
  What's wrong with TreeSet.subSet? Let's get that fixed!
 
 I don't know, but whenever people try to run Japize on free VMs that's
 the one people point out as being a problem. I can't remember exactly
 who mentioned it but I do remember hearing it about Classpath as well
 as Kaffe.
 
 Stuart.

The only problem I recall is that you can't use Collections with a
1.1-only JVM due to the use of non-1.1 functionality in other
packages.  In my case it turned out you can run japize with any Java 2
JVM to inspect bytecode.  I'm looking forward (not) to figuring out
what needs improving in Kissme's reflection support so that it (a)
passes all those Mauve tests and (b) can help me test Classpath's
serialization compliance.

Brian
-- 
Brian Jones [EMAIL PROTECTED]


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: mauve results posted nightly

2002-11-13 Thread Stuart Ballard
Brian Jones wrote:

Stuart Ballard [EMAIL PROTECTED] writes:

http://www.gnu.org/philosophy/gif.html

If this web page is correct, GIF will be free next year.


It also mentions libungif which produces patent-free uncompressed gifs.

apt-cache search led me to libungif-bin (debian package, may use other 
names elsewhere) which includes tools to convert normal gifs to 
patent-free ones.

A 1x1.gif produced by one of these libungif-bin programs should be safe. 
So far I haven't been able to figure out which, if any, of them is 
capable of producing a 1x1 pixel gif from scratch where the single pixel 
is transparent, but presumably something there is. The documentation 
seems a little lacking, and the choices of programs to include seems 
very random...

Stuart.

--
Stuart Ballard, Programmer
NetReach - Internet Solutions
(215) 283-2300, ext. 126
http://www.netreach.com/



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: mauve results posted nightly

2002-11-13 Thread Stuart Ballard
Brian Jones wrote:


Don't use GIF due to licensing problems.  I think JPEG recently became
problematic as well.


Well I can't use PNG since Netscape 4.x compatibility is the whole point 
of using an image in the first place (decent browsers know how to 
display an empty cell...)

I believe that the GIF format doesn't *require* the patented (and 
therefore problematic) LZW compression, but I don't know for sure. I 
also don't know if there are any tools that will create patent-free 
gifs, but it would be nice if there were. I don't think LZW or any other 
compression would buy a huge amount on a single pixel anyway ;)

Or is there something other than the compression that's bad about gifs?

Stuart.

--
Stuart Ballard, Programmer
NetReach - Internet Solutions
(215) 283-2300, ext. 126
http://www.netreach.com/



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: mauve results posted nightly

2002-11-13 Thread Stuart Ballard
Eric Blake wrote:

What's wrong with TreeSet.subSet? Let's get that fixed!


I don't know, but whenever people try to run Japize on free VMs that's 
the one people point out as being a problem. I can't remember exactly 
who mentioned it but I do remember hearing it about Classpath as well as 
Kaffe.

Stuart.


--
Stuart Ballard, Programmer
NetReach - Internet Solutions
(215) 283-2300, ext. 126
http://www.netreach.com/



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: mauve results posted nightly

2002-11-13 Thread Stuart Ballard
Brian Jones wrote:

Stuart Ballard [EMAIL PROTECTED] writes:

The only problem I recall is that you can't use Collections with a
1.1-only JVM due to the use of non-1.1 functionality in other
packages.  In my case it turned out you can run japize with any Java 2
JVM to inspect bytecode.  I'm looking forward (not) to figuring out
what needs improving in Kissme's reflection support so that it (a)
passes all those Mauve tests and (b) can help me test Classpath's
serialization compliance.


Oh, so you can run japize with kissme+classpath? (japize doesn't use 
reflection at all any more, and I think mostly even avoids the 
situations where jode would use it as a fallback...)

I'm sure being able to run serialize is a bit further off, but I don't 
think japize has any requirements that should be particularly tough for 
kissme+classpath to meet (apart from my mistaken recollection that 
subSet was non-functional - that must be just Kaffe).

It'd be great to be able to document at least one free VM that can run 
Japize...

Stuart.


--
Stuart Ballard, Programmer
NetReach - Internet Solutions
(215) 283-2300, ext. 126
http://www.netreach.com/



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: mauve results posted nightly

2002-11-12 Thread Brian Jones
Stuart Ballard [EMAIL PROTECTED] writes:

 You'll notice there are some important things still missing, like the
 actual errors themselves :) The bar graphs work in Mozilla, look wrong
 in NS4.x due to my not having yet figured out a good way to get NS4 to
 display a 1px wide table cell, and are untested in all other browsers.

Why not use GD, http://search.cpan.org/author/LDS/GD-2.041/GD.pm, to
create a real image?  
-- 
Brian Jones [EMAIL PROTECTED]


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: mauve results posted nightly

2002-11-12 Thread Stuart Ballard
Brian Jones wrote:


Why not use GD, http://search.cpan.org/author/LDS/GD-2.041/GD.pm, to
create a real image?  

Cause I'm lazy ;)

I realized that there is in fact an easy way to get the results I want:
td class=bad-bar width=1
  img src=1x1.gif width=1 height=1
/td

Finding or creating a transparent 1x1.gif shouldn't be hard :)

Stuart.

--
Stuart Ballard, Programmer
NetReach - Internet Solutions
(215) 283-2300, ext. 126
http://www.netreach.com/



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: mauve results posted nightly

2002-11-12 Thread Stuart Ballard
Brian Jones wrote:

Stuart Ballard [EMAIL PROTECTED] writes:



Couple of requests regarding the japitools output:

1) Could you modify your scripts to use the -q option to japicompat to
turn off progress indicators, and redirect only stdout, not stderr, to
the file that you publish? 

Done.


Looks much better :)



2) Would you consider publishing the classpath.japi.gz file that's
generated nightly? 

Done.


Cool, I'll see if I can throw together an experimental nightly 
HTML-generating script in the next couple of days...

You can see the kind of output I'm currently getting at 
http://rainbow.netreach.net/~sballard/japi/htmlout/h-jdk11-kaffe.html 
and http://rainbow.netreach.net/~sballard/japi/htmlout/h-jdk12-kaffe.html .

NOTE: This is not an accurate representation of the state of Kaffe - not 
only is my kaffe.japi well out of date, it was also generated by a 
japitools version that had some bugs resulting in bogus errors. I expect 
the results with current kaffe would be much, much better.

You'll notice there are some important things still missing, like the 
actual errors themselves :) The bar graphs work in Mozilla, look wrong 
in NS4.x due to my not having yet figured out a good way to get NS4 to 
display a 1px wide table cell, and are untested in all other browsers.

Adding something like this to classpath should allow the
japitools output to be generated on a machine with no non-free code
installed.



I would suppose that eventually a VM + classpath could run it anyway.


Well, that was my point - my understanding is that it currently fails 
due to the fact that neither Classpath nor Kaffe have a working 
implementation of TreeSet.subSet(). I proposed a hacky implementation of 
subMap (which subSet depends on) that would be sufficient to give Japize 
a fighting chance of running. I think that subSet is the only part of 
*my* code that free VMs can't currently handle; I'm not sure whether 
they can handle Jode or not though.

Stuart.

--
Stuart Ballard, Programmer
NetReach - Internet Solutions
(215) 283-2300, ext. 126
http://www.netreach.com/



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: mauve results posted nightly

2002-11-12 Thread Brian Jones
Stuart Ballard [EMAIL PROTECTED] writes:

 Brian Jones wrote:
  Why not use GD, http://search.cpan.org/author/LDS/GD-2.041/GD.pm, to
  create a real image?
 
 Cause I'm lazy ;)
 
 I realized that there is in fact an easy way to get the results I want:
 td class=bad-bar width=1
img src=1x1.gif width=1 height=1
 /td
 
 Finding or creating a transparent 1x1.gif shouldn't be hard :)

Don't use GIF due to licensing problems.  I think JPEG recently became
problematic as well.

Brian
-- 
Brian Jones [EMAIL PROTECTED]


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: mauve results posted nightly

2002-11-12 Thread Brian Jones
Stuart Ballard [EMAIL PROTECTED] writes:

 Or is there something other than the compression that's bad about gifs?

http://www.gnu.org/philosophy/gif.html

If this web page is correct, GIF will be free next year.

Brian
-- 
Brian Jones [EMAIL PROTECTED]


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: mauve results posted nightly

2002-11-12 Thread Eric Blake
What's wrong with TreeSet.subSet? Let's get that fixed!

Stuart Ballard wrote:

Well, that was my point - my understanding is that it currently fails 
due to the fact that neither Classpath nor Kaffe have a working 
implementation of TreeSet.subSet(). I proposed a hacky implementation of 
subMap (which subSet depends on) that would be sufficient to give Japize 
a fighting chance of running. I think that subSet is the only part of 
*my* code that free VMs can't currently handle; I'm not sure whether 
they can handle Jode or not though.

Stuart.



--
This signature intentionally left boring.

Eric Blake [EMAIL PROTECTED]
  BYU student, free software programmer




___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: mauve results posted nightly

2002-11-11 Thread Brian Jones
Stuart Ballard [EMAIL PROTECTED] writes:

 Couple of requests regarding the japitools output:
 
 1) Could you modify your scripts to use the -q option to japicompat to
 turn off progress indicators, and redirect only stdout, not stderr, to
 the file that you publish? 

Done.

 2) Would you consider publishing the classpath.japi.gz file that's
 generated nightly? 

Done.

 Also, what time does the script run (so I can set up my script to
 run later, so I get the latest japi file)?

Currently involves two stages, stage one some user other than myself
obtains source via anoncvs, does stuff, runs tests, makes results
available to me.  I publish them myself.  Results currently posted at
2:00 AM EST.

 Adding something like this to classpath should allow the
 japitools output to be generated on a machine with no non-free code
 installed.

I would suppose that eventually a VM + classpath could run it anyway.
-- 
Brian Jones [EMAIL PROTECTED]


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: mauve results posted nightly

2002-11-11 Thread Stephen Crawley

Hi Brian,

 So barring accidents of nature or human error I'll hopefully be able
 to post nightly Mauve results for Kissme/Classpath starting today.
 The Classpath homepage, http://www.classpath.org/, has been updated
 with links.  I have added japicompat results against 1.1 and updated
 to japitools-0.9.
 
 Please let me know if posting this information in this way is useful.

I think that this is VERY useful.

 Perhaps other JVMs could be added.  Does Gcj do this?

Maybe a Sun JDK 1.4.x for reference?

If you have time to work on this, it would be a good idea if the web page 
and results defined the testing methodology, to aid people in reproducing
the test results.

* The log report should include datestamps for the latest sync with
Classpath, Kissme and Mauve CVS repositries.  

* the web page should document the hardware and OS platform/version, 
the C  Java compilers and versions, and versions of key libraries used 
(e.g. glibc).

* The Mauve keys file used should be linked to the page, or available
some other way.  It should be version controlled, as it will surely change
over time.

Here are some other suggestions:

*  The web page could explain that there are many possible causes of test
failures; e.g. Classpath bugs or incomplete feautures, Kissme bugs,
Mauve test case bugs, and (even) Sun JDK bugs and incompatibilities.
[Also, note the possibility of network failures, and failures caused by
non-atomic CVS commits.]

*  The nightly test results should be archived, with the archive ideally
accessible via the web page.  It would be very nice if the web page
could graph the numbers of tests passing and failing over time!! But
that could be a lot of work to set up.

-- Steve



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: mauve results posted nightly

2002-11-11 Thread Brian Jones
Stephen Crawley [EMAIL PROTECTED] writes:

 Maybe a Sun JDK 1.4.x for reference?

It's possible, if it helps.  I may set this up under tinderbox.

 If you have time to work on this, it would be a good idea if the web page 
 and results defined the testing methodology, to aid people in reproducing
 the test results.

Yes, I have the scripts if anyone wants them... but they aren't
refined enough to checkin to cvs I think.  

 * The log report should include datestamps for the latest sync with
 Classpath, Kissme and Mauve CVS repositries.  

Basically the date on the comparison files represents the approximate
time of the CVS sync.

 * the web page should document the hardware and OS platform/version, 
 the C  Java compilers and versions, and versions of key libraries used 
 (e.g. glibc).

My home box, Red Hat 8.0 GNU/Linux, jikes 1.17, glibc 2.2, linux
2.4.18.  I don't have anything else but Windows.  I think if I get
tinderbox setup then people with other configurations could run a
client there to report those results.

 * The Mauve keys file used should be linked to the page, or available
 some other way.  It should be version controlled, as it will surely change
 over time.

It's in Classpath CVS, mauve-classpath.

 Here are some other suggestions:
 
 *  The web page could explain that there are many possible causes of test
 failures; e.g. Classpath bugs or incomplete feautures, Kissme bugs,
 Mauve test case bugs, and (even) Sun JDK bugs and incompatibilities.
 [Also, note the possibility of network failures, and failures caused by
 non-atomic CVS commits.]

It could, but this (nightly Mauve) is an end product for developers,
not users.  You already know these things and I don't have to explain
it to you.

 *  The nightly test results should be archived, with the archive ideally
 accessible via the web page.  It would be very nice if the web page
 could graph the numbers of tests passing and failing over time!! But
 that could be a lot of work to set up.

Yeah, I think of lot of what you want is tinderbox.

Brian
-- 
Brian Jones [EMAIL PROTECTED]


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: mauve results posted nightly

2002-11-11 Thread Stuart Ballard
Brian Jones wrote:

So barring accidents of nature or human error I'll hopefully be able
to post nightly Mauve results for Kissme/Classpath starting today.
The Classpath homepage, http://www.classpath.org/, has been updated
with links.  I have added japicompat results against 1.1 and updated
to japitools-0.9.


Couple of requests regarding the japitools output:

1) Could you modify your scripts to use the -q option to japicompat to 
turn off progress indicators, and redirect only stdout, not stderr, to 
the file that you publish? That'll give much cleaner output - for 0.9 I 
specifically tweaked the output so that doing this would give all the 
output you need, and none you don't (that's why the 0.9 output looks 
worse than 0.8.x with what you're doing now, because all the summary 
information goes to both stdout *and* stderr, so it gets into your 
output twice, and I removed all attempt to flush the streams in a 
coordinated fashion to get a nice order, because it's unneeded if you're 
only using one stream).

(When running manually, redirecting only stdout and *not* giving the -q 
option will give you the usual pretty progress indicator while still 
giving the exact same output file).

2) Would you consider publishing the classpath.japi.gz file that's 
generated nightly? I'm working on HTML output and probably within a 
couple of days I'll be able to set up a script to pull down the japi 
file and publish an experimental HTML-ified comparison nightly. Later, 
if other projects do the same thing, it'll provide a useful way to 
experiment with side-by-side comparisons of, say, Kaffe's compatibility 
versus Classpath's (which is a future feature I want to add to the HTML 
output, although it might take a while). Also, what time does the script 
run (so I can set up my script to run later, so I get the latest japi file)?



By the way, it occurs to me that japize could probably be freed from its 
JDK dependency by even an extremely naive implementation of 
TreeSet.subSet (or the dependency TreeMap.subMap). I'm thinking as 
simple as:

SortedMap subMap(Object from, Object to) {
  TreeMap result = new TreeMap();
  for (Iterator i = entrySet().iterator(); i.hasNext(); ) {
Entry e = (Entry) i.next();
if (((Comparable) to).compareTo(e.getKey()) = 0) break;
if (((Comparable) from).compareTo(e.getKey()) = 0) {
  result.put(e.getKey(), e.getValue());
}
  }
  return result;
}

(untested code, but you get the idea). Japize doesn't depend on anything 
complicated like being able to modify the subset and having it reflect 
on the original set, and its use of subset isn't performance critical, 
so this implementation should be just fine. Adding something like this 
to classpath should allow the japitools output to be generated on a 
machine with no non-free code installed.

Stuart.

--
Stuart Ballard, Programmer
NetReach - Internet Solutions
(215) 283-2300, ext. 126
http://www.netreach.com/



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: mauve results posted nightly

2002-11-10 Thread Tom Tromey
 Brian == Brian Jones [EMAIL PROTECTED] writes:

Brian Please let me know if posting this information in this way is useful.
Brian Perhaps other JVMs could be added.  Does Gcj do this?

Mark Wielaard posts nightly test results to the gcc test mailing list.
As I recall he does this for a couple platforms.  I usually just
glance over these; a mailing list isn't that great of a format for
detecting regressions.

Ben Elliston is working on a Tinderbox-like system.  It will include
gcj test results.  Ideally it will also send out email when someone
introduces a regression (like Geoff's old tester, but it will include
libgcj).

Tom


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath