[kaffe] A question about "JNI_OnLoad"
embstudy at eyou.com
embstudy at eyou.com
Fri Aug 13 07:28:27 PDT 2004
Hello
I finally clean the NPE using gdb. :)
Till now, I am not sure where exactly the qtopia influence kaffe, but now I
could run a plain text helloworld in the embeddedkonsole of qtopia now.
The NPE was due to some initProperties,
in function(System.c) :
struct Hjava_util_Properties*
java_lang_System_initProperties(struct Hjava_util_Properties* p)
...
#if defined(HAVE_LC_MESSAGES)
locale = setlocale (LC_MESSAGES, "");
tmp = strchr (locale, '_');
#else
tmp = NULL;
#endif
...
And we just closed the HAVE_LC_MESSAGE macro in config.in to make it work.
But now we still couldn't pass the AWT test...
Maybe we have post the similar question many times,
but I still hope some could give me a hand as soon as possible.
***************************************************************
Qtopia1.7 based on qt-2.3.7
CVS-kaffe-0811
Xscale-arm box
----------------------------------
in the embedded console, I got:
----------------------------------------------------------
(gdb) r
Starting program: /cvs/xscale/jre/bin/kaffe-bin -Xkaffe-qt-awt -cp /cvs/test
-vmdebug INIT,AWT M
ptrace: bogus breakpoint trap
initCollector()
initCollector() done
initNativeThreads(0x10000)
Detected stackSize 1048576
Program received signal SIGSEGV, Segmentation fault.
0x400a9800 in detectStackBoundaries ()
from /cvs/xscale/jre/lib/arm/libkaffevm-1.1.x-cvs.so
(gdb) c
Continuing.
initNativeThreads(0x10000) done
utf8ConstInit()
utf8ConstInit() done
initClasspath()
initClasspath() done, got
/cvs/xscale/jre/lib/kaffeawt.jar:/cvs/xscale/jre/lib/r
initNative()
got lpath
/cvs/xscale/jre/lib/arm:/cvs/xscale/lib:/usr/local/lib:/usr/lib:/lib:b
ptrace: bogus breakpoint trap
initNative() done
create names and signatures
done
initTypes()
initTypes() done
initBaseClasses()
initBaseClasses() done
finishTypes()
finishTypes() done
initExceptions()
initThreads()
initThreads() done
Program received signal SIG32, Real-time event 32.
0x40243e6c in sigsuspend () from /lib/libc.so.6
(gdb) c
Continuing.
Program received signal SIG32, Real-time event 32.
0x40243e6c in sigsuspend () from /lib/libc.so.6
(gdb) c
Continuing.
ptrace: bogus breakpoint trap
[tlk.cc:40]
tlkProperties
QtAWT: Create pluginlibman in libqpe
QtAWT: [tlk.cc:78]
QtAWT: qapp initialization.
malloc: 128 -> 0x61fac0
calloc: 47,12 -> 0x61fb48
QtAWT: [tlk.cc:89]
QtAWT: tlkInit Done.
QtAWT: [tlk.cc:126]
QtAWT: tlkGetScreenWidth
QtAWT: [tlk.cc:120]
QtAWT: tlkGetScreenHeight
QtAWT: [tlk.cc:111]
QtAWT: tlkGetResolution
QtAWT: [tlk.cc:105]
QtAWT: tlkVersion
QtAWT: fntInitFont...D
QtAWT: fntInitFont...D
QtAWT: fntInitFont...D
QtAWT: fntInitFont...M
QtAWT: fntInitFont...D
QtAWT: fntInitFont...D
QtAWT: fntInitFont...D
QtAWT: fntInitFont...D
QtAWT: [fnt.cc:108]
QtAWT: fntGetFixedWidth 0
QtAWT: [fnt.cc:150]
QtAWT: fntIsWideFont
QtAWT: [tlk.cc:153]
QtAWT: tlkDisplayBanner
SET VISIBLE
Program received signal SIG32, Real-time event 32.
0x40243e6c in sigsuspend () from /lib/libc.so.6
(gdb) c
Continuing.
QtAWT: [clr.cc:57]
QtAWT: clrGetPixelValue: ffc0c0c0 -> c618
QtAWT: [wnd.cc:189]
QtAWT: wndCreateFrame
QtAWT: [wnd.cc:192]
QtAWT: createFrame( 0x2c957c, 4,24,-8,-28,..) -> 0x621ab0
QtAWT: [wnd.cc:135]
QtAWT: wndSetResizable
QtAWT: [wnd.cc:140]
QtAWT: setResizable: 0x621ab0, 1, 4,24,1,1
QtAWT: [wnd.cc:124]
QtAWT: wndSetTitle
QtAWT: [wnd.cc:209]
QtAWT: registerSource: mw=0x621ab0 idx=42
QtAWT: [evt.cc:286]
QtAWT: evtInit
QtAWT: [evt.cc:607]
QtAWT: registerSource( 0x621ab0) -> 42
QtAWT: [evt.cc:518]
QtAWT: getNextEvent..
-------------------------------------------------------------------
And then nothing more happened...
The cpu seemed not busy too...
And I couldn't find the END SET VISIBLE, is that the trick??
I tried many test programs, but no difference.
Anyone who had successfully run kaffe awt over qtopia on an arm-box??
What should be my problem??
I am really in a hurry, because the time is flying...
Cheers,
Saw
More information about the kaffe
mailing list