Bug in OS X JVM?
Fellow OS X Intel (or PPC) users, please try out this link: http://commons.wikimedia.org/wiki/Image:Radziwanowicz.OGG
Make sure to use the embedded (Java) player, since your OS may try to load a plugin (such as Totem).
The audio stream is broken on my Intel iMac, but it plays fine in a Windows VM on the same machine. I'm trying to isolate the problem, and I suspect it might be the JVM. Since I can't download a new JVM (I have to use the Mac updater to get a new Java installation), I'm hoping I can get some corroboration here.
Here's my system specs:
Intel Core 2 Duo 2 GHz
3 GB ram
OS 10.5.4
Java 1.5.0_13
Thanks
Fellow OS X Intel (or PPC) users, please try out this link: http://commons.wikimedia.org/wiki/Image:Radziwanowicz.OGG
Make sure to use the embedded (Java) player, since your OS may try to load a plugin (such as Totem).
The audio stream is broken on my Intel iMac, but it plays fine in a Windows VM on the same machine. I'm trying to isolate the problem, and I suspect it might be the JVM. Since I can't download a new JVM (I have to use the Mac updater to get a new Java installation), I'm hoping I can get some corroboration here.
Here's my system specs:
Intel Core 2 Duo 2 GHz
3 GB ram
OS 10.5.4
Java 1.5.0_13
Thanks
Similar Messages
-
Is it a bug in JVM 1.4.2_05 ?
Hi All,
We are using hotspot JVM 1.4.2_05 for one of our J2EE applications. The J2EE server is WebLogic 8.1 Sp2.
We are facing a problem with sudden JVM crash after the perm gen getting utilized to till 99%.
We tried with maxPermSize as 64 MB as well as 128MB. But in both the cases the JVM uses total perm gen something around 45-46 MB.
We are unable to understand even in case of 128MB of maxPermSize why JVM is not able to increase the total perm gen and instead went for a crash. Is it a bug in this specific JVM version ?
Any pointer/idea would be really helpful.
Regards,
SouravHi Cfuishien,
Thanks again for your input.
We actually ran it again without -Xbatch and with -XX:+PrintCompilation. The system crashed. I'm adding here the top part of the pstack output and the last part of the massege appeared in log file at the time of crash.
Please let me know if you need any further input.
pstack output -
core 'UATcore.20040829-1' of 8867: /usr/j2se/bin/java -server -Xms2048m -Xmx2048m -XX:MaxPermSize=128m -X
----------------- lwp# 12 / thread# 11 --------------------
ff379780 __sigprocmask (ff37bf7c, 0, 0, 70901d70, ff38e000, 0) + 8
ff36e110 _sigon (70901d70, ff395930, 6, 708ff40c, 70901d70, ff39527c) + d0
ff371150 thrpkill (0, b, 6, ff38e000, b, ff340450) + f8
ff2cba74 raise (6, 0, 0, ffffffff, ff3403bc, ff39525c) + 40
ff2b595c abort (ff33c000, 708ff560, 0, fffffff8, 4, 708ff581) + 100
fe499d98 __1cCosFabort6Fi_v_ (1, fe53ad22, 708ffde0, fe56f8a2, fe56f83a, ff0000) + 80
fe37d35c __1cMreport_error6Fipkci11E_v_ (708ffdfc, fe5d8b3c, fe53aaec, fe532cd0, fe53ab35, 708fff40) + 668
fe37c8e4 __1cMreport_fatal6Fpkci1E_v_ (fe532c8b, 5e, fe532cd1, fe532c74, e, 40) + 58
fe17f928 __1cKCodeBuffer2t6MiiiiiipnKBufferBlob_pnJrelocInfo_pnORelocateBuffer_ipnLOopRecorder_pkci_v_ (fe582000, 0, c00, 1000, 400, 0) + c0
fe1cefe8 __1cKCodeBufferGresize6Miiii_v_ (11b08bc, 7800, 1000, 400, c00, a6) + 98
fe1d3174 __1cHCompileLFill_buffer6M_v_ (70901270, 0, 121dd68, 121dda8, 85d8e8, 49cd08) + b40
fe1d857c __1cHCompileGOutput6M_v_ (9, 0, 45, 0, 0, 0) + 8e8
fe1d1a44 __1cHCompileICode_Gen6M_v_ (70901270, fe53526c, 70901184, fe582000, 0, 0) + 53c
fe1ff690 __1cHCompile2t6MpnFciEnv_pnHciScope_pnIciMethod_iii_v_ (fe5350a1, 1021524, 258b34, e8a674, ffffffff, 1) + be0
fe1fbe34 __1cKC2CompilerOcompile_method6MpnFciEnv_pnHciScope_pnIciMethod_ii_v_ (a0828, 70901a8c, 0, 1023060, ffffffff, 0) + 64
fe1fb5f8 __1cNCompileBrokerZinvoke_compiler_on_method6FpnLCompileTask__v_ (ab2, 0, ffffffff, fe5c0e70, fe5cdc6c, f47c8) + 61c
fe2aae80 __1cNCompileBrokerUcompiler_thread_loop6F_v_ (fe5358a9, fe5c1238, f47c8, f4d78, 31a08c, fe267ed8) + 428
fe267f00 __1cKJavaThreadDrun6M_v_ (f47c8, c, 40, 0, b, ff38e000) + 284
fe2643e0 _start (f47c8, ff38f688, 1, 1, ff38e000, 0) + 134
ff37b744 threadstart (f47c8, 0, 0, 0, 0, 0) + 40
----------------- lwp# 13 / thread# 12 --------------------
ff31d348 _poll (0, 0, 0, f9581b18, ff33f1b4, f9581b18) + 8
ff37b150 select (0, 32, 0, 0, 0, 1) + 34
fe10633c __1cCosFsleep6FpnGThread_xi_i_ (f5648, 0, 32, 0, 1, f9581c85) + 214
fe2bfb5c __1cNWatcherThreadDrun6M_v_ (f5648, d, 7f, 0, c, ff38e000) + 1e4
fe2643e0 _start (f5648, ff38f688, 1, 1, ff38e000, 0) + 134
ff37b744 threadstart (f5648, 0, 0, 0, 0, 0) + 40
----------------- lwp# 14 / thread# 13 --------------------
ff31f170 ___lwp_cond_wait (1b8f68, 1b8f50, 52d770, 0, 0, 0) + 8
fe24d680 __1cNObjectMonitorEwait6MxipnGThread__v_ (5000, 5280, 5000, 5100, 52d770, 4a1dcc) + 5ac
fe24cbc0 JVM_MonitorWait (52d804, 70581774, 0, 0, 52d770, 0) + 158
f980b96c ???????? (70581774, b6, 0, ffffffff, 0, 0)
f9805804 ???????? (705817ec, b6, 0, f9815e84, c, 70581710)
f9805804 ???????? (7058187c, b7, 0, f9815e50, 4, 70581790)
f9805804 ???????? (7058190c, 0, 0, f98160d0, 4, 70581818)
f980010c ???????? (70581998, 70581c00, a, f1d6ca50, 4, 705818b0)
fe15bcf8 __1cJJavaCallsLcall_helper6FpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v_ (70581bf8, 70581a60, 70581b18, 52d770, 52d770, 70581a70) + 27c
fe24a3e4 __1cJJavaCallsMcall_virtual6FpnJJavaValue_nLKlassHandle_nMsymbolHandle_4pnRJavaCallArguments_pnGThread__v_ (fe582000, 1ba478, 70581b0c, 70581b08, 70581b18, 52d770) + 164
fe25d5a8 __1cJJavaCallsMcall_virtual6FpnJJavaValue_nGHandle_nLKlassHandle_nMsymbolHandle_5pnGThread__v_ (70581bf8, 70581bf4, 70581bec, 70581be4, 70581bdc, 52d770) + 6c
fe26e8f8 __1cMthread_entry6FpnKJavaThread_pnGThread__v_ (52d770, 52d770, 6de808, 1ba478, 31a08c, fe267ed8) + 128
fe267f00 __1cKJavaThreadDrun6M_v_ (52d770, e, 40, 0, d, ff38e000) + 284
fe2643e0 _start (52d770, ff38f688, 1, 1, ff38e000, 0) + 134
ff37b744 threadstart (52d770, 0, 0, 0, 0, 0) + 40
The last part of error log
{082=/export/home/bea/rwsfolders/MailFormat_Uploaded/08_2.xml, 101=/export/home/bea/rwsfolders/MailFormat_Uploaded/10_1
.jasper, 143=/export/home/bea/rwsfolders/MailFormat_Uploaded/14_3.jasper, 031=/export/home/bea/rwsfolders/MailFormat_Up
loaded/03_1.jasper, 282=/export/home/bea/rwsfolders/MailFormat_Uploaded/28_2.jasper|/export/home/bea/rwsfolders/MailFor
mat_Uploaded/28_2_SubReport1.jasper|/export/home/bea/rwsfolders/MailFormat_Uploaded/28_2_SubReport2.jasper, 011=/export
/home/bea/rwsfolders/MailFormat_Uploaded/01_1.jasper, 032=/export/home/bea/rwsfolders/MailFormat_Uploaded/03_2.xml, 061
=/export/home/bea/rwsfolders/MailFormat_Uploaded/06_1.jasper, 191=/export/home/bea/rwsfolders/MailFormat_Uploaded/19_1.
jasper, 151=/export/home/bea/rwsfolders/MailFormat_Uploaded/15_1.jasper, 051=/export/home/bea/rwsfolders/MailFormat_Upl
oaded/05_1.jasper, 281=/export/home/bea/rwsfolders/MailFormat_Uploaded/28_1.jasper, 073=/export/home/bea/rwsfolders/Mai
lFormat_Uploaded/07_3.xml, 033=/export/home/bea/rwsfolders/MailFormat_Uploaded/03_3.jasper, 141=/export/home/bea/rwsfol
ders/MailFormat_Uploaded/14_1.jasper, 091=/export/home/bea/rwsfolders/MailFormat_Uploaded/09_1.jasper, 142=/export/home
/bea/rwsfolders/MailFormat_Uploaded/14_2.jasper|/export/home/bea/rwsfolders/MailFormat_Uploaded/14_2_SubReport1.jasper|
/export/home/bea/rwsfolders/MailFormat_Uploaded/14_2_SubReport2.jasper, 041=/export/home/bea/rwsfolders/MailFormat_Uplo
aded/04_1.jasper, 081=/export/home/bea/rwsfolders/MailFormat_Uploaded/08_1.jasper}
/export/home/bea/rwsfolders/MailFormat_Uploaded/09_1.jasper
091
Entering for the first time.
# HotSpot Virtual Machine Error, Internal Error
# Please report this error at
# http://java.sun.com/cgi-bin/bugreport.cgi
# Java VM: Java HotSpot(TM) Server VM (1.4.2_05-b04 mixed mode)
# Error ID: 434F44452255464645520E435050005E 01
# Problematic Thread: prio=5 tid=0x000f47c8 nid=0xb runnable
Heap at VM Abort:
Heap
def new generation total 678464K, used 531362K [0x71400000, 0x9bea0000, 0x9bea0000)
eden space 657920K, 80% used [0x71400000, 0x91ae8aa0, 0x99680000)
from space 20544K, 0% used [0x99680000, 0x99680000, 0x9aa90000)
to space 20544K, 0% used [0x9aa90000, 0x9aa90000, 0x9bea0000)
tenured generation total 1398144K, used 42149K [0x9bea0000, 0xf1400000, 0xf1400000)
the space 1398144K, 3% used [0x9bea0000, 0x9e7c9700, 0x9e7c9800, 0xf1400000)
compacting perm gen total 37888K, used 37722K [0xf1400000, 0xf3900000, 0xf9400000)
the space 37888K, 99% used [0xf1400000, 0xf38d6990, 0xf38d6a00, 0xf3900000)
Abort - core dumped
Regards,
Sourav -
Oracle XML parser and IBM jdk bug
Hello,
From a few messages found in the XML forum it seems that IBM jvm could cause problems with oracle XML parser. ( see http://technet.oracle.com:89/ubb/Forum11/HTML/003823.html )
I am using IBM jvm (jdk 1.3) on a linux box, and problems are starting to arise:
I have
- 1 BC4J based jsp app which works fine.
- 2 XML parsing BC4J apps which cause strange errors (like parsing 40 documents fine and failing on the 41st for no apparent reason)
Hopefully, Steven Muench provided precious advice on this (basically, disabling the JIT), however some issues are still open:
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>You should file a bug with IBM to get this fixed, using your stylesheet as a testcase. Lots of people have hit this problem.<HR></BLOCKQUOTE>
Has anyone (from oracle or else) done this yet? I have gone (quickly) through IBM website but I didn't find any bug report utility or the like...
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Disable your JIT compiler (or switch JVM's) and you won't have the error.<HR></BLOCKQUOTE>
Turning off the JIT indeed made the errors vanish, thanks a lot for the tip!
I have a few more questions though :
* As the BC4J framework uses the xml parser, It is fairly possible that the ibm jvm bug will affect it...
I haven't had any problems (yet?) with the BC4J part of my applications, but I'm a bit concerned about having random bugs lurking around (I have more than enough of my own :) )
Has anyone stumbled upon IBM JVM vs oracle parser issues in BC4J? (oracle.xml.parser.v2.XXXXXX exceptions...)
* If BC4J is indeed affected, what's the solution?
- Disable the JIT? (And forget about performance?... hmmm... no)
- Switch parsers? (oracle parser is too tightly integrated in the BC4J Framework isn't it?.. hmm... not possible either)
- Wait for a patch from IBM (and use another one in the meantime) / switch JVM :
In either case, I'd really like to know what is the JVM that oracle people use / would advise.
Thanks for your help
nullFor those interested,
last week i reported this bug in the ibm jvm news forum.
They said that the problem had been investigated and would be fixed in their next service release.
FYI: the current release (SR7, labeled "build cx130-20010329) still has various problems wih oracle XML parser.
Remi
null -
Hi,
We have a production java based server that experienced large memory growth recently and we are looking for help in diagnosing what might be the cause. The memory footprint of this java server application is limited to 120M using the jvm -Xmx switch. The server process size held consistently at around 180M until an event happened that caused the process size to increase rapidly to aprox 3G within a 4 minute period. We used the java jstat command to check the application heap usage within the jvm and it was within the specified limits.
We have collected a variety of diagnostic information (pmap, pstack, pfiles, etc - available on request) as well as output from dtrace using a script that is used to count the number of memory allocations. The dtrace script and tail end of this message.
Any help in interpreting the dtrace output in the hopes of pinpointing a cause for the large memory allocations would be greatly appreciated.
Steve
java version information:
java version "1.5.0_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
Java HotSpot(TM) Server VM (build 1.5.0_06-b05, mixed mode)
dtrace script:
#!/usr/sbin/dtrace -d -F
pid$target::malloc:entry
@totalbytes[ ustack() ] = sum( arg0 );
pid$target::valloc:entry
@totalbytes[ ustack() ] = sum( arg0 );
pldd information:
8348: /export/home/sonusComm/jre/bin/java -Dname=agent -Xmx120M -DAGENT_HOME
/lib/libumem.so.1
/lib/libthread.so.1
/lib/libdl.so.1
/lib/libc.so.1
/platform/sun4u-us3/lib/libc_psr.so.1
/export/home/sonusComm/jre/lib/sparc/server/libjvm.so
/lib/libsocket.so.1
/usr/lib/libsched.so.1
/usr/lib/libCrun.so.1
/lib/libm.so.1
/lib/libnsl.so.1
/lib/libm.so.2
/lib/libscf.so.1
/lib/libdoor.so.1
/lib/libuutil.so.1
/lib/libmd5.so.1
/platform/sun4u/lib/libmd5_psr.so.1
/lib/libmp.so.2
/export/home/sonusComm/jre/lib/sparc/native_threads/libhpi.so
/export/home/sonusComm/jre/lib/sparc/libverify.so
/export/home/sonusComm/jre/lib/sparc/libjava.so
/export/home/sonusComm/jre/lib/sparc/libzip.so
/usr/lib/locale/en_US.ISO8859-1/en_US.ISO8859-1.so.3
/export/home/sonusComm/jre/lib/sparc/libnet.so
/export/home/sonusComm/jre/lib/sparc/libmanagement.so
/export/home/sonusComm/jre/lib/sparc/libj2pkcs11.so
/usr/lib/libpkcs11.so.1
/usr/lib/libcryptoutil.so.1
/usr/lib/security/pkcs11_softtoken.so.1
/export/home/sonusComm/jre/lib/sparc/librmi.so
dtrace output snippet (the numeric value at the end of each stack is the number of bytes allocated)
libumem.so.1`malloc
libjvm.so`__1cCosGmalloc6FI_pv_+0x28
libjvm.so`__1cFArenaEgrow6MI_pv_+0xd4
libjvm.so`__1cMPhaseChaitinFSplit6MI_I_+0x2a8
libjvm.so`__1cMPhaseChaitinRRegister_Allocate6M_v_+0x720
libjvm.so`__1cHCompileICode_Gen6M_v_+0x2b0
libjvm.so`__1cHCompile2t5B6MpnFciEnv_pnKC2Compiler_pnIciMethod_ii_v_+0xc08
libjvm.so`__1cKC2CompilerOcompile_method6MpnFciEnv_pnIciMethod_i_v_+0xb0
libjvm.so`__1cNCompileBrokerZinvoke_compiler_on_method6FpnLCompileTask__v_+0x4cc
libjvm.so`__1cNCompileBrokerUcompiler_thread_loop6F_v_+0x44c
libjvm.so`__1cKJavaThreadDrun6M_v_+0x2b0
libjvm.so`__1cG_start6Fpv_0_+0x208
libc.so.1`_lwp_start
9269948
libumem.so.1`malloc
libjvm.so`__1cCosGmalloc6FI_pv_+0x28
libjvm.so`__1cFArenaEgrow6MI_pv_+0x214
libjvm.so`__1cHMatcherFxform6MpnENode_i_2_+0xac
libjvm.so`__1cHMatcherFmatch6M_v_+0x644
libjvm.so`__1cHCompileICode_Gen6M_v_+0xd4
libjvm.so`__1cHCompile2t5B6MpnFciEnv_pnKC2Compiler_pnIciMethod_ii_v_+0xc08
libjvm.so`__1cKC2CompilerOcompile_method6MpnFciEnv_pnIciMethod_i_v_+0xb0
libjvm.so`__1cNCompileBrokerZinvoke_compiler_on_method6FpnLCompileTask__v_+0x4cc
libjvm.so`__1cNCompileBrokerUcompiler_thread_loop6F_v_+0x44c
libjvm.so`__1cKJavaThreadDrun6M_v_+0x2b0
libjvm.so`__1cG_start6Fpv_0_+0x208
libc.so.1`_lwp_start
10008720
libumem.so.1`malloc
libc.so.1`_real_gettext_u+0x98
libc.so.1`dgettext+0x98
libhpi.so`0xff0623d0
libjava.so`JNU_ThrowIOExceptionWithLastError+0x28
libjava.so`Java_java_lang_UNIXProcess_forkAndExec+0x714
0xf8f4f250
0xf90dd264
0xf90e6cdc
0xf9101be0
0xf8ed8078
0xf8c05c2c
0xf8c00218
libjvm.so`__1cJJavaCallsLcall_helper6FpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v_+0x5a0
libjvm.so`__1cJJavaCallsMcall_virtual6FpnJJavaValue_nGHandle_nLKlassHandle_nMsymbolHandle_5pnGThread__v_+0x188
libjvm.so`__1cMthread_entry6FpnKJavaThread_pnGThread__v_+0x134
libjvm.so`__1cKJavaThreadDrun6M_v_+0x2b0
libjvm.so`__1cG_start6Fpv_0_+0x208
libc.so.1`_lwp_start
10313472
libumem.so.1`malloc
libjvm.so`__1cCosGmalloc6FI_pv_+0x28
libjvm.so`__1cFArenaEgrow6MI_pv_+0x214
libjvm.so`__1cIPhaseIFGEinit6MI_v_+0xdc
libjvm.so`__1cMPhaseChaitinRRegister_Allocate6M_v_+0x1180
libjvm.so`__1cHCompileICode_Gen6M_v_+0x2b0
libjvm.so`__1cHCompile2t5B6MpnFciEnv_pnKC2Compiler_pnIciMethod_ii_v_+0xc08
libjvm.so`__1cKC2CompilerOcompile_method6MpnFciEnv_pnIciMethod_i_v_+0xb0
libjvm.so`__1cNCompileBrokerZinvoke_compiler_on_method6FpnLCompileTask__v_+0x4cc
libjvm.so`__1cNCompileBrokerUcompiler_thread_loop6F_v_+0x44c
libjvm.so`__1cKJavaThreadDrun6M_v_+0x2b0
libjvm.so`__1cG_start6Fpv_0_+0x208
libc.so.1`_lwp_start
10371104
libumem.so.1`malloc
libnet.so`Java_java_net_SocketInputStream_socketRead0+0xcc
0xf8c668ec
0xf8f01088
0xf8c76344
0xf8c058b8
0xf8c05764
0xf8c595b4
0xf8e7e594
0xf8c96238
0xf8c05c2c
0xf8c05d3c
0xf8c05d3c
0xf8c05d3c
0xf8c05c2c
0xf8c00218
libjvm.so`__1cJJavaCallsLcall_helper6FpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v_+0x5a0
libjvm.so`__1cJJavaCallsMcall_virtual6FpnJJavaValue_nGHandle_nLKlassHandle_nMsymbolHandle_5pnGThread__v_+0x188
libjvm.so`__1cMthread_entry6FpnKJavaThread_pnGThread__v_+0x134
libjvm.so`__1cKJavaThreadDrun6M_v_+0x2b0
10469376
libumem.so.1`malloc
libjvm.so`__1cCosGmalloc6FI_pv_+0x28
libjvm.so`__1cICHeapObj2n6FI_pv_+0x1c
libjvm.so`__1cKJavaThreadKinitialize6M_v_+0xc0
libjvm.so`__1cKJavaThread2t5B6MpFp0pnGThread__vI_v_+0x60
libjvm.so`JVM_StartThread+0x1c0
0xf8c0c280
0xf8c0c224
0xf8f40c7c
0xf9065edc
0xf913a744
0xf9132638
0xf8c00218
libjvm.so`__1cJJavaCallsLcall_helper6FpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v_+0x5a0
libjvm.so`__1cJJavaCallsMcall_virtual6FpnJJavaValue_nGHandle_nLKlassHandle_nMsymbolHandle_5pnGThread__v_+0x188
libjvm.so`__1cMthread_entry6FpnKJavaThread_pnGThread__v_+0x134
libjvm.so`__1cKJavaThreadDrun6M_v_+0x2b0
libjvm.so`__1cG_start6Fpv_0_+0x208
libc.so.1`_lwp_start
10552560
libumem.so.1`malloc
libjvm.so`__1cCosGmalloc6FI_pv_+0x28
libjvm.so`__1cICHeapObj2n6FI_pv_+0x1c
libjvm.so`__1cFMutex2t5B6Mipkci_v_+0x20
libjvm.so`__1cHMonitor2t5B6Mipkci_v_+0x10
libjvm.so`__1cGThread2t5B6M_v_+0x118
libjvm.so`__1cKJavaThread2t5B6MpFp0pnGThread__vI_v_+0x34
libjvm.so`JVM_StartThread+0x1c0
0xf8c0c280
0xf8c0c224
0xf8f40c7c
0xf9065edc
0xf913a744
0xf9132638
0xf8c00218
libjvm.so`__1cJJavaCallsLcall_helper6FpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v_+0x5a0
libjvm.so`__1cJJavaCallsMcall_virtual6FpnJJavaValue_nGHandle_nLKlassHandle_nMsymbolHandle_5pnGThread__v_+0x188
libjvm.so`__1cMthread_entry6FpnKJavaThread_pnGThread__v_+0x134
libjvm.so`__1cKJavaThreadDrun6M_v_+0x2b0
libjvm.so`__1cG_start6Fpv_0_+0x208
11607816
libumem.so.1`malloc
libjvm.so`__1cCosGmalloc6FI_pv_+0x28
libjvm.so`__1cFArenaEgrow6MI_pv_+0x214
libjvm.so`__1cOPhaseIdealLoopKDominators6M_v_+0xb4
libjvm.so`__1cOPhaseIdealLoop2t5B6MrnMPhaseIterGVN_pk0i_v_+0x7fc
libjvm.so`__1cHCompileIOptimize6M_v_+0x174
libjvm.so`__1cHCompile2t5B6MpnFciEnv_pnKC2Compiler_pnIciMethod_ii_v_+0xbdc
libjvm.so`__1cKC2CompilerOcompile_method6MpnFciEnv_pnIciMethod_i_v_+0xb0
libjvm.so`__1cNCompileBrokerZinvoke_compiler_on_method6FpnLCompileTask__v_+0x4cc
libjvm.so`__1cNCompileBrokerUcompiler_thread_loop6F_v_+0x44c
libjvm.so`__1cKJavaThreadDrun6M_v_+0x2b0
libjvm.so`__1cG_start6Fpv_0_+0x208
libc.so.1`_lwp_start
12653032
libumem.so.1`malloc
libjvm.so`__1cCosGmalloc6FI_pv_+0x28
libjvm.so`__1cFArenaEgrow6MI_pv_+0xd4
libjvm.so`__1cJOopMapSetGall_do6FpknFframe_pnICodeBlob_pknLRegisterMap_pnKOopClosure_pFppnHoopDesc_9E_v9B9B_v_+0x5a0
libjvm.so`__1cJOopMapSetHoops_do6FpknFframe_pnICodeBlob_pknLRegisterMap_pnKOopClosure__v_+0x44
libjvm.so`__1cFframeRoops_code_blob_do6MpnKOopClosure_pknLRegisterMap__v_+0x28
libjvm.so`__1cKJavaThreadHoops_do6MpnKOopClosure__v_+0x19c
libjvm.so`__1cPThreadRootsTaskFdo_it6MpnNGCTaskManager_I_v_+0x50
libjvm.so`__1cMGCTaskThreadDrun6M_v_+0x1e0
libjvm.so`__1cG_start6Fpv_0_+0x208
libc.so.1`_lwp_start
18146824
libumem.so.1`malloc
libjvm.so`__1cCosGmalloc6FI_pv_+0x28
libjvm.so`__1cFArenaEgrow6MI_pv_+0x214
libjvm.so`__1cOPhaseIdealLoopKDominators6M_v_+0xb4
libjvm.so`__1cOPhaseIdealLoop2t5B6MrnMPhaseIterGVN_pk0i_v_+0x7fc
libjvm.so`__1cHCompileIOptimize6M_v_+0x47c
libjvm.so`__1cHCompile2t5B6MpnFciEnv_pnKC2Compiler_pnIciMethod_ii_v_+0xbdc
libjvm.so`__1cKC2CompilerOcompile_method6MpnFciEnv_pnIciMethod_i_v_+0xb0
libjvm.so`__1cNCompileBrokerZinvoke_compiler_on_method6FpnLCompileTask__v_+0x4cc
libjvm.so`__1cNCompileBrokerUcompiler_thread_loop6F_v_+0x44c
libjvm.so`__1cKJavaThreadDrun6M_v_+0x2b0
libjvm.so`__1cG_start6Fpv_0_+0x208
libc.so.1`_lwp_start
20415552
libumem.so.1`malloc
libjvm.so`__1cCosGmalloc6FI_pv_+0x28
libjvm.so`jni_GetByteArrayElements+0x144
libjava.so`Java_java_lang_UNIXProcess_forkAndExec+0x58
0xf8f4f250
0xf90dd264
0xf90e6cdc
0xf9101be0
0xf8ed8078
0xf8c05c2c
0xf8c00218
libjvm.so`__1cJJavaCallsLcall_helper6FpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v_+0x5a0
libjvm.so`__1cJJavaCallsMcall_virtual6FpnJJavaValue_nGHandle_nLKlassHandle_nMsymbolHandle_5pnGThread__v_+0x188
libjvm.so`__1cMthread_entry6FpnKJavaThread_pnGThread__v_+0x134
libjvm.so`__1cKJavaThreadDrun6M_v_+0x2b0
libjvm.so`__1cG_start6Fpv_0_+0x208
libc.so.1`_lwp_start
38030987
libumem.so.1`malloc
libjvm.so`__1cCosGmalloc6FI_pv_+0x28
libjvm.so`__1cICHeapObj2n6FI_pv_+0x1c
libjvm.so`JVM_StartThread+0x1a0
0xf8c0c280
0xf8c0c224
0xf8f40c7c
0xf9065edc
0xf913a744
0xf9132638
0xf8c00218
libjvm.so`__1cJJavaCallsLcall_helper6FpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v_+0x5a0
libjvm.so`__1cJJavaCallsMcall_virtual6FpnJJavaValue_nGHandle_nLKlassHandle_nMsymbolHandle_5pnGThread__v_+0x188
libjvm.so`__1cMthread_entry6FpnKJavaThread_pnGThread__v_+0x134
libjvm.so`__1cKJavaThreadDrun6M_v_+0x2b0
libjvm.so`__1cG_start6Fpv_0_+0x208
libc.so.1`_lwp_start
59094336
libumem.so.1`malloc
libjvm.so`__1cCosGmalloc6FI_pv_+0x28
libjvm.so`__1cFArenaEgrow6MI_pv_+0xd4
libjvm.so`__1cHThreadsZcreate_thread_roots_tasks6FpnLGCTaskQdDueue__v_+0x4c
libjvm.so`__1cKPSScavengeQinvoke_no_policy6Fpi_i_+0x7d0
libjvm.so`__1cKPSScavengeGinvoke6Fpi_v_+0x5c
libjvm.so`__1cUParallelScavengeHeapTfailed_mem_allocate6MpiIii_pnIHeapWord__+0xbc
libjvm.so`__1cbDVM_ParallelGCFailedAllocationEdoit6M_v_+0xa4
libjvm.so`__1cMVM_OperationIevaluate6M_v_+0x80
libjvm.so`__1cIVMThreadDrun6M_v_+0x6e0
libjvm.so`__1cG_start6Fpv_0_+0x208
libc.so.1`_lwp_start
60336552
libumem.so.1`malloc
libjvm.so`__1cCosGmalloc6FI_pv_+0x28
libjvm.so`__1cFArenaEgrow6MI_pv_+0xd4
libjvm.so`__1cENodeIout_grow6MI_v_+0xac
libjvm.so`__1cHAddNodeFIdeal6MpnIPhaseGVN_i_pnENode__+0xacc
libjvm.so`__1cMPhaseIterGVNNtransform_old6MpnENode__2_+0x28
libjvm.so`__1cMPhaseIterGVNIoptimize6M_v_+0xac
libjvm.so`__1cOPhaseIdealLoop2t5B6MrnMPhaseIterGVN_pk0i_v_+0xc34
libjvm.so`__1cHCompileIOptimize6M_v_+0x174
libjvm.so`__1cHCompile2t5B6MpnFciEnv_pnKC2Compiler_pnIciMethod_ii_v_+0xbdc
libjvm.so`__1cKC2CompilerOcompile_method6MpnFciEnv_pnIciMethod_i_v_+0xb0
libjvm.so`__1cNCompileBrokerZinvoke_compiler_on_method6FpnLCompileTask__v_+0x4cc
libjvm.so`__1cNCompileBrokerUcompiler_thread_loop6F_v_+0x44c
libjvm.so`__1cKJavaThreadDrun6M_v_+0x2b0
libjvm.so`__1cG_start6Fpv_0_+0x208
libc.so.1`_lwp_start
100790212
libumem.so.1`malloc
libjvm.so`__1cCosGmalloc6FI_pv_+0x28
libjvm.so`__1cFArenaEgrow6MI_pv_+0xd4
libjvm.so`__1cENodeFclone6kM_p0_+0xb0
libjvm.so`__1cHAddNodeFIdeal6MpnIPhaseGVN_i_pnENode__+0x8c8
libjvm.so`__1cMPhaseIterGVNNtransform_old6MpnENode__2_+0x28
libjvm.so`__1cMPhaseIterGVNIoptimize6M_v_+0xac
libjvm.so`__1cOPhaseIdealLoop2t5B6MrnMPhaseIterGVN_pk0i_v_+0xc34
libjvm.so`__1cHCompileIOptimize6M_v_+0x174
libjvm.so`__1cHCompile2t5B6MpnFciEnv_pnKC2Compiler_pnIciMethod_ii_v_+0xbdc
libjvm.so`__1cKC2CompilerOcompile_method6MpnFciEnv_pnIciMethod_i_v_+0xb0
libjvm.so`__1cNCompileBrokerZinvoke_compiler_on_method6FpnLCompileTask__v_+0x4cc
libjvm.so`__1cNCompileBrokerUcompiler_thread_loop6F_v_+0x44c
libjvm.so`__1cKJavaThreadDrun6M_v_+0x2b0
libjvm.so`__1cG_start6Fpv_0_+0x208
libc.so.1`_lwp_start
101445332
libumem.so.1`malloc
libjvm.so`__1cCosGmalloc6FI_pv_+0x28
libjvm.so`__1cFChunk2n6FII_pv_+0x244
libjvm.so`__1cFArenaIArealloc6MpvII_1_+0xc4
libjvm.so`__1cMPhaseIterGVNJtransform6MpnENode__2_+0x98
libjvm.so`__1cHAddNodeFIdeal6MpnIPhaseGVN_i_pnENode__+0xa3c
libjvm.so`__1cMPhaseIterGVNNtransform_old6MpnENode__2_+0x28
libjvm.so`__1cMPhaseIterGVNIoptimize6M_v_+0xac
libjvm.so`__1cOPhaseIdealLoop2t5B6MrnMPhaseIterGVN_pk0i_v_+0xc34
libjvm.so`__1cHCompileIOptimize6M_v_+0x174
libjvm.so`__1cHCompile2t5B6MpnFciEnv_pnKC2Compiler_pnIciMethod_ii_v_+0xbdc
libjvm.so`__1cKC2CompilerOcompile_method6MpnFciEnv_pnIciMethod_i_v_+0xb0
libjvm.so`__1cNCompileBrokerZinvoke_compiler_on_method6FpnLCompileTask__v_+0x4cc
libjvm.so`__1cNCompileBrokerUcompiler_thread_loop6F_v_+0x44c
libjvm.so`__1cKJavaThreadDrun6M_v_+0x2b0
libjvm.so`__1cG_start6Fpv_0_+0x208
libc.so.1`_lwp_start
268435464
libumem.so.1`malloc
libjvm.so`__1cCosGmalloc6FI_pv_+0x28
libjvm.so`__1cFArenaEgrow6MI_pv_+0x214
libjvm.so`__1cINodeHashEgrow6M_v_+0x74
libjvm.so`__1cINodeHashQhash_find_insert6MpnENode__2_+0x1ac
libjvm.so`__1cMPhaseIterGVNNtransform_old6MpnENode__2_+0x2f8
libjvm.so`__1cMPhaseIterGVNIoptimize6M_v_+0xac
libjvm.so`__1cOPhaseIdealLoop2t5B6MrnMPhaseIterGVN_pk0i_v_+0xc34
libjvm.so`__1cHCompileIOptimize6M_v_+0x174
libjvm.so`__1cHCompile2t5B6MpnFciEnv_pnKC2Compiler_pnIciMethod_ii_v_+0xbdc
libjvm.so`__1cKC2CompilerOcompile_method6MpnFciEnv_pnIciMethod_i_v_+0xb0
libjvm.so`__1cNCompileBrokerZinvoke_compiler_on_method6FpnLCompileTask__v_+0x4cc
libjvm.so`__1cNCompileBrokerUcompiler_thread_loop6F_v_+0x44c
libjvm.so`__1cKJavaThreadDrun6M_v_+0x2b0
libjvm.so`__1cG_start6Fpv_0_+0x208
libc.so.1`_lwp_start
536936472
libumem.so.1`malloc
libjava.so`JNU_GetStringPlatformChars+0xd8
libjava.so`Java_java_io_UnixFileSystem_getBooleanAttributes0+0x80
0xf8c0c280
0xf8c0c224
0xf8c058b8
0xf8c36cf8
0xf8f83678
0xf8fd515c
0xf8c96238
0xf8c05764
0xf8c05764
0xf8c05764
0xf8c00218
libjvm.so`__1cJJavaCallsLcall_helper6FpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v_+0x5a0
libjvm.so`__1cJJavaCallsMcall_virtual6FpnJJavaValue_nGHandle_nLKlassHandle_nMsymbolHandle_5pnGThread__v_+0x188
libjvm.so`__1cMthread_entry6FpnKJavaThread_pnGThread__v_+0x134
libjvm.so`__1cKJavaThreadDrun6M_v_+0x2b0
libjvm.so`__1cG_start6Fpv_0_+0x208
libc.so.1`_lwp_start
-8588966992This isn't a heap space issue with the java application though, which is what these tools you mentioned would be used to diagnose. The heap space usage of our java app is remaining constant and below the specified limit of 120M but the process continues to grow as we speak.
I can only conclude that this is most likely a jvm memory leak. I should have probably made this clearer in the subject heading.
Anyone know how to file a bug against the solaris jvm ? -
Determine the method optimizing which the Jrockit JVM crashed.
I have an application that is running on Jrockit JVM. which crashed after 3-4 hours.
From the jrockit.<pid>.dump I could determine that the crash was on the Thread: "(Code Optimization Thread 1) .
And by using -XnoOpt we can stop code Optimization.
However, how do we determine which exact method caused it so that i can use the option -XX:OptFile
I am running Jrockit R28.0.1-21-133393-1.6.0_20-20100512-2126-linux-x86_64
on RED HAT LINUX 5.3 (64 bit)
Thread:
"(Code Optimization Thread 1)" id=5 idx=0x54 tid=29997 lastJavaFrame=0xfffffffffffffffc
Stack 0: start=0x41a70000, end=0x41ab2000, guards=0x41a75000 (ok), forbidden=0x41a73000
Thread Stack Trace:
at mspace_free+473(osal_mspace.c:4608)
at irAliasValidate+1760(aliases.c:558)
at irInfoGet+61(irinfo.c:143)
at irAliasMustBeAliases+59(aliases.c:112)
at update_callvector+4976(inline.c:284)Many bugs were reported for JVM crast at acGetOperand in JRockit R27.x
But no bugs are reported exactly with the same stack trace.
Regarding a workaround, the below stack is actually misleading us. It does not give us a clue about the reasons for the crash (whether it is happening due to concurrent GC or parallel GC or Compaction etc.), so we cannot really say what GC settings would avoid it.
I recommend that we collect another textual dump if the crash occurs again and hope that the stack trace generated the next time will give us better insight into the root cause.
Another suggestion would be to upgrade to R28.x -
Bug fix for "Java Hangs When Converting 2.2250738585072012e-308" for SAPJVM
Hi All,
There is a new java runtime security alert found (see URL below) :
Java Hangs When Converting 2.2250738585072012e-308
http://www.exploringbinary.com/java-hangs-when-converting-2-2250738585072012e-308/
I'm wondering if any of you noticed this bug ? Does SAP JVM (various versions) also exsibit this
bug too ?
Thanks,
Ying-Jie ChenJust to add:
Note 1556366 - Java Runtime hangs when converting a certain number
Markus -
JVM 1.4.2 unexpected signal 11
Hi All,
Kinda desperate with this problem.... is there a bug with the old JVM 1.4.2_08 bug ?
if there is any related can probally point it out here to the bugs database ?
I hit this problem when reach 1.2G+, and the whole JVM terminate. Any idea?
P/s: before JVM auto terminate, all response time still very fast, mainly < 1 second.
Server version: WebLogic 8.1.5
Jdk version: jdk142_08
JAVA_VM: -server
MEM_ARGS: -Xms2048 –Xmx3072
If change to higher, I hit this
JAVA_OPTIONS: -XXMaxPermSize=256m
An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : 11 occurred at PC=0x949417
Function=memset+0x37
Library=/lib/libc.so.6
Current Java thread:
Dynamic libraries:
004b0000-004b5000 r-xp 00000000 08:01 19559110 /usr/lib/libXtst.so.6.1.0
004b5000-004b6000 rwxp 00004000 08:01 19559110 /usr/lib/libXtst.so.6.1.0
007bf000-00813000 r-xp 00000000 08:01 19543501 /usr/lib/libXt.so.6.0.0
00813000-00817000 rwxp 00054000 08:01 19543501 /usr/lib/libXt.so.6.0.0
008ba000-008d4000 r-xp 00000000 08:01 17695729 /lib/ld-2.5.so
008d4000-008d5000 r-xp 00019000 08:01 17695729 /lib/ld-2.5.so
008d5000-008d6000 rwxp 0001a000 08:01 17695729 /lib/ld-2.5.so
008d8000-00a17000 r-xp 00000000 08:01 17694737 /lib/libc-2.5.so
00a17000-00a18000 ---p 0013f000 08:01 17694737 /lib/libc-2.5.so
00a18000-00a1a000 r-xp 0013f000 08:01 17694737 /lib/libc-2.5.so
00a1a000-00a1b000 rwxp 00141000 08:01 17694737 /lib/libc-2.5.so
00a20000-00a45000 r-xp 00000000 08:01 17694744 /lib/libm-2.5.so
00a45000-00a46000 r-xp 00024000 08:01 17694744 /lib/libm-2.5.so
00a46000-00a47000 rwxp 00025000 08:01 17694744 /lib/libm-2.5.so
00a49000-00a5d000 r-xp 00000000 08:01 17694799 /lib/libpthread-2.5.so
00a5d000-00a5e000 r-xp 00013000 08:01 17694799 /lib/libpthread-2.5.so
00a5e000-00a5f000 rwxp 00014000 08:01 17694799 /lib/libpthread-2.5.so
00a63000-00a65000 r-xp 00000000 08:01 17694752 /lib/libdl-2.5.so
00a65000-00a66000 r-xp 00001000 08:01 17694752 /lib/libdl-2.5.so
00a66000-00a67000 rwxp 00002000 08:01 17694752 /lib/libdl-2.5.so
00b09000-00b1c000 r-xp 00000000 08:01 17695714 /lib/libnsl-2.5.so
00b1c000-00b1d000 r-xp 00012000 08:01 17695714 /lib/libnsl-2.5.so
00b1d000-00b1e000 rwxp 00013000 08:01 17695714 /lib/libnsl-2.5.soEJP wrote:
That version has been at End of Life for nearly 3 years. See here. Use a currently supported product.That probably also requires an upgrade of Weblogic. There comes a time where you have to bite the bullet and take that step, you cannot run on this old crud forever, especially if your application grows in size and requirements.
BUT, you are not only running an old version of Java (1.4), you are also running an old minor update version of it (08). You may want to upgrade to at least the latest minor update version which is 1.4.2_30.
http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase14-419411.html#j2sdk-1.4.2_30-sol-JPR -
How to make program eat less memory/enhance performance ?
Dear experts,
I have a program that creates 3 tables containing series of line vectors. These are created from data contained in an ascii file. The program performs some calculations on the data. I have everything working perfectly i.e. it creates the tables, does the calculations and gives me the final results which I need (but this only happens when I use a data file that is 88Kb in size).
However, the frustrating problem I am experiencing currently is that when I use a heavier file e.g size 4.22mb, after a short delay, Windows starts complaining about memory errors and Windows task manager's Mem usage goes through the roof!
Eventually, I get an Exception in thread ?main? java.lang.OutOfMemoryError <<no stack trace available>> error from the JVM.
I have tried "java -Xrunhprof" command and it suggests that the real memory hogging line of code is:
name = ((String) v.elementAt(nj))+"\t"+((String) reference_vec.elementAt(nj));As the program is dynamically allocating and creating a full nxn matrix of the input data lines at run-time that means it is creating zillions of strings at that line? Concatenation of Strings is not a good idea either as this blows performance too. I am thinking of re-writing the program in C. I have run out of ideas. Please can you suggest how I can make some tweaks to the java code so that the program runs more efficiently? Any comments welcome. Program is approx 500 LOC, can post on request.
d.import java.io.*;
import java.util.*;
Mobile ID Classification Program - 2003
Currently known memory bugs -
15/10/03 - JVM reports OutOfMemoryError when gsm_data.txt used as input
public class DataAnalysis {
/* Data structures used to store values **/
private Hashtable Activity = null;
private Vector table1 = null;
private Vector table2 = null;
private Vector table3 = null;
private BufferedReader fin;
private StringTokenizer st;
Mobile activity description strings
private final String A1 = "IMSI attach";
private final String A2 = "IMSI detach";
private final String A3 = "Periodic location update";
private final String A4 = "Normal location update+authentication";
private final String A5 = "Service request mobile call";
private final String A6 = "Service request SMS";
private final String A7 = "Service request supplementary service activation";
private final String A8 = "paging response";
// private final String A8a = "Paging response+authentication";
private final String A9 = "Service request energy";
/* main function where the program begins execution **/
public static void main(String args[]) {
if(args.length == 0) {
System.out.println("File name not specified. Usage : java -Xmx500mb DataAnalysis <file name> ");
else if(args.length > 1) {
System.out.println("Too many parameters. Usage : java -Xmx500mb DataAnalysis <file name> ");
else {
new DataAnalysis(args[0]);
/* Constructor. Takes input file name string as parameter **/
public DataAnalysis(String data_file_name) {
Activity = new Hashtable();
table1 = new Vector();
table2 = new Vector();
table3 = new Vector();
// Parse the input file. Read in lines.
try{
fin= new BufferedReader(new FileReader(data_file_name));
String line;
while((line = fin.readLine()) != null) {
if (line.trim().length() > 0) {
tokenize(line);
catch(Exception e) {
System.out.println(e.getMessage());
finally {
try {
fin.close(); // Close the file input stream then
catch(Exception ee) {
// Create the first two tables
createTable1();
createTable2();
// Free the memory occupied by table 1
// freeTable(table1);
table1 = null;
createTable3();
// Free the memory occupied by table 2
// freeTable(table2);
table2 = null;
// Select all the mobile ids in gsm_data.txt which have a city block distance value less than 0.25 threshold (upper limit)
System.out.println("--------------------------Table 3 : Relationship between mobile ids using Manhattan City Block distance -------------------------- \n" );
for(int ni =0;ni<table3.size();ni++) {
Vector inner_vec = (Vector) table3.elementAt(ni);
for(int nj = 0;nj<(inner_vec.size()-1);nj= nj+2) {
float val = ((Float) inner_vec.elementAt(nj)).floatValue();
if(val <= 0.25 && val > 0.0) {
System.out.println((String) inner_vec.elementAt(nj+1));
/* Returns the index from table 1 **/
public int getIndexFromTable1(String id) {
int index = -1;
for(int ni = 0;ni<table1.size();ni++) {
Vector v = (Vector) table1.elementAt(ni);
String vect_id = (String) v.elementAt(0);
if(vect_id.equalsIgnoreCase(id)) {
index = ni;
return index;
Create table with actual frequency of mobile activity for each mobile id.
Number of times an activity occurred in the input file.
public void createTable1() {
Enumeration e = Activity.keys();
int sum;
while(e.hasMoreElements()) {
Vector table1_row = null;
String s = (String) e.nextElement();
Integer num = (Integer) Activity.get(s);
StringTokenizer st1 = new StringTokenizer(s, "|");
String mobile_id = (String) st1.nextToken();
String mobile_act = (String) st1.nextToken();
int row_index = getIndexFromTable1(mobile_id);
if(row_index > 0) {
table1_row = (Vector) table1.elementAt(row_index);
sum = ((Integer) table1_row.lastElement()).intValue();
else {
table1_row = new Vector();
sum = 0;
if(table1_row.contains(mobile_id)) {
if(mobile_act.equalsIgnoreCase(A1)) { // IMSI attach activity
table1_row.setElementAt(num, 1);
sum += num.intValue();
else if(mobile_act.equalsIgnoreCase(A2)) { // IMSI detach activity
table1_row.setElementAt(num, 2);
sum += num.intValue();
else if(mobile_act.equalsIgnoreCase(A3)) { // Periodic location update activity
table1_row.setElementAt(num, 3);
sum += num.intValue();
else if(mobile_act.equalsIgnoreCase(A4)) { // Normal location update+authentication activity
table1_row.setElementAt(num, 4);
sum += num.intValue();
else if(mobile_act.equalsIgnoreCase(A5)) { // Service request mobile call activity
table1_row.setElementAt(num, 5);
sum += num.intValue();
else if(mobile_act.equalsIgnoreCase(A6)) { // Service request SMS activity
table1_row.setElementAt(num, 6);
sum += num.intValue();
else if(mobile_act.equalsIgnoreCase(A7)) { // Service request supplementary service activation activity
table1_row.setElementAt(num, 7);
sum += num.intValue();
else if(mobile_act.equalsIgnoreCase(A8)) { // Paging response activity
table1_row.setElementAt(num, 8);
sum += num.intValue();
else if(mobile_act.equalsIgnoreCase(A9)) { // Service request energy activity
table1_row.setElementAt(num, 9);
sum += num.intValue();
int lastIndex = table1_row.lastIndexOf(table1_row.lastElement()); // This is the last index which this table
table1_row.setElementAt(new Integer(sum), lastIndex);
else {
table1_row.addElement(mobile_id);
if(mobile_act.equalsIgnoreCase(A1)) {
table1_row.addElement(num);
sum += num.intValue();
else {
table1_row.addElement(new Integer("0"));
if(mobile_act.equalsIgnoreCase(A2)) {
table1_row.addElement(num);
sum += num.intValue();
else {
table1_row.addElement(new Integer("0"));
if(mobile_act.equalsIgnoreCase(A3)) {
table1_row.addElement(num);
sum += num.intValue();
else {
table1_row.addElement(new Integer("0"));
if(mobile_act.equalsIgnoreCase(A4)) {
table1_row.addElement(num);
sum += num.intValue();
else {
table1_row.addElement(new Integer("0"));
if(mobile_act.equalsIgnoreCase(A5)) {
table1_row.addElement(num);
sum += num.intValue();
else {
table1_row.addElement(new Integer("0"));
if(mobile_act.equalsIgnoreCase(A6)) {
table1_row.addElement(num);
sum += num.intValue();
else {
table1_row.addElement(new Integer("0"));
if(mobile_act.equalsIgnoreCase(A7)) {
table1_row.addElement(num);
sum += num.intValue();
else {
table1_row.addElement(new Integer("0"));
if(mobile_act.equalsIgnoreCase(A8)) {
table1_row.addElement(num);
sum += num.intValue();
else {
table1_row.addElement(new Integer("0"));
if(mobile_act.equalsIgnoreCase(A9)) {
table1_row.addElement(num);
sum += num.intValue();
else {
table1_row.addElement(new Integer("0"));
table1_row.addElement(new Integer(sum));
if(row_index > 0){
// Replace the vector in table1 with updated vector
table1.remove(row_index);
table1.insertElementAt(table1_row, row_index);
else {
// Add the row vector to the table vector as a row.
table1.addElement(table1_row);
tableToString(table1, "--------------------------Table 1: Number of times activity occurred in input txt file -------------------------- " );
Create table 2 by normalising the data values from table 1
public void createTable2() {
for(int ni = 0;ni<table1.size();ni++) {
int sum;
String name = "";
Vector table2_row = new Vector();
Vector table1_row = (Vector) table1.elementAt(ni);
// For each record of table 1
for(int nj = 0;nj<table1_row.size();nj++) {
sum = ((Integer) table1_row.lastElement()).intValue();
// Name of the activity
if(nj == 0) {
name = (String) table1_row.elementAt(nj);
table2_row.addElement(table1_row.elementAt(nj));
else if (nj == (table1_row.size() - 1)) {
// Don't do any thing, we dont want the sum of activities in table 2 !
else {
Integer num = (Integer) table1_row.elementAt(nj);
int num_val = num.intValue();
if(num_val == 0) {
table2_row.addElement(new Float("0.0"));
else {
if(sum > 0.0) {
table2_row.addElement(new Float((float)num_val/sum));
else {
table2_row.addElement(new Float("0.0"));
table2.addElement(table2_row);
tableToString(table2, "--------------------------Table 2: Table 1's Normalised Values --------------------------");
Create table 3 by comparing the relationship between vectors of table 2 using
the Manhattan City Block distance.
public void createTable3() {
Vector reference_vec = null;
for(int ni = 0;ni<table2.size();ni++) {
reference_vec = (Vector)table2.elementAt(ni);
createTable3Record(reference_vec);
/* public void createTable3Record(Vector reference_vec) {
// Vector table3_record = new Vector();
Table3Record table3_record = new Table3Record();
for(int ni = 0;ni<table2.size();ni++) {
float sum = 0;
// String name = "";
Vector v = (Vector) table2.elementAt(ni); // each record of table2
for(int nj = 0;nj<v.size();nj++) { // for each element of a record of table 2. Iterate through table 2.
if (nj == 0) {
// name = ((String) v.elementAt(nj))+"\t"+((String) reference_vec.elementAt(nj));
table3_record.name_prefix = (String) v.elementAt(nj);
table3_record.name_suffix = (String) reference_vec.elementAt(nj);
// table3_record.value = sum;
else {
float f1 = ((Float) v.elementAt(nj)).floatValue();
float f2 = ((Float) reference_vec.elementAt(nj)).floatValue();
sum += Math.abs(f1-f2);
table3_record.value = sum;
// table3_record.addElement(new Float(table3_record.value)); // Value
// table3_record.addElement(table3_record.name); // Vector Names for that value
table3.addElement(table3_record);
// table3_record = null;
OLD CODE BUT AT LEAST IT WORKS !! // Creates a record for the third table // OLD CODE BUT IT WORKS
public void createTable3Record(Vector reference_vec) {
Vector table3_record = new Vector();
for(int ni = 0;ni<table2.size();ni++) {
float sum = 0;
String name = "";
Vector v = (Vector) table2.elementAt(ni); // each record of table2
for(int nj = 0;nj<v.size();nj++) { // for each element of a record of table 2. Iterate through table 2.
if (nj == 0) {
name = ((String) v.elementAt(nj))+"\t"+((String) reference_vec.elementAt(nj)); /** MEMORY BUG ? */
//name = new StringBuffer().append((String) v.elementAt(nj)).append("\t").append((String) reference_vec.elementAt(nj)).toString();
else {
float f1 = ((Float) v.elementAt(nj)).floatValue();
float f2 = ((Float) reference_vec.elementAt(nj)).floatValue();
sum += Math.abs(f1-f2); // Calculate the sum
table3_record.addElement(new Float(sum)); // Value
table3_record.addElement(name); // Vector Names for that value
table3.addElement(table3_record);
table3_record = null;
Method which breaks the contents of the file which is read into memory for processing
public void tokenize(String s) {
st = new StringTokenizer(s, "\t");
String id = "";
// String time = "";
String activity = "";
if(st.hasMoreTokens()) {
st.nextToken(); // Date e.g. 13052003
// time = st.nextToken(); // Time e.g. 11:30:18
st.nextToken();
st.nextToken(); // Frame Number e.g. 166827
id = st.nextToken().trim(); // ID e.g. f47c12cffb or 2943012109009630
st.nextToken(); // Classmark e.g 33
st.nextToken(); // Float e.g. 2.2 (the distance from base station)
activity = st.nextToken().trim(); // Activity e.g IMSI attach
String key = id+"|"+activity;
key = key.intern();
if (Activity.containsKey(key)) {
Integer num = (Integer) Activity.get(key);
int num_val = num.intValue();
num_val += 1;
num = new Integer(num_val);
Activity.put(key, num);
else {
Activity.put(key, new Integer(1)); // Insert key into our Hashtable
Frees the memory used by a table
public void freeTable(Vector table) {
for (int ni = 0;ni<table.size();ni++) {
Vector inner = (Vector) table.elementAt(ni);
inner = null;
table = null;
Convert a vector to a string suitable for displaying on console output
public void tableToString(Vector table, String table_name){
System.out.println(table_name + "\n");
for (Iterator it = table.iterator(); it.hasNext();) {
System.out.println(it.next());
Function which sepearates mobile id usage beween day/night usage.
public void calculateTimeInterval(String t1, String t2){
// t' = t1 - t2
// Look at all the ids
Date d1,d2;
d1 = new Date(t1);
d2 = new Date(t2);
// TBD
} -
JPI 1.4.2 in 10g-patch2 or AppServer 10.1.2.0.2
Hi,
The Statement Of Direction on OTN states that support for Sun's Plug-In is targeted for 10g patchset 2. I'm not really sure which "real" version number that would be.
The current v10.x Application Server does not contain Forms/Reports, but the FAQ states that those will be included in the v10.1.2.0.2 release. It also states this version is expected in first half of CY2005.
We're really waiting for a Forms 10g version that supports Sun's JPI. We have hundreds of external users and I do not want to "bother" them with downloading and installing JInitiator. Explaining why I need Sun's JPI to their sysadmins is much easier :-)
Does anyone know if the AppServer 10.1.2.0.2 release will also support Sun's JPI on Windows or is this the same as the patch 2 release?
If they're not the same, which one will be available sooner? We're planning go-live on 1st of July and I really hope i can go for the Sun JPI.We are working to certify 904 +patch2 with the Sun plug. Interestingly enough some ofthe issues we have had have been bugs in the Sun JVM (hence Jinitiator being the better option). Note also you should be able to install Jinitiator automatically as well (since its just the Sun plugin underneath!).
I cant commit to a timeframe but Sun plug in support is very important for us so we are working to get it completed ASAP.
Regards
Grant Ronald
FOrms Product Management -
On a Mac OS X 10.3.4 system, when using drawImage(myImage, dx1, dy1, dx2, dy2, sx1, sy2, sx2, sy2, null) where dx1 = sx1, dy1 = sy1, sx2 = dx2, and sy2 = dy2 to draw an image to a graphics context it scales the image if I draw partially outside of graphics contexts clipping area. Maybe that is what it's supposed to do but it doesn't on XP. Is this a bug? Does anybody know of a work around?
Sounds like a bug in the Apple JVM. (theyre obviously clipping the 2nd pair of coords, when they shouldn't be)
There must be an entire breed of programmer whos sole aim is to create bugs such as these.
(as any 1/2 competent programmer would realise such a mistake as they were writing it)
The other thing you could blame would be abstraction coupled with poor/inaccurate documentation.
However, i'd sooner blame the coder who didn't test what they had written. -
Oracle.xml.parser.v2.XPathException: Extension functi
Hi all,
When I am trying to call an external java function in XSLT it is throwing the following exception .
Exception in thread "main" oracle.xml.parser.v2.XPathException: Extension functi
on error: Class not found 'pack/XYZ'
at oracle.xml.parser.v2.XSLExtFunctions.getConstructor(XSLExtFunctions.j
ava:166)
at oracle.xml.parser.v2.XPathExtFunction.evaluateMethod(XPathExtFunction
.java:172)
at oracle.xml.parser.v2.XPathExtFunction.getValue(XPathExtFunction.java:
137)
at oracle.xml.parser.v2.XPathExtFunction.getValue(XPathExtFunction.java:
135)
at oracle.xml.parser.v2.XSLExprBase.getStringValue(XSLExprBase.java:369)
at oracle.xml.parser.v2.XSLValueOf.processAction(XSLValueOf.java:99)
at oracle.xml.parser.v2.XSLNode.processChildren(XSLNode.java:369)
at oracle.xml.parser.v2.XSLResultElement.processAction(XSLResultElement.
java:176)
at oracle.xml.parser.v2.XSLNode.processChildren(XSLNode.java:369)
at oracle.xml.parser.v2.XSLResultElement.processAction(XSLResultElement.
java:176)
at oracle.xml.parser.v2.XSLNode.processChildren(XSLNode.java:369)
at oracle.xml.parser.v2.XSLTemplate.processAction(XSLTemplate.java:200)
at oracle.xml.parser.v2.XSLApplyTemplates.processAction(XSLApplyTemplate
s.java:214)
at oracle.xml.parser.v2.XSLApplyTemplates.processAction(XSLApplyTemplate
s.java:120)
at oracle.xml.parser.v2.XSLNode.processChildren(XSLNode.java:369)
at oracle.xml.parser.v2.XSLTemplate.processAction(XSLTemplate.java:200)
My small code is of XSL is:
<xsl:stylesheet version = '1.0'
xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:XYZ="http://www.oracle.com/XSL/Transform/java/pack/XYZ">
<xsl:template match="PatientRecord">
<patientKey>
<LastName>
<xsl:value-of select="XYZ:getValue()"/>
</LastName>
<DOB>
<xsl:value-of select="DOB"/>
</DOB>
</patientKey>
</xsl:template>
</xsl:stylesheet>
My small code of java is :
package pack;
public class XYZ{
public String getValue(){
return "Hello World";
My small piece of XML is:
<PatientRecord>
<RecordType>P</RecordType>
<FirstName>JAVA</FirstName>
<LastName>DEVELOPER</LastName>
<SSN>737747777</SSN>
<DOB>19740310</DOB>
<DoctorID>20874</DoctorID>
<VisitReason>
Programming stress disorders
</VisitReason>
</PatientRecord>
I added the xmlparserv2.jar and xyz.jar file to classpath and XYZ.class file is in xyz.jar file .
Could any body help me if they have encounter or know the answer.
Thanks,
ReddyThis occurs because of a bug in the IBM JVM's JIT compiler. You should file a bug with IBM to get this fixed, using your stylesheet as a testcase. Lots of people have hit this problem.
Disable your JIT compiler (or switch JVM's) and you won't have the error. -
Hello all.
Whenever I try to make JNI calls to Ms Word in multiclient environment on server, the JVM closes with the following message.
Another exception has been detected while we were handling last error.
Dumping information about last error:
ERROR REPORT FILE = (N/A)
PC = 0x19BFC46D
SIGNAL = -1073741819
FUNCTION NAME = (N/A)
OFFSET = 0xFFFFFFFF
I am using JRE1.4.0 .
The heap size of JVM I have set is 256 MB.
Is this a bug in JVM?
Please guide me in this problem if possible because it is urgent for me.
Thanks in advance.Hallo,
if I understand your problem correctly, you are trying to call MS Word on your server from Java code in your server. This is not to be recommended!
I have seen references to this problem elsewhere in the Sun forums but cannot at the moment find them. There is also something in MSDN. As far as I remember, the story goes like this:
1. Word is a program for client PCs.
2. Word expects to have a GUI available for it to display messages and so on.
3. Although you can control Word over OLE, 1 and 2 above still apply.
4. If you still want to use Word in your server, then on your own head be it. -
JVM bug with Turkish locale settings (windows)
Hello,
There is a serious bug in all versions of java virtual machine. When you set your locale settings to Turkish language, you can not install & use database driven java applications (that needs to create a database). For example; you can't install oracle 9i or 10g, ORA-12560 arises in database creation phase; and you can't install Readerware (a book cataloger), it locks-up in database creation phase, too. Ofcourse when you change your language to English or another language the problem goes away.
I found that the source of the problem is JVM's wrong character mapping. It fails to convert Turkish and English "i" and "I" characters correctly (they're different in Turkish).
Is there anybody to fix this issue in the next release ?
Thanks,...I logged a bug about Java's Turkish Collator implementation: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4688797.
I'm not sure if your issue would fall into the same category. It looks like a separate bug to me, although closely related.
Try logging that bug, or adding this to the bug above.
HTH,
<rsa/> -
Signal Handling by JVM : a probable bug
I am facing the following problem. when i kill a running java code by (CTRL C SIGINT), then the sub processes created by the parent java program using "exec" call didn't get terminated. I ran the code on Solaris machine. This OS supports cascading termination meaning 'if a parent is dead then all the childs get terminated recursively". But i guess JVM calls its signal handler and didn't follow the rule of cascading termination. I THINK IT IS A BUG. can some one acknowledge/correct me on this issue
I really don't think so.
On unix boxes one can 'fork'. A fork creates a sub process (not a process.) Killing a sub process might or might not kill child sub processes.
Runtime.exec() produces a process, not a sub process. So I would never expect that killing the parent would kill the other process.
This would suggest that exiting the process would also kill the exec() process. There is a similar analog in perl. On unix it allows for fork and system/exec calls. An 'exec' terminates the perl script immediately. Using the same from the above, it would be useless since it would also immediately terminate the process just started with 'exec'. -
JFileChooser crashes JVM - bug basically ignored. What can I do?
See:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7160713
The bug has been marked as incomplete,needs more info, and "Low Prioroty" - Yet there is no mechanism to provide any more information. There is no way to add comments, or vote. The bug brings down the entire JVM with a native crash and it is trivial to reproduce.
I would provide any information that is asked of me - but I need a way to do it. I think I got an email request for info (It's been a while now), but replies to the email bounced, and as noted above the bug page has no way to give feedback.
Use any JFileChooser, click on the "Details" view. Then start clicking on column headings... after a few clicks the JVM crashes. Tested again with 7u6 - still crashes.This reproduces the problem more reliably for me.
* JFileChooser Windows Crash
package filechoosercrash;
import java.awt.AWTEvent;
import java.awt.BorderLayout;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.Window;
import java.awt.event.AWTEventListener;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
import java.util.concurrent.CountDownLatch;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.LookAndFeel;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.UIManager.LookAndFeelInfo;
import javax.swing.UnsupportedLookAndFeelException;
* @author scott
public class FileChooserCrash {
static CountDownLatch latch = new CountDownLatch(1);
static JFrame frame;
static JButton button;
static JFileChooser chooser;
static Robot robot;
private static AWTEventListener terminator = new AWTEventListener() {
@Override
public void eventDispatched(AWTEvent event) {
System.exit(10);
* @param args the command line arguments
public static void main(final String[] args) throws Exception {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
try {
swingMain(args);
} catch (Exception ex) {
Logger.getLogger(FileChooserCrash.class.getName()).log(Level.SEVERE, null, ex);
latch.await();
// do the clicks
sleep(3000);
Toolkit.getDefaultToolkit().addAWTEventListener(terminator, AWTEvent.KEY_EVENT_MASK);
long now = System.currentTimeMillis();
for (int c = 0; c < 10; c++) {
Window w = JDialog.getWindows()[1]; // better be there!
System.out.println("w=" + w);
int detailsX = w.getX() + w.getWidth() - 36;
int detailY = w.getY() + 50;
int headingY = w.getY() + 100;
System.out.println("details at " + detailsX + ", " + detailY);
// Click details
robot.mouseMove(detailsX, detailY);
clickMouse();
sleep(100);
// Click column headings
while (System.currentTimeMillis() - now < 2 * 1000) {
int headingX = w.getX() + (w.getWidth()/2) + (int) (Math.random() * (w.getWidth()/2));
robot.mouseMove(headingX, headingY);
clickMouse();
sleep(300);
// Cancel
robot.mouseMove(w.getX() + w.getWidth() - 36, w.getY() + w.getHeight() - 36);
clickMouse();
sleep(300);
// re-open
robot.mouseMove(frame.getX() + 36, frame.getY() + 36);
clickMouse();
sleep(1000);
now = System.currentTimeMillis();
private static void sleep(int millis) {
try {
Thread.sleep(millis);
} catch (InterruptedException ex) {
private static void clickMouse() {
robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);
sleep(100);
robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
private static void swingMain(String[] args) throws Exception {
//switchToNimbus();
robot = new Robot();
frame = new JFrame("JFileChooser Crash Test");
button = new JButton("Start...");
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
showFileChooser(frame);
frame.getContentPane().add(button, BorderLayout.CENTER);
frame.getContentPane().add(new JLabel("Press \"Start...\" and let go of the mouse. Robot will be used to change FileChooser to details view and then quickly click column headings until the crash."), BorderLayout.SOUTH);
frame.pack();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
static void showFileChooser(JFrame parent) {
chooser = new JFileChooser("C:\\");
latch.countDown();
chooser.showOpenDialog(parent);
private static void switchToNimbus() throws UnsupportedLookAndFeelException, IllegalAccessException, InstantiationException, ClassNotFoundException {
for (LookAndFeelInfo laf : UIManager.getInstalledLookAndFeels()) {
if (laf.getName().startsWith("Nimbus")) {
System.out.println("Using " + laf.getName());
UIManager.setLookAndFeel(laf.getClassName());
break;
}
Maybe you are looking for
-
How do I connect my laptop to my Lexmark X4550 Printer?
-
Aperture 3 default file permissions for referenced images
Hi, This might be a bit more an OS X question than an Aperture question, but perhaps asking this here might help other people with similar case. Is there a way to change the default file permissions Aperture 3 sets for image files imported from a dig
-
When an AIR for iOS provisioning profile expires ...
I'm unclear about what happens to an installed iOS app when the provisioning profile OR the signing certificate expires. We're talking about an app that was published and installed with valid Enterprise Distribution credentials before the expiration
-
Could somebody tell me the rules of t-codes for Customizing Implementation in EHS? For example: " Specify Value Assignment Types " ( EHS_MD_120_30_3 ) Normally it is the last 4 letters. But what is the rule for this? Thanks! Li
-
when i insert the google portlet in my portal i get the following error: Error: The listener returned the following Message: 500 oracle.portal.provider.v1.AccessControlException: Failed to read contents from : http://www.google.com/ but i registered