[kaffe] Some obscure(?) problem...

Dalibor Topic robilad@yahoo.com
Wed, 24 Apr 2002 00:55:35 +0200


On Tuesday 23 April 2002 18:17, Dalibor Topic wrote:
> On Monday 22 April 2002 16:56, Dalibor Topic wrote:
> > Hi Jukka,
> >
> > --- Jukka Santala <jsantala@tml.hut.fi> wrote:
> > > Altough the debug log is in parts little different,
> > > the latest Xsmiles
> > > release (0.5) appears to exhibit same problem with
> > > the recent Kaffe
> > > desktop edition versions. I'll take a closer look if
> > > I have time, but as
> > > usual, if this rings a bell to anyone, particularily
> > > in regards to the
> > > latest modifications around this year, let me know.
> > > (Or fix it;)
> >
> > Latest modifications ? Hm ... it may have something to
> > do with my Class.newInstance change from Sat Mar 16
> > 09:45:43 PST 2002. You might want to back that out and
> > see if it fixes your problems. I'll download xsmiles
> > 0.5 and have a look, too.
>
> hm, after playing with xsmiles 0.5 today I think I have found the probl=
em:
> While running the static initializer of
> java.lang.Character$CharacterProperties we load a resource using an URL=
,
> which in turn uses the XURLStreamHandlerFactory, and that one eventuall=
y
> performs String operations that use the not fully initialized
> CharacterProperties. The method used in CharacterProperties, getIndex, =
uses
> the length of the static field rangeStart, that is not initialized yet =
at
> that moment. bingo.
>
> and now I'm off to create a patch,

I have a quick and dirty patch, that essentially loads the resources dire=
ctly=20
from the jars in the classpath, without using URLs. I'm not sure about th=
e=20
design of the proper patch, though. I'll see what pocketlinux-kaffe has t=
o=20
offer for merge :)

It doesn't really help much. The next thing I get in GDB is a kaffe crash=
 in=20
xerces :( org.apache/xerces/StringPool.ensureCapacity(II)Z: the iaload ar=
ray=20
index check at pc=3D7 causes a SIGSEGV, since the array on stack is null.=
 That=20
doesn't seem to be picked up by the null check, though. Weird.

dalibor topic