I'm really surprised by JRockit's performance, no matter JRockit release
version or this evaluation version with Harmony classlib. But it seems that
JRockit requires at least 16m to startup vm. Is it possible to start JRockit
with 8m memory or even 2m memory? Thanks!


On 1/31/07, Staffan Larsen <[EMAIL PROTECTED]> wrote:

Hi Everyone,

I can reproduce the crash below with the latest class library and I
can also see the cause of it.

What happens is that the harmony launcher has been changed to close
the jvm library after it is done (by calling hysl_close_shared_library
(handle)). This causes our harmonyvm.dll to be unloaded along with all
of it's static data. The problem is that we used some static strings
in calls to hythread_global(), but when harmonyvm is unloaded, these
strings go away as well.

A couple of solutions:
1) Don't unload the library. It will go away when the process ends anyway.
2) We could allocate the strings on the heap instead of using static
memory.
3) Provide a way to remove a hythread_global during shutdown.

If you want a fast workaround, use 1) and just patch
classlib\trunk\modules\luni\src\main\native\launcher\shared\main.c so
it doesn't call hysl_close_shared_library.

Regards,
/Staffan Larsen
JRockit Chief Architect

On 1/30/07, Alexei Zakharov <[EMAIL PROTECTED]> wrote:
> I've got the below dump while trying to run HelloWorld on this new
> combination (jRockitVM + fresh Harmony classlib) combination. It seems
> there were significant changes in classlib  since r487452 this version
> of jRockit was tested with.
>
> ---
>
C:\mydoc\projects\tests>C:\Java\harmony\enhanced\classlib\trunk\deploy\jdk\jre\b
> in\java RunHello
> Hello from Hello
> ===== BEGIN DUMP
=============================================================
> JRockit dump produced after 0 days, 00:00:10 on Tue Jan 30 15:03:27 2007
>
> Additional information is available in:
>   C:\mydoc\projects\tests\jrockit.4968.dump
>   C:\mydoc\projects\tests\jrockit.4968.mdmp
> If you see this dump, please open a support case with BEA and
> supply as much information as you can on your system setup and
> the program you were running. You can also search for solutions
> to your problem at http://forums.bea.com in
> the forum jrockit.developer.interest.general.
>
> Error Message: Illegal memory access. [54]
> Exception Rec: EXCEPTION_ACCESS_VIOLATION (c0000005) at 0x7C342CD0 -
memory at 0
> x10002130 could not be read.
> Minidump     : Wrote mdmp. Size is 102MB
> SafeDllMode  : -1
> Version      : BEA JRockit(R)
gras-75523-1.5.0-20070122-1634-windows-ia32
> GC           : System optimized over throughput (initial strategy
singleparpar)
>              : Current OC phase is: not running. YC is not running.
>              : mmHeap->data = 0x11600000, mmHeap->top = 0x15600000
>              : References are 32-bit.
> CPU          : Intel Pentium M model D SSE SSE2
> Number CPUs  : 1
> Tot Phys Mem : 1072611328 (1022 MB)
> OS version   : Microsoft Windows XP version 5.1 Service Pack 2 (Build
2600) (32-
> bit)
> Thread System: Windows Threads
> State        : JVM is shutting down
> Command Line : -Dorg.apache.harmony.boot.class.path -
Djava.home=C:\Java\harmony\
> enhanced\classlib\trunk\deploy\jdk\jre -
Djava.library.path=C:\Java\harmony\enhan
>
ced\classlib\trunk\deploy\jdk\jre\bin\;.;C:\Java\harmony\enhanced\classlib\trunk
>
\deploy\jdk\jre\bin\default;C:\Java\harmony\enhanced\classlib\trunk\deploy\jdk\j
>
re\bin\;C:\MYDOC\bin;c:\mydoc\bin\rar;c:\java\jdk1.5.0\bin;c:\Java\apache-ant-1.
> 6.5\bin;C:\Program
Files\ThinkPad\Utilities;C:\WINDOWS\system32;C:\WINDOWS;C:\IU
> WORK;C:\WINDOWS\System32\Wbem;C:\WINDOWS\Downloaded Program
Files;C:\Program Fil
> es\PC-Doctor for Windows\;C:\Program
Files\Intel\Wireless\Bin\;C:\PROGRA~1\F-Sec
> ure\ssh;;C:\Program Files\Intel\Wireless\Bin\;C:\Program
Files\Intel\Wireless\Bi
> n\;C:\Program Files\ThinkPad\ConnectUtilities;C:\Program
Files\Subversion\bin;C:
> \Program Files\ATI Technologies\ATI Control Panel;C:\Program Files\ATI
Technolog
> ies\Fire GL 3D Studio Max
> java.home    : C:\Java\harmony\enhanced\classlib\trunk\deploy\jdk\jre
> j.class.path : c:\Java\junit3.8.1\junit.jar;%CLASSPATH%;.
> j.lib.path   :
C:\Java\harmony\enhanced\classlib\trunk\deploy\jdk\jre\bin\;.;C:\
>
Java\harmony\enhanced\classlib\trunk\deploy\jdk\jre\bin\default;C:\Java\harmony\
>
enhanced\classlib\trunk\deploy\jdk\jre\bin\;C:\MYDOC\bin;c:\mydoc\bin\rar;c:\jav
> a\jdk1.5.0\bin;c:\Java\apache-ant-1.6.5\bin;C:\Program
Files\ThinkPad\Utilities;
>
C:\WINDOWS\system32;C:\WINDOWS;C:\IUWORK;C:\WINDOWS\System32\Wbem;C:\WINDOWS\Dow
> nloaded Program Files;C:\Program Files\PC-Doctor for Windows\;C:\Program
Files\I
> ntel\Wireless\Bin\;C:\PROGRA~1\F-Secure\ssh;;C:\Program
Files\Intel\Wireless\Bin
> \;C:\Program Files\Intel\Wireless\Bin\;C:\Program
Files\ThinkPad\ConnectUtilitie
> s;C:\Program Files\Subversion\bin;C:\Program Files\ATI Technologies\ATI
Control
> Panel;C:\Program Files\ATI Technologies\Fire GL 3D Studio Max
> JAVA_HOME    : c:\java\jdk1.5.0
> _JAVA_OPTIONS: <not set>
> PATH         :
C:\Java\harmony\enhanced\classlib\trunk\deploy\jdk\jre\bin\defaul
>
t;C:\Java\harmony\enhanced\classlib\trunk\deploy\jdk\jre\bin\;C:\MYDOC\bin;c:\my
> doc\bin\rar;c:\java\jdk1.5.0\bin;c:\Java\apache-ant-1.6.5\bin;C:\Program
Files\T
>
hinkPad\Utilities;C:\WINDOWS\system32;C:\WINDOWS;C:\IUWORK;C:\WINDOWS\System32\W
> bem;C:\WINDOWS\Downloaded Program Files;C:\Program Files\PC-Doctor for
Windows\;
> C:\Program
Files\Intel\Wireless\Bin\;C:\PROGRA~1\F-Secure\ssh;;C:\Program Files\
> Intel\Wireless\Bin\;C:\Program Files\Intel\Wireless\Bin\;C:\Program
Files\ThinkP
> ad\ConnectUtilities;C:\Program Files\Subversion\bin;C:\Program Files\ATI
Technol
> ogies\ATI Control Panel;C:\Program Files\ATI Technologies\Fire GL 3D
Studio Max
> C Heap       : Good; no memory allocations have failed
> StackOverFlow: 0 StackOverFlowErrors have occured
> OutOfMemory  : 0 OutOfMemoryErrors have occured
>
> Registers (from ThreadContext: 0x0013F054 / OS context: 0x0013F88C):
>    eax = 11112bec    ecx = 11112bec    edx = 10002130    ebx = 7ffde000
>    esp = 0013fb58    ebp = 0013fb6c    esi = 00000000    edi = 00000000
>     es = 00000023     cs = 0000001b     ss = 00000023     ds = 00000023
>     fs = 0000003b     gs = 00000000
>    eip = 7c342cd0 eflags = 00010246
>
> Stack:
> (* marks the word pointed to by the stack pointer)
> 0013fb58: 11502a79* 10002130  11112bec  0003629c  11508040  0013fb7c
> 0013fb70: 111070ce  11112bec  0013fbc0  0013fb88  11104ea0  0013fbc0
> 0013fb88: 0013ff60  00401111  0013fbc0  001a0018  00000002  00037280
> 0013fba0: 00032f50  0013fbc0  00000004  00000000  0000000f  00000000
>
> Code:
> (* marks the word pointed to by the instruction pointer)
> 7c342ca0: 5e08458b  8ac3c95f  47880346  02468a03  8a024788  47880146
> 7c342cb8: 08458b01  c3c95f5e  0424548b  08244c8b  0003c2f7  3b750000
> 7c342cd0: 013a028b* c00a2d75  613a2674  0a247501  c11d74e4  413a10e8
> 7c342ce8: 0a187502  3a1174c0  0f750361  8304c183  e40a04c2  ff8bd275
>
> Loaded modules:
> (* denotes the module causing the exception)
>
00400000-0040dfff  C:\Java\harmony\enhanced\classlib\trunk\deploy\jdk\jre\bin\ja
> va.exe
> 7c900000-7c9affff  C:\WINDOWS\system32\ntdll.dll
> 7c800000-7c8f4fff  C:\WINDOWS\system32\kernel32.dll
>
11100000-1111bfff  C:\Java\harmony\enhanced\classlib\trunk\deploy\jdk\jre\bin\HY
> PRT.dll
>
11500000-1150afff  C:\Java\harmony\enhanced\classlib\trunk\deploy\jdk\jre\bin\HY
> THR.dll
> 7c340000-7c395fff
*C:\Java\harmony\enhanced\classlib\trunk\deploy\jdk\jre\bin\MS
> VCR71.dll
> 71ab0000-71ac6fff  C:\WINDOWS\system32\WS2_32.dll
> 77c10000-77c67fff  C:\WINDOWS\system32\msvcrt.dll
> 71aa0000-71aa7fff  C:\WINDOWS\system32\WS2HELP.dll
> 77dd0000-77e6afff  C:\WINDOWS\system32\ADVAPI32.dll
> 77e70000-77f00fff  C:\WINDOWS\system32\RPCRT4.dll
>
00410000-00688fff  C:\Java\harmony\enhanced\classlib\trunk\deploy\jdk\jre\bin\de
> fault\jvm.dll
> 76b40000-76b6cfff  C:\WINDOWS\system32\WINMM.dll
> 77d40000-77dcffff  C:\WINDOWS\system32\USER32.dll
> 77f10000-77f56fff  C:\WINDOWS\system32\GDI32.dll
> 76390000-763acfff  C:\WINDOWS\system32\IMM32.DLL
> 629c0000-629c8fff  C:\WINDOWS\system32\LPK.DLL
> 74d90000-74dfafff  C:\WINDOWS\system32\USP10.dll
> 77fe0000-77ff0fff  C:\WINDOWS\system32\Secur32.dll
> 003a0000-003c0fff  C:\WINDOWS\system32\NTMARTA.DLL
> 003d0000-003fbfff  C:\WINDOWS\system32\WLDAP32.dll
> 00bf0000-00d2cfff  C:\WINDOWS\system32\ole32.dll
> 71bf0000-71c02fff  C:\WINDOWS\system32\SAMLIB.dll
>
00d40000-00d46fff  C:\Java\harmony\enhanced\classlib\trunk\deploy\jdk\jre\bin\de
> fault\vmi.dll
>
00d50000-00d78fff  C:\Java\harmony\enhanced\classlib\trunk\deploy\jdk\jre\bin\hy
> luni.dll
> 71a50000-71a8efff  C:\WINDOWS\system32\MSWSOCK.dll
>
00e80000-00e88fff  C:\Java\harmony\enhanced\classlib\trunk\deploy\jdk\jre\bin\de
> fault\hynatives.dll
>
00e90000-00e95fff  C:\Java\harmony\enhanced\classlib\trunk\deploy\jdk\jre\bin\hy
> sig.dll
>
00ea0000-00eb7fff  C:\Java\harmony\enhanced\classlib\trunk\deploy\jdk\jre\bin\hy
> zlib.dll
>
00ec0000-00ec5fff  C:\Java\harmony\enhanced\classlib\trunk\deploy\jdk\jre\bin\hy
> text.dll
>
4a800000-4a8c7fff  C:\Java\harmony\enhanced\classlib\trunk\deploy\jdk\jre\bin\ic
> uuc34.dll
>
4ad00000-4b56ffff  C:\Java\harmony\enhanced\classlib\trunk\deploy\jdk\jre\bin\ic
> udt34.dll
>
00ed0000-00ed5fff  C:\Java\harmony\enhanced\classlib\trunk\deploy\jdk\jre\bin\hy
> nio.dll
>
00ee0000-00eeefff  C:\Java\harmony\enhanced\classlib\trunk\deploy\jdk\jre\bin\hy
> archive.dll
>
00ef0000-00f06fff  C:\Java\harmony\enhanced\classlib\trunk\deploy\jdk\jre\bin\IC
> UInterface34.dll
>
4a900000-4a9a9fff  C:\Java\harmony\enhanced\classlib\trunk\deploy\jdk\jre\bin\ic
> uin34.dll
> 662b0000-66307fff  C:\WINDOWS\system32\hnetcfg.dll
> 71a90000-71a97fff  C:\WINDOWS\System32\wshtcpip.dll
> 01690000-01697fff  C:\WINDOWS\System32\winrnr.dll
> 016a0000-016c6fff  C:\WINDOWS\system32\DNSAPI.dll
> 016d0000-016e0fff  C:\Program Files\Neoteris\Secure Application
Manager\samnsp.d
> ll
> 01710000-01715fff  C:\WINDOWS\system32\rasadhlp.dll
>
03000000-03112fff  C:\Java\harmony\enhanced\classlib\trunk\deploy\jdk\jre\bin\de
> fault\dbghelp.dll
> 76bf0000-76bfafff  C:\WINDOWS\system32\psapi.dll
>
>
> "Thread-11" id=11 idx=0x4 tid=5680 lastJavaFrame=0xFFFFFFFC
>
> Stack 0: start=0x00040000, end=0x00140000, guards=0x00043000 (ok),
forbidden=0x0
> 0041000
> Thread Stack Trace:
>     at strcmp+16(strcmp.asm:77+0)@0x7C342CD0
>     at hythread_global+57(hythread.c:2012+16)@0x11502A79
>     at hysig_shutdown+14(hysignal.c:255+10)@0x111070CE
>     at hyport_shutdown_library+16(hyport.c:76+13)@0x11104EA0
>     at main+257(cmain.c:118+13)@0x00401111
>     at mainCRTStartup+323(crtexe.c:398+14)@0x00404499
>     at RegisterWaitForInputIdle+73()@0x7C816FD7
>     -- Java stack --
>
> Additional information is available in:
>   C:\mydoc\projects\tests\jrockit.4968.dump
>   C:\mydoc\projects\tests\jrockit.4968.mdmp
> If you see this dump, please open a support case with BEA and
> supply as much information as you can on your system setup and
> the program you were running. You can also search for solutions
> to your problem at http://forums.bea.com in
> the forum jrockit.developer.interest.general.
> ===== END DUMP
===============================================================
> ---
>
>
>
>




--
Best regards,
Andrew Zhang

Reply via email to