[kaffe] Reproducible bugs running Freenet under Kaffe

Matthew Toseland toad@amphibian.dyndns.org
Thu, 24 Oct 2002 18:23:32 +0100


--MGYHOYXEY6WxJCY8
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, Oct 24, 2002 at 04:52:52PM +0200, Oskar Sandberg wrote:
> On Thu, Oct 24, 2002 at 03:18:41PM +0100, Matthew Toseland wrote:
> > Ok, I've got CVS working now, and I get a NullPointerException,
> > reliably, in java.lang.Class.getResourceAsStream. Attached.
>=20
> Class.java throws an NPE if getResourceAsStream is run for a resource
> that does not exist. This is obviously when looking at the code. I've
> attached a (trivial) patch.
Sorry that my threading is out, but my messages haven't come back yet.
I have found a manageably small test case. I get
$ rm -f /var/lib/freenet-unstable/tertiary/freenet.log ; kaffe
freenet.node.Main --paramFile /etc/freenet-unstable/freenet.conf
Internal error: caught an unexpected exception.
Please check your CLASSPATH and your installation.
java/lang/IllegalMonitorStateException
  at
  freenet.thread.QThreadFactory$QThread.run(QThreadFactory.java:198)
Aborted

QThreadFactory.java is "}", the end of a synchronized block, not the
beginning - so this is a Kaffe bug not a freenet bug?
>=20
> --=20
>=20
> Oskar Sandberg
> oskar@freenetproject.org

> Index: libraries/javalib/java/lang/Class.java
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> RCS file: /cvs/kaffe/kaffe/libraries/javalib/java/lang/Class.java,v
> retrieving revision 1.37
> diff -c -r1.37 Class.java
> *** libraries/javalib/java/lang/Class.java	4 Sep 2002 16:08:13 -0000	1.37
> --- libraries/javalib/java/lang/Class.java	24 Oct 2002 14:48:50 -0000
> ***************
> *** 367,373 ****
>    */
>   public InputStream getResourceAsStream(String name) {
>     	try {
> !   		return (getResource(name).openStream());
>     	}
>     	catch (IOException e) {
>     		return null;
> --- 367,374 ----
>    */
>   public InputStream getResourceAsStream(String name) {
>     	try {
> !             URL res =3D getResource(name);
> !             return (res =3D=3D null ? null : res.openStream());
>     	}
>     	catch (IOException e) {
>     		return null;


--=20
Matthew Toseland
toad@amphibian.dyndns.org
amphibian@users.sourceforge.net
Freenet/Coldstore open source hacker.
Employed full time by Freenet Project Inc. from 11/9/02 to 11/11/02.
http://freenetproject.org/

--MGYHOYXEY6WxJCY8
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.0 (GNU/Linux)

iD8DBQE9uCyUmlVGrEH/+qIRAsS3AKCCuOna+X7sW4tvYJQgFiT3TAz18ACfdu5Y
bfXV33QVa6xmKwFXISRwbjQ=
=sE+M
-----END PGP SIGNATURE-----

--MGYHOYXEY6WxJCY8--