[kaffe] Re: Loading stops after 2 classes

Fabien Renaud renaud at nentec.de
Thu Jun 24 06:02:36 PDT 2004


Fabien Renaud wrote:

> 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
>

I forgot to say that I used unix-jthreads.
I tried with unix-pthreads and ................. AWT runs !!!  Huurraa !!!

Hmm when I want to say awt runs, I mean I can see a picture because I 
have (of course, otherwise it´s not funny) a problem :

wndSetResizable
Native AWT ---->setResizable: 0x60c7f8, 1, 4,24,392,172
wndSetTitle
Native AWT ---->registerSource: mw=0x60c7f8 idx=45
Native AWT ---->evtInit
Native AWT ---->Event Move: srcIdx=45
Native AWT ---->Event Resize: srcIdx=45
Native AWT ---->registerSource( 0x60c7f8) -> 45
Native AWT ---->processing Move Event SrcIdx=-1
tlkBeep
java.lang.ArrayIndexOutOfBoundsException
   at java.awt.ComponentEvt.getEvent (ComponentEvt.java:98)
   at java.awt.Toolkit.evtGetNextEvent (Toolkit.java)
   at java.awt.EventQueue.getNextEvent (EventQueue.java:174)
   at java.awt.EventDispatchThread.run (EventDispatchThread.java:34)
Native AWT ---->processing Resize Event SrcIdx=-1
tlkBeep
java.lang.ArrayIndexOutOfBoundsException
   at java.awt.ComponentEvt.getEvent (ComponentEvt.java:98)
   at java.awt.Toolkit.evtGetNextEvent (Toolkit.java)
   at java.awt.EventQueue.getNextEvent (EventQueue.java:174)
   at java.awt.EventDispatchThread.run (EventDispatchThread.java:34)

I feel better with AWT, it´s a good day :)

Cheers,
Fabien





More information about the kaffe mailing list