[kaffe] Loading stops after 2 classes

Fabien Renaud renaud at nentec.de
Thu Jun 24 04:26:38 PDT 2004


Hello,

With HEAD version,

I have this :
Loading java/lang/Object.class(/home/java/kaffe_cvs/jre/lib/rt.jar) 
[compressed]
Loading 
java/lang/IllegalMonitorStateException.class(/home/java/kaffe_cvs/jre/lib/rt.jar) 
[compressed]

and then nothing happens.


With strace  :

write(2, "Loading java/lang/Object.class(/"..., 67Loading 
java/lang/Object.class
write(2, " [compressed]", 13 [compressed])           = 
13                      
write(2, "\n", 
1                                                               
)                       = 
1                                                    
--- SIGVTALRM (Virtual timer expired) 
---                                      
rt_sigprocmask(SIG_UNBLOCK, [ALRM CHLD VTALRM IO], NULL, 8) = 
0                
sigreturn()                             = 
1040388                              
write(2, "Loading java/lang/IllegalMonitor"..., 89Loading 
java/lang/IllegalMonit
write(2, " [compressed]", 13 [compressed])           = 
13                      
write(2, "\n", 
1                                                               
)                       = 
1                                                    
poll( <unfinished ...>


With gdb, I have a segmentaion fault :
#0  0x4005b178 in detectStackBoundaries (jtid=0xb0018,
    mainThreadStackSize=1048576) at signal.c:487
#1  0x400564c8 in jthread_createfirst (mainThreadStackSize=4096,
    prio=5 '\005', jlThread=0x0) at jthread.c:1353
#2  0x40049568 in initNativeThreads (nativestacksize=-1073745920)
    at thread.c:741

I only applied guilhem´s patch (to prevent errors with v20x in signal.c)

diff -u -r1.10 md.h
--- config/arm/linux/md.h	7 Jun 2004 19:14:15 -0000	1.10
+++ config/arm/linux/md.h	17 Jun 2004 16:59:46 -0000
@@ -33,19 +33,10 @@
 #endif
 
 /* Function prototype for signal handlers */
-#if defined(HAVE_STRUCT_SIGCONTEXT_STRUCT) && !defined(__GLIBC__)
-/* Linux < 2.1.1 */
-#define	SIGNAL_ARGS(sig, ctx) \
-	int sig, int arm_r1, int arm_r2, int arm_r3, struct sigcontext_struct ctx
-#elif defined(HAVE_STRUCT_SIGCONTEXT) || defined(__GLIBC__)
-/* Linux >= 2.1.1  or Linux 2.0.x with glibc2 */
-#define	SIGNAL_ARGS(sig, ctx) \
-	int sig, int arm_r1, int arm_r2, int arm_r3, struct sigcontext ctx
-#else
-#error Do not know how to define SIGNAL_ARGS
-#endif
-
 #include "sigcontextinfo.h"
+
+#define	SIGNAL_ARGS(sig, ctx) \
+	int sig, SIGCONTEXT ctx
 
 #define GET_SIGNAL_CONTEXT_POINTER(ctx) (&ctx)


Cheers,

fabien





More information about the kaffe mailing list