Problem with simpleLookupClass on solaris-2.5

Daniel.Veillard at imag.fr Daniel.Veillard at imag.fr
Wed Aug 27 01:40:36 PDT 1997


  Hello,

 I just got a problem trigered when running kaffe-0.9.1 on
an ultrasparc-solaris-2.5 platform. The code try to build an array
of classes, the sequence call is :

Program received signal SIGSEGV, Segmentation fault.
0x22cbb4 in simpleLookupClass (name=0xc5b990, loader=0x0)
    at ../../../../kaffe-0.9.1/kaffe/kaffevm/classMethod.c:825
825             for (clp = classPool[hashClassName(name) & (CLASSHASHSZ-1)]; 
clp != 0 && !(equalUtf8Consts(name, clp->name) && loader == clp->loader); clp 
= clp->next)
(gdb) where
#0  0x22cbb4 in simpleLookupClass (name=0xc5b990, loader=0x0)
    at ../../../../kaffe-0.9.1/kaffe/kaffevm/classMethod.c:825
#1  0x22d288 in lookupArray (c=0xc0fe10)
    at ../../../../kaffe-0.9.1/kaffe/kaffevm/classMethod.c:978
#2  0x22e2e0 in newRefArray (elclass=0xc0fe10, count=4)
    at ../../../../kaffe-0.9.1/kaffe/kaffevm/object.c:112
#3  0x22e7f8 in soft_anewarray (elclass=0xc0fe10, size=4)
    at ../../../../kaffe-0.9.1/kaffe/kaffevm/soft.c:95

lookupArray is trying to load the class 
sig = "[Lw3c/www/protocol/http/RequestFilter;"

w3c/www/protocol/http/RequestFilter.class is available in one of
the ZIP files given in the CLASSPATH environment
(gdb) call (char *) getenv("CLASSPATH")
$18 = 0xacae6a ".:/local_home/veillard/opera/classes:/local_home/veillard/opera
/classes/classes.zip:/local_home/veillard/opera/classes/jigsaw.zip:/local_home/
veillard/opera/classes/thotlib.zip:/local_home/veillard/op"...

nore precisely in the jigsaw.zip file.

the lookup in simpleLookupClass just brings up an invalid clp pointer :
(gdb) l
820     Hjava_lang_Class*
821     simpleLookupClass(Utf8Const* name, Hjava_lang_ClassLoader* loader)
822     {
823             Hjava_lang_Class* clp;
824
825             for (clp = classPool[hashClassName(name) & (CLASSHASHSZ-1)]; 
clp != 0 && !(equalUtf8Consts(name, clp->name) && loader == clp->loader); clp 
= clp->next)
826                     ;
827             return (clp);
828     }
829
(gdb) p clp
$22 = (Hjava_lang_Class *) 0xb40

Any opinion on what can trigger this problem ?
The same code and classes works fine on an i686 linux box ...
I unzipped the class packaged, same result, it's not related to the
zip packaging ... 

Daniel

-- 
Daniel Veillard at w3.org      | W3C / INRIA Rhone-Alpes | Today's Bookmarks :
Daniel.Veillard at inrialpes.fr| 655 av de l'Europe      | Linux, WWW, Java,
Tel : +33 (0)4 76 61 53 85  | 38330 Montbonnot        | badminton, Kaffe,
Fax : +33 (0)4 76 61 52 07  | France                  | HTTP-NG and Amaya.
Home: +33 (0)4 76 63 05 86  | http://opera.inrialpes.fr/veillard




More information about the kaffe mailing list