Is Core Dump Stable Now?
Hi all , i see version 2008.3 is released in FTP mirrors from official site , but the official site said the newest version of Arch is 2007.8 , I just downloaded and installed 2008.3 on my laptop HP 3742TU , it works well
I wonder whether 2008.3 Core Dump is a stable version now , thx a lot.
Stable version of Arch linux is an up to date version of Arch linux -- the installer is nor a "release" but just something that gets a basic Arch system on your computer, from the moment you do "pacman -Syu" how Arch was installed no longer matters.
Similar Messages
-
Revoe core dump files from cdump directory
Hi,
I have lot of core dump files exist in cdump directory of 5 GB size. Latest core dump is feb 27 2008.
Can I safely remove all core dump files now, it is production instance 10.2.0.1 running on HP-UX.
Please suggest. INo problem, a core dump means that the memory of the process was dumped in a file 'core' on the file system because of an exceptional condition similar to the internal error ORA-600, however, the big difference is that the kernel did not anticipate the error.
HTH
Enrique -
Cannot start BI server, cannot start cluster successfully, core dumped
Hi
I have the following configuration. The four machines are virtualized containers on solaris sparc
machine 1 - PS, java host, web logic
machine 2 - PS, java host, web logic
machine 3 - bi server, primary cluster controller, scheduler
machine 4 - bi server, secondary cluster controller, scheduler
However i dont need the scheduler and i have not configured them completely
I was able to successfully test on compete stack with no clustering and used only machines 1 and 3. I was able to login to the sample URL and see some graphs.
The problem started once i was trying the clustering. I looked at the admin docs and the installation and deployment guides and followed the instructions and carefully did the configuration.
I face multiple problems.
In single stack some time the BI server was randoly stopping itself for no reason after starting it. it was very random that i used to feel happy if it does not stop.
During clustering i was not able to start the cluster successfully at all. I did not want to worry about scheduler to start with and even the PS. I just wanted to connect to the BI server using the primary ccs and using the admin tool in the windows machine.
Today morning i tried to start the BI server and then there was a core dump in both the machines and then i am not even able to start the server at all. There was nothing in the log files and i dont know what to do.
The log files before the core dump as follows.
server log file
2009-07-30 18:18:47
[36007] Loading repository /software/oraclebi/server/Repository/samplesales.rpd.
2009-07-30 18:18:49
[14055] Loading subject area: Sample Sales ...
2009-07-30 18:18:49
[14056] Finished loading subject area: Sample Sales.
2009-07-30 18:18:49
[58002] Query Cache loaded with 7 entries from saved cache files.
2009-07-30 18:18:49
[43030] : Oracle BI Server (64-bit) started. Version: 10.1.3.4.1.090414.1900.
2009-07-30 18:19:11
[43031] : Oracle BI Server shutdown.
2009-07-30 18:19:12
[58001] Query Cache Statistics -- Hits:0(0%), Qualified Misses:0(0%), Unqualified Misses:0(0%).
2009-07-30 18:19:12
[14058] Unloaded all subject areas.
2009-07-30 18:25:25
[36007] Loading repository /software/oraclebi/server/Repository/samplesales.rpd.
2009-07-30 18:25:27
[14055] Loading subject area: Sample Sales ...
2009-07-30 18:25:27
[14056] Finished loading subject area: Sample Sales.
2009-07-30 18:25:27
[58002] Query Cache loaded with 7 entries from saved cache files.
2009-07-30 18:25:27
[43030] : Oracle BI Server (64-bit) started. Version: 10.1.3.4.1.090414.1900.
2009-07-30 18:26:25
[43071] A connection with Cluster Controller maa-zone4:9706 was established.
2009-07-30 18:30:08
[nQSError: 12002] Socket communication error at call=recv: (Number=131) Connection reset by peer
2009-07-30 18:30:08
[nQSError: 12002] Socket communication error at call=recv: (Number=131) Connection reset by peer
2009-07-30 20:57:24
[36007] Loading repository /software/oraclebi/server/Repository/samplesales.rpd.
2009-07-30 20:57:26
[14055] Loading subject area: Sample Sales ...
2009-07-30 20:57:26
[14056] Finished loading subject area: Sample Sales.
2009-07-30 20:57:26
[58002] Query Cache loaded with 7 entries from saved cache files.
2009-07-30 20:57:26
[43030] : Oracle BI Server (64-bit) started. Version: 10.1.3.4.1.090414.1900.
2009-07-30 20:58:39
[43031] : Oracle BI Server shutdown.
2009-07-30 20:58:39
[58001] Query Cache Statistics -- Hits:0(0%), Qualified Misses:0(0%), Unqualified Misses:0(0%).
2009-07-30 20:58:39
[14058] Unloaded all subject areas.
2009-07-30 21:01:40
[36007] Loading repository /software/oraclebi/server/Repository/samplesales.rpd.
2009-07-30 21:01:42
[14055] Loading subject area: Sample Sales ...
2009-07-30 21:01:42
[14056] Finished loading subject area: Sample Sales.
2009-07-30 21:01:42
[58002] Query Cache loaded with 7 entries from saved cache files.
2009-07-30 21:01:42
[43030] : Oracle BI Server (64-bit) started. Version: 10.1.3.4.1.090414.1900.
2009-07-30 21:08:51
[43071] A connection with Cluster Controller maa-zone4:9706 was established.
2009-07-30 21:10:31
[43065] The connection with Cluster Controller maa-zone4:9706 was lost.
2009-07-30 21:12:59
[43071] A connection with Cluster Controller maa-zone4:9706 was established.
:x
$ ls
cluster controller log file
2009-07-30 21:12:59
[71008] Cluster Controller started. Version: 10.1.3.4.1.090414.1900
2009-07-30 21:12:59
[71021] An attempt to establish a connection with Oracle BI Server maa-zone03:9703 failed.
2009-07-30 21:12:59
[71020] A connection with Oracle BI Server maa-zone4:9703 was established.
2009-07-30 21:12:59
[71010] Oracle BI Server maa-zone4:9703 has transitioned to ONLINE state.
2009-07-30 21:13:14
[71050] This Cluster Controller is promoted to Controlling because there has been no recent contact from
the Primary Cluster Controller.
2009-07-30 21:13:14
[71071] An attempt to establish a connection with Oracle BI Scheduler maa-zone03:9705 failed.
2009-07-30 21:13:14
[71068] Oracle BI Scheduler maa-zone03:9705 has transitioned to OFFLINE state.
2009-07-30 21:13:14
[71071] An attempt to establish a connection with Oracle BI Scheduler maa-zone4:9705 failed.
2009-07-30 21:13:14
[71068] Oracle BI Scheduler maa-zone4:9705 has transitioned to OFFLINE state.
2009-07-30 23:10:34
[71019] The connection with Oracle BI Server maa-zone4:9703 was lost.
2009-07-30 23:10:34
[71011] Oracle BI Server maa-zone4:9703 has transitioned to OFFLINE state.
2009-07-30 23:10:39
[71021] An attempt to establish a connection with Oracle BI Server maa-zone4:9703 failed.
your help is appreciated.
thanks
chaitanya kadaruall the four machines are four containers in a solaris server.
The problem was with the hosts file, there were not entries matching the ipaddress and the hotname.
After i fixed it now i have a stable BI servers and cluster controllers.
Now i configured the presentation services to connect to the BI servers but i am getting the following exception.
Type: Error
Severity: 42
Time: Thu Aug 6 13:04:02 2009
File: project/webcomm/socket.cpp Line: 892
Properties: ThreadID-6
Location:
saw.rpc.client.impl.verify
saw.rpc.client.impl.initFixedRPC
saw.rpc.client.cluster
saw.threads
An error occurred during execution of "connect". Connection refused [Socket:15]
Any idea?
thanks -
Hotspot core dumping during JVM garbage collection ?
We have an application which calls a 3rd party supplied server API which has recently been upgraded to use Java 1.5
We are getting the following error reported by our client application. The application is also now running Java 1.5 but references many classes in jar files which would have quite old code in.
The supplier of the API has stated that the problem requires us to recompile all our jar files using v 1.5 ( including things like jconnect and jms ?!?!? ). This sounds like a bit of a cop-out to me, not to mention being impossible since we don't have the source for things like jconnect.
I suspect that there is a garbage collection problem at the bottom of all this, but I'm not sure how I can "prove" this, nor do I currently have any real clue as to how to fix any GC problem that may exist.
The application is supposed to wait for a message on a MQSeries queue and then transforms it via Xalan XSLT and sends it to a Server application. I've tried playing around with heap sizes etc but that just seems to make it worse. If I leave it at the settings that the previous version used then the client at least manages to process a couple of messages before core dumping. There doesn't seem to be a consistent trigger event to cause the core dump ( it's not a message arriving on a queue for example ) but it does seem to be fairly consistent timewise, i.e. after
Any ideas gratefully accepted.
Here's a logfile excerpt from my applications showing the Hotspot error message :
=====================================================================================
08-Jul-2008 10:01:05 Waiting for messages from COLT.BBFS
08-Jul-2008 10:02:05 Waiting for messages from COLT.BBFS
08-Jul-2008 10:03:05 Waiting for messages from COLT.BBFS
405.815: [GC [PSYoungGen: 17331K->9244K(37632K)] 111702K->103615K(192128K), 0.1615910 secs]
405.977: [Full GC#
# An unexpected error has been detected by HotSpot Virtual Machine:
# SIGBUS (0xa) at pc=0xfe141348, pid=2600, tid=8
# Java VM: Java HotSpot(TM) Server VM (1.5.0_03-b07 mixed mode)
# Problematic frame:
# V [libjvm.so+0x141348]
# An error report file with more information is saved as hs_err_pid2600.log
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
=====================================================================================
The logfile referred to in the error message contains the following.
=====================================================================================
# An unexpected error has been detected by HotSpot Virtual Machine:
# SIGBUS (0xa) at pc=0xfe141348, pid=2600, tid=8
# Java VM: Java HotSpot(TM) Server VM (1.5.0_03-b07 mixed mode)
# Problematic frame:
# V [libjvm.so+0x141348]
--------------- T H R E A D ---------------
Current thread (0x001484d8): VMThread [id=8]
siginfo:si_signo=10, si_errno=0, si_code=1, si_addr=0x0000080f
Registers:
O0=0x00487588 O1=0xfe7d6454 O2=0x000079b0 O3=0x00007800
O4=0x00008868 O5=0x00147d48 O6=0xf8781460 O7=0xfe0f7938
G1=0xe52aaae8 G2=0x00000003 G3=0x00000003 G4=0x001484d8
G5=0xf8781d98 G6=0x00000002 G7=0xf8781d98 Y=0x805683e2
PC=0xfe141348 nPC=0xfe14134c
Top of Stack: (sp=0xf8781460)
0xf8781460: fe786000 00c6ba20 fe10013c e54bab68
0xf8781470: 0000080f e54bab6c 0000080f 00000004
0xf8781480: 00487588 00000134 e54bab6c 00000004
0xf8781490: 00000001 00000000 f87814c0 fe17aef4
0xf87814a0: fe6485b4 fe7d899c 001484d8 0011da40
0xf87814b0: 00148988 00148c10 00148d7c f8781880
0xf87814c0: 007c3389 007c3c0e 00000f87 00008868
0xf87814d0: 00008800 00487588 fe141310 fe7d6454
Instructions: (pc=0xfe141348)
0xfe141338: ec 06 c0 1a 80 a5 a0 00 22 40 00 0a ba 07 60 01
0xfe141348: f2 05 a0 00 ae 0e 60 03 80 a5 e0 03 22 40 00 05
Stack: [0xf8702000,0xf8781d98), sp=0xf8781460, free space=509k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x141348]
V [libjvm.so+0x17aefc]
V [libjvm.so+0x2d557c]
V [libjvm.so+0x300ef8]
V [libjvm.so+0x301e84]
V [libjvm.so+0x2ff950]
V [libjvm.so+0x29df30]
V [libjvm.so+0x362b44]
V [libjvm.so+0x6436f0]
VM_Operation (0xe03012b0): parallel gc system gc, mode: safepoint, requested by thread 0x0031bca0
--------------- P R O C E S S ---------------
Java Threads: ( => current thread )
0x00b2c028 JavaThread "Thread-4" [_thread_in_native, id=85]
0x007f5048 JavaThread "Thread-0" [_thread_blocked, id=84]
0x00c27cf0 JavaThread "Notification Delivery" [_thread_blocked, id=81]
0x0026fa08 JavaThread "RMI LeaseChecker" daemon [_thread_blocked, id=73]
0x00821048 JavaThread "RMI RenewClean-[162.11.2.32:44425]" daemon [_thread_blocked, id=70]
0x0031bca0 JavaThread "GC Daemon" daemon [_thread_blocked, id=67]
0x00cd5d28 JavaThread "RMI Reaper" [_thread_blocked, id=66]
0x003c9300 JavaThread "Timer-0" daemon [_thread_blocked, id=65]
0x00929fe0 JavaThread "RMI TCP Accept-0" daemon [_thread_in_native, id=64]
0x0089bf18 JavaThread "SeedGenerator Thread" daemon [_thread_blocked, id=42]
0x00c47248 JavaThread "Pool thread #7" daemon [_thread_blocked, id=38]
0x00c466a0 JavaThread "Pool thread #6" daemon [_thread_blocked, id=37]
0x00311850 JavaThread "Pool thread #5" daemon [_thread_blocked, id=36]
0x00287a40 JavaThread "Pool thread #4" daemon [_thread_blocked, id=35]
0x00286e98 JavaThread "Pool thread #3" daemon [_thread_blocked, id=34]
0x00c134b0 JavaThread "Pool thread #2" daemon [_thread_blocked, id=33]
0x00ad09e0 JavaThread "Pool thread #1" daemon [_thread_blocked, id=32]
0x00286cd8 JavaThread "PoolThreadManager" daemon [_thread_blocked, id=31]
0x00c129e0 JavaThread "Channel Reaper" daemon [_thread_blocked, id=30]
0x00c669e8 JavaThread "ORB Daemon Thread" daemon [_thread_blocked, id=29]
0x00b10170 JavaThread "Worker for ServerProtocol: (iiop) /0.0.0.0:20168" daemon [_thread_blocked, id=22]
0x008a17e0 JavaThread "Syn~ Client" daemon [_thread_blocked, id=21]
0x003dc378 JavaThread "PoolScavenger0" daemon [_thread_blocked, id=20]
0x0015a928 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=15]
0x00159880 JavaThread "CompilerThread1" daemon [_thread_blocked, id=14]
0x00158a18 JavaThread "CompilerThread0" daemon [_thread_blocked, id=13]
0x00157b98 JavaThread "AdapterThread" daemon [_thread_blocked, id=12]
0x00156dc8 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=11]
0x0014ccd8 JavaThread "Finalizer" daemon [_thread_blocked, id=10]
0x0014ad90 JavaThread "Reference Handler" daemon [_thread_blocked, id=9]
0x00038238 JavaThread "main" [_thread_in_native, id=1]
Other Threads:
=>0x001484d8 VMThread [id=8]
0x0015c3b0 WatcherThread [id=16]
VM state:at safepoint (normal execution)
VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event])
[0x00037728/0x00037758] Threads_lock - owner thread: 0x001484d8
[0x00033650/0x00037ba8] Heap_lock - owner thread: 0x0031bca0
Heap
PSYoungGen total 37632K, used 9244K [0xf2eb0000, 0xf7ba0000, 0xf8400000)
eden space 28352K, 0% used [0xf2eb0000,0xf2eb0000,0xf4a60000)
from space 9280K, 99% used [0xf4a60000,0xf5367080,0xf5370000)
to space 25216K, 0% used [0xf6300000,0xf6300000,0xf7ba0000)
PSOldGen total 154496K, used 94371K [0xe8400000, 0xf1ae0000, 0xf2eb0000)
object space 154496K, 61% used [0xe8400000,0xee028e78,0xf1ae0000)
PSPermGen total 35584K, used 18260K [0xe4400000, 0xe66c0000, 0xe8400000)
object space 35584K, 51% used [0xe4400000,0xe55d5158,0xe66c0000)
Dynamic libraries:
0x00010000 /dsdvlp/java/jvm/jdk1.5.0_03/bin/java
0xff350000 /usr/lib/libthread.so.1
0xff340000 /usr/lib/libdl.so.1
0xff200000 /usr/lib/libc.so.1
0xff390000 /usr/platform/SUNW,Sun-Fire-880/lib/libc_psr.so.1
0xfe000000 /dsdvlp/java/jvm/jdk1.5.0_03/jre/lib/sparc/server/libjvm.so
0xff1e0000 /usr/lib/libsocket.so.1
0xff2d0000 /usr/lib/libsched.so.1
0xff1b0000 /usr/lib/libCrun.so.1
0xff160000 /usr/lib/libm.so.1
0xff080000 /usr/lib/libnsl.so.1
0xff060000 /usr/lib/libmp.so.2
0xff030000 /dsdvlp/java/jvm/jdk1.5.0_03/jre/lib/sparc/native_threads/libhpi.so
0xfdfc0000 /dsdvlp/java/jvm/jdk1.5.0_03/jre/lib/sparc/libverify.so
0xfdf80000 /dsdvlp/java/jvm/jdk1.5.0_03/jre/lib/sparc/libjava.so
0xfdf50000 /dsdvlp/java/jvm/jdk1.5.0_03/jre/lib/sparc/libzip.so
0xfb7e0000 /usr/lib/locale/en_GB.ISO8859-1/en_GB.ISO8859-1.so.2
0xe4190000 /dsdvlp/java/jvm/jdk1.5.0_03/jre/lib/sparc/libnet.so
0xe3bd0000 /dsdvlp/lib/5/libSolarisNatives.so
0xe3e90000 /dsdvlp/java/jvm/jdk1.5.0_03/jre/lib/sparc/librmi.so
VM Arguments:
jvm_args: -Djava.ext.dirs=/dsdvlp/java/tmijar/firs7/lib/cli:/dsdvlp/java/tmijar/firs7/lib/cli/ext:/dsdvlp/java/tmijar/firs7/lib/cmn/OpenORB:/dsdvlp/java/tmijar/firs7/lib/cmn/OpenORB/ext:/dsdvlp/java/tmijar/firs7/lib/cmn:/dsdvlp/java/tmijar/firs7/lib/cmn/ext:/dsdvlp/java/tmijar/firs7/daemonlib -Duser.dir=/dsdvlp/java/tmijar/firs7 -Dopenorb.config=file:/dsdvlp/java/tmijar/firs7/configs/OpenORB/config/SynOpenORB.xml -Dopenorb.home=file:/dsdvlp/java/tmijar/firs7/configs/OpenORB -Dcom.coexis.syn.general.orbbinding=com.coexis.syn.general.orbbinding.openorb.OpenORBBinding_1_4 -Dsun.rmi.dgc.client.gcInterval=360000 -Dsun.rmi.dgc.server.gcInterval=360000000 -Xms32m -Xmx256m -Dcom.coexis.syn.clientcommandsconfiglocation=file://localhost//dsdvlp/java/tmijar/firs7/configs/clientcommands.xml -Dcom.coexis.syn.clientconfiglocation=file://localhost//dsdvlp/java/tmijar/firs7/configs/fsbbtd_client.xml -XX:+PrintGCTimeStamps -XX:+PrintGCDetails
java_command: com.coexis.syn.mqmessaging.daemon.RunDaemon -p /dsdvlp/bin/5/lndsfsd_fsbbtd.properties start
Environment Variables:
JAVA_HOME=/dsdvlp/java/jvm/jdk150
CLASSPATH=.:/dsdvlp/java/jar/jconnect520.jar:/dsdvlp/java/jar/vbjapp340.jar:/dsdvlp/java/jar/vbjorb340.jar:/dsdvlp/java/jar/javax_jndi120.jar
PATH=/usr/local/etc:/usr/lang:/usr/openwin/bin:/usr/ucb:/bin:/usr/etc:/usr/local/5/bin:/dsdvlp/bin/5:/dsdvlp/bin/4:/home/app/sybase/5/bin:/home/app/sybase/5/localscripts:/home/app/sybase/5/sqr:/home/app/lang:/home/app/lang/SC2.0.1:/usr/ccs/bin:/usr/local/opt/Acrobat3/bin:/dsdvlp/bin:.
LD_LIBRARY_PATH=/dsdvlp/java/jvm/jdk1.5.0_03/jre/lib/sparc/server:/dsdvlp/java/jvm/jdk1.5.0_03/jre/lib/sparc:/dsdvlp/java/jvm/jdk1.5.0_03/jre/../lib/sparc:/usr/lib:/usr/openwin/lib:/usr/local/5/lib:/dsdvlp/lib/5:/dstest/lib/5:/home/app/sybase/5/lib:/dstest/cats/sun4/lib:/tmitest/Opus/opus/lib
SHELL=/bin/csh
DISPLAY=CLI00184.mfil.local:1.0
OS=5
--------------- S Y S T E M ---------------
OS: Solaris 8 2/02 s28s_u7wos_08a SPARC
Copyright 2002 Sun Microsystems, Inc. All Rights Reserved.
Assembled 18 December 2001
uname:SunOS 5.8 Generic_117350-20 sun4u (T1 libthread)
rlimit: STACK 8192k, CORE 9216k, NOFILE 4096, AS infinity
load average:2.24 2.67 2.68
CPU:total 4 has_v8, has_v9, has_vis1, has_vis2, is_ultra3
Memory: 8k page, physical 8388608k(166384k free)
vm_info: Java HotSpot(TM) Server VM (1.5.0_03-b07) for solaris-sparc, built on Apr 13 2005 03:31:26 by unknown with unknown Workshop:0x550The very first suggestion I have is to move your VM to a more recent update of 1.5.0.
It looks like you are crashing with 5.0u3, and I'm pretty sure 5.0u16 is available. You
don't want to waste your time chasing a bug that's already been fixed. -
Segment fault (Core dump)
Hi
when i run the following Pro*c file in Unix Environment im getting the SEGMENTATION FAULT(CORE DUMP) error. I used DBX to debug the code. I couldnt find out the proper reason for this error form the dbx output.
This is the output i got from DBX.
*signal SEGV (no mapping at the fault address) in _doprnt at 0xfb98736c*
*0xfb98736c: _doprnt+0x2798: stb %o0, [%o1]*
I did the showmemuse and show leaks, the output for this commands :
(dbx) showmemuse
Checking for memory use...
Blocks in use report (blocks in use: 575 total size: 328086 bytes)
Total % of Num of Avg Allocation call stack
Size All Blocks Size
======= ==== ====== ====== =======================================
134876 41% 30 4495 kpummapg < kghgex
18098 5% 1 18098 lxldlbb < lxlinit < kpummpin < kpupin < sqgctx < sqgrct < sqlcmex < sqlcxt
16552 5% 4 4138 kogmapg < kghgex
16516 5% 4 4129 kogmapg < kogmasg
12288 3% 6 2048 nlhtnsl < nlhthnew
10350 3% 5 2070 calloc < nsbGetBFS
9688 2% 1 9688 kouogini < kouoini < kpuinit0 < kpuinit < sqgctx < sqgrct < sqlcmex < sqlcxt
8200 2% 1 8200 findbuf < doprnt < _fprintf < main
8120 2% 4 2030 sqlrlc < sqlcopydfn
8080 2% 1 8080 kpuinit0 < kpuinit < sqgctx < sqgrct < sqlcmex < sqlcxt < main
7168 2% 1 7168 calloc < nsgbliuc < nsgblini < niotns < nigcall < osncon < kpuadef < upiini
7168 2% 3 2389 lxldlod < lxdlobj
5976 1% 4 1494 sqlrlc < sqlcopydfn
4640 1% 1 4640 sqlrlc < sqldrl < sqlexp < sqlcmex < sqlcxt < get_pub_dates < main
4640 1% 1 4640 sqlrlc < sqlbrl < sqlexp < sqlcmex < sqlcxt < get_pub_dates < main
4128 1% 1 4128 calloc < nsgbliuc < nsgblini < niotns < nigcall < osncon < kpuadef < upiini
4024 1% 1 4024 sqlrlc < sqlbrl < sqlexp < sqlcmex < sqlcxt < get_pub_dates < main
3408 1% 1 3408 sqlrlc < sqldrl < sqlexp < sqlcmex < sqlcxt < get_pub_dates < main
2452 <1% 8 306 calloc < nsmal
2156 <1% 7 308 calloc < nlemfins
(dbx) showleaks
Checking for memory leaks...
Actual leaks report (actual leaks: 1 total size: 30 bytes)
Total Num of Leaked Allocation call stack
Size Blocks Block
Address
====== ====== ========== =======================================
30 1 0x9c9c8 getOutFileName < main
Possible leaks report (possible leaks: 0 total size: 0 bytes)
i know its because of Pad pointer and something related to Pointer or array overflow. But i couldnt find out where exactly happening....
Following is my Code, please help me to find out the error and what i need to change in my code:
#ifndef ORA_PROC
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <ctype.h>
#include <math.h>
#else
typedef struct FILE FILE;
#endif
/*** Added by TCS Begins ***/
char getOutFileName(char );
char getEnvVar(char );
void prepare_declare_oracle_cursors();
void get_calendar_dates();
void get_issues();
void get_master_cusip_no();
void get_run_date_finish();
void get_payments();
int get_pub_dates();
void get_rights();
void get_s_h_meetings();
void get_special_codes();
void get_agents();
void get_currency();
void get_payment_codes();
void get_issue_codes();
void get_standard_footnotes();
void get_index_codes();
void get_exchanges();
void get_tax_codes();
void get_tenders();
int check_if_holiday(int );
void sql_error(int , int , char *);
void login_error();
void no_pub_dates();
void no_cal_dates();
void no_finish_date();
void save_payment_footnote(char , char [3],int , char );
void save_issue_footnote(char );
int print_footnotes();
int print_foreign_tax();
int get_partial_run_time();
void save_rght_footnotes();
int print_supplimental();
int convert_tender_price(char *);
void pad_s_h_meetings();
int strip_out_codes(char *);
char *getSqlLogonString();
/**** TCS ADD Ends ****/
EXEC SQL INCLUDE sqlca;
EXEC SQL INCLUDE ddr_create_all_tapes.h;
#define TRUE 1
#define ORA_NOT_FOUND ( sqlca.sqlcode == 1403 )
/* The Definitions of SUCCESS and FAILURE were switched to test the
idea that SUCCESS should be Zero and FAILURE should be Non-Zero
#define SUCCESS 1
#define FAILURE 0
#define SUCCESS 0
#define FAILURE -1
#define SYSOK 0
#define SYSERR 1
#define DEBUGGING 0
#define DEBUG_LEVEL 0
/* #define DEBUGGING 1
#define DEBUG_LEVEL 2
int first_cal_date;
int footnote_count;
int foreign_count;
int last_cal_date;
int total_records;
int which_tape = 0;
char cusip_table_name[30];
char field_type_code;
char final_cusip_number[10];
/**** char footnote_text[300][300];
char foreign_text[60][100]; **** Commented by TCS as per the change request ****/
/*** Added by TCS as per the change request ***/
char footnote_text[200][300];
char foreign_text[200][300];
/*** TCS Add Ends ***/
char freq_type_code;
char init_cusip_number[10];
char rec_type_code;
char payment_where_clause[600];
char rights_where_clause[600];
char tenders_where_clause[600];
char s_h_meet_where_clause[600];
char last_run_time[18];
char supp_info_buffer[321];
int call_flag;
int tenders_flag;
int rights_flag;
int s_h_meet_flag;
int rght_foot_pos;
double hold_double;
int hold_int;
char hold_char[100];
int i=0;
FILE *fp;
FILE pfp; / this is used for a report file to correspond to
the partial tape file */
int main(int argc, char argv[]) / Modified by TCS */
char ddr_tape_name[100];
char ddr_partial_rpt[100];
char copyright_notice[100];
long file_position;
char *logname;
/* READ IN PARAMETERS AND SET UP VARIABLES */
memset (oracle_uid.arr, 0, sizeof(oracle_uid.arr));
memset (oracle_pwd.arr, 0, sizeof(oracle_pwd.arr));
strcpy (oracle_uid.arr, argv[1]);
oracle_uid.len = strlen(oracle_uid.arr);
strcpy (oracle_pwd.arr, argv[2]);
oracle_pwd.len = strlen(oracle_pwd.arr);
printf("Calling getSqlLogonString");
logname = getSqlLogonString();
which_tape = atoi(argv[1]);
memset (last_run_time, 0, sizeof(last_run_time));
if ( ( DEBUGGING ) && ( DEBUG_LEVEL > 1 ) )
printf ("Oracle username: %s\n", oracle_uid.arr);
printf ("Oracle password: %s\n", oracle_pwd.arr);
printf ("Oracle username/password@database: %s\n", logname); /** Added by TCS **/
printf ("Which Tape: %d\n", which_tape);
hold_double = 0.0;
hold_int = 0;
memset (hold_char, ' ', sizeof(hold_char));
EXEC SQL WHENEVER SQLERROR DO login_error();
/* EXEC SQL CONNECT :oracle_uid IDENTIFIED BY :oracle_pwd; */
EXEC SQL CONNECT :logname ;
printf ("Connected to ORACLE... \n");
EXEC SQL WHENEVER SQLERROR continue;
get_pub_dates();
memset (ddr_tape_name, 0, sizeof(ddr_tape_name));
memset (ddr_partial_rpt, 0, sizeof(ddr_partial_rpt));
memset (cusip_table_name, 0, sizeof(cusip_table_name));
memset (payment_where_clause, 0, sizeof(payment_where_clause));
memset (rights_where_clause, 0, sizeof(rights_where_clause));
memset (tenders_where_clause, 0, sizeof(tenders_where_clause));
memset (s_h_meet_where_clause, 0, sizeof(s_h_meet_where_clause));
/* SET UP VARIABLES BASED ON THE DIFFERENT FREQUENCY OF TAPE */
switch (which_tape)
case 0:
get_partial_run_time();
/*sprintf (ddr_tape_name,
"idb_tape$out:ddr_partial%1d.asc", p_count); ** Comented by TCS **/
sprintf (ddr_tape_name,"%s%1d.%s",getOutFileName("DDR_PARTIAL"),p_count,getEnvVar("DDR_PARTIAL_EXT_ASC")); /* Added by TCS */
strcpy (cusip_table_name,
"IDB.DDR_PARTIAL_TAPE_TABLE");
/*sprintf (ddr_partial_rpt,
"idb_tape$out:ddr_partial%1d.rpt", p_count); ** Commented by TCS **/
sprintf (ddr_partial_rpt,"%s%1d.%s",getOutFileName("DDR_PARTIAL"),p_count,getEnvVar("DDR_PARTIAL_EXT_RPT")); /* Added by TCS */
get_calendar_dates();
freq_type_code = '0';
sprintf (payment_where_clause,
"AND PYMT_PUB_DATE IS NULL \
AND ((PYMT_ADD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI') \
AND PYMT_ADD_DATE_TIME < TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')) \
OR (PYMT_UPD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI') \
AND PYMT_UPD_DATE_TIME < TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')))",
p_from.arr, p_to.arr, p_from.arr, p_to.arr);
sprintf (rights_where_clause,
"AND RGHT_PUB_DATE IS NULL \
AND ((RGHT_ADD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI') \
AND RGHT_ADD_DATE_TIME < TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')) \
OR (RGHT_UPD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI') \
AND RGHT_UPD_DATE_TIME < TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')))",
p_from.arr, p_to.arr, p_from.arr, p_to.arr);
sprintf (tenders_where_clause,
"AND TNDR_PUB_DATE IS NULL \
AND ((TNDR_ADD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI') \
AND TNDR_ADD_DATE_TIME < TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')) \
OR (TNDR_UPD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI') \
AND TNDR_UPD_DATE_TIME < TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')))",
p_from.arr, p_to.arr, p_from.arr, p_to.arr);
sprintf (s_h_meet_where_clause,
"AND SMTG_PUB_DATE IS NULL \
AND ((SMTG_ADD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI') \
AND SMTG_ADD_DATE_TIME < TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')) \
OR (SMTG_UPD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI') \
AND SMTG_UPD_DATE_TIME < TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')))",
p_from.arr, p_to.arr, p_from.arr, p_to.arr);
break;
case 3:
/* PARTIAL 5 */
get_partial_run_time();
p_count = 5;
/**sprintf (ddr_tape_name,
"idb_tape$out:ddr_partial%1d.asc", p_count); ** Comented by TCS **/
sprintf (ddr_tape_name,"%s%1d.%s",getOutFileName("DDR_PARTIAL"),p_count,getEnvVar("DDR_PARTIAL_EXT_ASC")); /* Added by TCS */
/* for testing only I am using seperate TABLE */
/**strcpy (cusip_table_name,
"IDB.DDR_PARTIAL5_TAPE_TABLE"); ** Commented by TCS **/
strcpy (cusip_table_name,
"IDB.DDR_PARTIAL_TAPE_TABLE");
/*sprintf (ddr_partial_rpt,
"idb_tape$out:ddr_partial%1d.rpt", p_count); ** Commented by TCS **/
sprintf (ddr_tape_name,"%s%1d.%s",getOutFileName("DDR_PARTIAL"),p_count,getEnvVar("DDR_PARTIAL_EXT_RPT")); /* Added by TCS */
get_calendar_dates();
freq_type_code = '3';
sprintf (payment_where_clause,
"AND ( (PYMT_ADD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')) \
OR (PYMT_UPD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')))",
p_to.arr, p_to.arr);
sprintf (rights_where_clause,
"AND ((RGHT_ADD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')) \
OR (RGHT_UPD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')))",
p_to.arr, p_to.arr);
sprintf (tenders_where_clause,
"AND ((TNDR_ADD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')) \
OR (TNDR_UPD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')))",
p_to.arr, p_to.arr);
sprintf (s_h_meet_where_clause,
"AND ((SMTG_ADD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')) \
OR (SMTG_UPD_DATE_TIME >= TO_DATE('%15.15s', 'DD-MON-RR HH24:MI')))",
p_to.arr, p_to.arr);
break;
case 1:
/**strcpy (ddr_tape_name,
"idb_tape$out:ddr_daily_tape.asc"); ** Commented by TCS **/
sprintf (ddr_tape_name,"%s",getOutFileName("DDR_DAILY_TAPE_ASC")); /* Added by TCS */
strcpy (cusip_table_name,
"IDB.DDR_DAILY_TAPE_TABLE");
get_calendar_dates();
freq_type_code = '1';
sprintf (payment_where_clause, "AND (PYMT_PUB_DATE \
= TO_DATE('%s','DD-MON-RR') OR PYMT_PUB_DATE IS NULL)", pub_to_date.arr);
sprintf (rights_where_clause, "AND (RGHT_PUB_DATE \
= TO_DATE('%s','DD-MON-RR') OR RGHT_PUB_DATE IS NULL)", pub_to_date.arr);
sprintf (tenders_where_clause, "AND (TNDR_PUB_DATE \
= TO_DATE('%s','DD-MON-RR') OR TNDR_PUB_DATE IS NULL)", pub_to_date.arr);
sprintf (s_h_meet_where_clause, "AND (SMTG_PUB_DATE \
= TO_DATE('%s','DD-MON-RR') OR SMTG_PUB_DATE IS NULL)", pub_to_date.arr);
break;
case 5:
/*strcpy (ddr_tape_name,
"idb_tape$out:ddr_weekly_tape.asc"); ** Commented by TCS **/
sprintf (ddr_tape_name, "%s",getOutFileName("DDR_WEEKLY_TAPE_ASC")); /* Added by TCS */
strcpy (cusip_table_name,
"IDB.DDR_WEEKLY_TAPE_TABLE");
get_calendar_dates();
freq_type_code = '2';
sprintf (payment_where_clause, "AND (PYMT_PUB_DATE \
BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR PYMT_PUB_DATE IS NULL)",
pub_from_date.arr, pub_to_date.arr);
sprintf (rights_where_clause, "AND (RGHT_PUB_DATE \
BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR RGHT_PUB_DATE IS NULL)",
pub_from_date.arr, pub_to_date.arr);
sprintf (tenders_where_clause, "AND (TNDR_PUB_DATE \
BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR TNDR_PUB_DATE IS NULL)",
pub_from_date.arr, pub_to_date.arr);
/* ram - 6/28/95 - reverted back to original criteria: */
/* include on weekly tape based on pub-date, regardless of */
/* whether in calendar or not */
sprintf (s_h_meet_where_clause, "AND (SMTG_PUB_DATE \
BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR SMTG_PUB_DATE IS NULL)",
pub_from_date.arr, pub_to_date.arr);
break;
case 12:
/* ram - 7/13/95 */
/* changed monthly "6" to "12" */
/*strcpy (ddr_tape_name,
"idb_tape$out:ddr_monthly_tape.asc"); ** Commented by TCS **/
sprintf (ddr_tape_name, "%s", getOutFileName("DDR_MONTHLY_TAPE_ASC")); /* Added by TCS */
strcpy (cusip_table_name,
"IDB.DDR_MONTHLY_TAPE_TABLE");
freq_type_code = '3';
sprintf (payment_where_clause, "AND (PYMT_PUB_DATE \
BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR PYMT_PUB_DATE IS NULL)",
pub_from_date.arr, pub_to_date.arr);
sprintf (rights_where_clause, "AND (RGHT_PUB_DATE \
BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR RGHT_PUB_DATE IS NULL)",
pub_from_date.arr, pub_to_date.arr);
sprintf (tenders_where_clause, "AND (TNDR_PUB_DATE \
BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR TNDR_PUB_DATE IS NULL)",
pub_from_date.arr, pub_to_date.arr);
break;
case 8:
/*strcpy (ddr_tape_name,
"idb_tape$out:ddr_quarterly_tape.asc");** Commented by TCS **/
sprintf (ddr_tape_name,"%s",getOutFileName("DDR_QUARTERLY_TAPE_ASC")); /* Added by TCS */
strcpy (cusip_table_name,
"IDB.DDR_QUARTERLY_TAPE_TABLE");
freq_type_code = '3';
sprintf (payment_where_clause, "AND (PYMT_PUB_DATE \
BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR PYMT_PUB_DATE IS NULL)",
pub_from_date.arr, pub_to_date.arr);
sprintf (rights_where_clause, "AND (RGHT_PUB_DATE \
BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR RGHT_PUB_DATE IS NULL)",
pub_from_date.arr, pub_to_date.arr);
sprintf (tenders_where_clause, "AND (A.TNDR_TENDER_DATE \
= TO_DATE('%s','DD-MON-RR'))", pub_to_date.arr); break;
case 9:
/*strcpy (ddr_tape_name,
"idb_tape$out:ddr_annual_tape.asc"); ** Comented by TCS **/
sprintf (ddr_tape_name,"%s", getOutFileName("DDR_ANNUAL_TAPE_ASC")); /* Added by TCS */
strcpy (cusip_table_name,
"IDB.DDR_ANNUAL_TAPE_TABLE");
freq_type_code = '4';
sprintf (payment_where_clause, "AND (PYMT_PUB_DATE \
BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') \
OR PYMT_PUB_DATE = TO_DATE('29-OCT-1929','DD-MON-YYYY'))",
pub_from_date.arr, pub_to_date.arr);
sprintf (rights_where_clause, "AND (RGHT_PUB_DATE \
BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR RGHT_PUB_DATE IS NULL)",
pub_from_date.arr, pub_to_date.arr);
sprintf (tenders_where_clause, "AND (A.TNDR_TENDER_DATE \
= TO_DATE('%s','DD-MON-RR'))", pub_to_date.arr); break;
case 15:
/*strcpy (ddr_tape_name,
"idb_tape$out:ddr_general_tape.asc"); ** Commented by TCS **/
sprintf (ddr_tape_name,"%s", getOutFileName("DDR_GENERAL_TAPE_ASC")); /* Added by TCS */
strcpy (cusip_table_name,
"IDB.DDR_GENERAL_TAPE_TABLE");
freq_type_code = '3';
sprintf (payment_where_clause, "AND (PYMT_PUB_DATE \
BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR PYMT_PUB_DATE IS NULL)",
pub_from_date.arr, pub_to_date.arr);
sprintf (rights_where_clause, "AND (RGHT_PUB_DATE \
BETWEEN to_date('%s','DD-MON-RR') AND to_date('%s','DD-MON-RR') OR RGHT_PUB_DATE IS NULL)",
pub_from_date.arr, pub_to_date.arr);
sprintf (tenders_where_clause, "AND (A.TNDR_TENDER_DATE \
= TO_DATE('%s','DD-MON-RR'))", pub_to_date.arr); break;
default:
exit (printf ("Invalid tape option: %d\n", which_tape)); /*** %s changed by TCS to %d ***/
break;
if ((fp = fopen(ddr_tape_name, "w+")) == NULL)
exit (printf ("Unable to open asc <%s> file for write access\n",
ddr_tape_name));
/* GR. Partial 5
if (which_tape == 0 || which_tape == 3 )
if ((pfp = fopen(ddr_partial_rpt, "w+")) == NULL)
exit (printf ("Unable to open asc <%s> file \
for write access\n", ddr_partial_rpt));
/* WRITE THE HEADER RECORD ON THE TAPE */
memset (copyright_notice, 0, sizeof(copyright_notice));
sprintf (copyright_notice, "COPYRIGHT (c) %.4s STANDARD & POOR'S \
CORPORATION. ALL RIGHTS RESERVED", year.arr);
fprintf (fp, "%-80.80sDIVIDEND%8d%17.17s ",
copyright_notice, control_date, run_date_start.arr);
file_position = ftell(fp);
fprintf (fp, "\n");
total_records = 0;
/* GET THE SPECIAL CATEGORY RECORDS */
get_special_codes();
/* SELECT FROM THE DRIVER TABLE TO GET ALL THE OTHER RECORDS */
get_master_cusip_no();
printf("After get_master_cusip_no()");
get_run_date_finish();
printf("After get_run_date_finish()");
if ( DEBUGGING )
printf ("initial cusip = %s\n", init_cusip_number);
printf ("final cusip = %s\n", final_cusip_number);
printf ("record type is %c\n", rec_type_code);
/* WRITE THE TRAILER RECORD */
fprintf (fp, "%8d%-17.17s%07d%-9.9s1%-9.9s%c\n", control_date,
run_date_finish.arr, total_records, init_cusip_number , final_cusip_number,
rec_type_code);
/* re-wind and add to the header record ... */
rewind(fp);
fseek(fp, file_position - 33, 0);
fprintf (fp, "%07d%-9.9s1%-9.9s%c", total_records, init_cusip_number,
final_cusip_number, rec_type_code);
fclose(fp);
/* GR Partial 5
if (which_tape == 0 || which_tape == 3 )
fclose(pfp);
printf ("\nDONE: %07d%-9.9s1%-9.9s%c\n", total_records, init_cusip_number,
final_cusip_number, rec_type_code);
return (0); /*** Added by TCS ***/
void prepare_declare_oracle_cursors() /* Modified by TCS */
/* We'll us dynamic sql to get the appropriate where clause but use */
/* a bind variable for the master cusip number. So we prepare and */
/* declare get_issues, get_payments, get_tenders, get rights, and */
/* get_s_h_meetings cursors only once, outside the driving loop. */
EXEC SQL BEGIN DECLARE SECTION;
/**** TCS Comment begins as per the change request ****
VARCHAR sql_stmt1[1500];*/ /* issues */
/*VARCHAR sql_stmt2[3000]; *//* payments */
/*VARCHAR sql_stmt3[500]; *//* tenders */
/*VARCHAR sql_stmt4[500]; *//* rights */
/*VARCHAR sql_stmt5[500]; *//* s_h_meetings */
/**** TCS Add begins as per the change request ****/
VARCHAR sql_stmt1[2000]; /* issues */
VARCHAR sql_stmt2[4000]; /* payments */
VARCHAR sql_stmt3[1000]; /* tenders */
VARCHAR sql_stmt4[1000]; /* rights */
VARCHAR sql_stmt5[1000]; /* s_h_meetings */
/**** TCS Add ends ****/
EXEC SQL END DECLARE SECTION;
/* prepare and declare the get_issues cursor */
memset (sql_stmt1.arr, 0, sizeof(sql_stmt1.arr));
sprintf (sql_stmt1.arr, "SELECT \
A.ISSU_PAR_VALUE, \
DECODE (A.ISSU_MARKET_SYMBOL||A.ISSU_NASDAQ,'OTCY','NASD', A.ISSU_MARKET_SYMBOL), \
A.ISSU_C_RATE, A.ISSU_C_FREQ, A.ISSU_C_NEW_AMOUNT, A.ISSU_C_NEW_Q1, \
A.ISSU_C_NEW_Q2, A.ISSU_C_NEW_Q3, A.ISSU_C_OLD_AMOUNT, A.ISSU_C_OLD_Q1, \
A.ISSU_C_OLD_Q2, A.ISSU_C_OLD_Q3, A.ISSU_CURRENCY, \
A.ISSU_UPD_HIS, A.ISSU_COMMENT, A.TAX_EXEMPT_FLAG,\
B.SEC_TYPE_CODE, B.ACQ_BY_IND, B.ACQ_ISSUER_NO, \
rtrim(substr(B.ACQ_ISSUER_DESCR,1,30)), \
B.INDEX_CODE, B.TRFR_AGT_CODE, B.NY_AGT_CODE, B.TICKER_SYMBOL, \
B.TICKER_SYMBOL2, \
rtrim(substr(C.ISSR_DDR_ISSUER_DESCR,1,60)), \
rtrim(substr(E.ISSUE_DESCR,1,30)), \
rtrim(substr(D.ISSUER_DESCR1,1,30)), \
F.TRFR_DAYS \
FROM IDB.DDR_ISSUES A, IDB.DDR_ISSUES_2 B, IDB.DDR_ISSUERS C, \
BLIS.CUSIP_ISSUERS D, BLIS.CUSIP_ISSUES E, IDB.DDR_TRANSFER F \
WHERE A.ISSU_CUSIP_NO = :master_cusip_no \
AND A.ISSU_CUSIP_NO = B.ISSU_CUSIP_NO(+) \
AND SUBSTR(A.ISSU_CUSIP_NO, 1, 6) = C.ISSR_ISSUER_NO(+) \
AND SUBSTR(A.ISSU_CUSIP_NO, 1, 6) = D.ISSUER_NO \
AND A.ISSU_CUSIP_NO = E.CUSIP_NO \
AND A.ISSU_TRANSFER_CODE = F.TRFR_TR_CD(+) ");
sql_stmt1.len = strlen(sql_stmt1.arr);
EXEC SQL PREPARE ISSUES FROM :sql_stmt1;
if (sqlca.sqlcode)
sql_error (SYSERR, sqlca.sqlcode,
"Error in preparing ISSUES");
EXEC SQL DECLARE ISSUES_C CURSOR FOR ISSUES;
if (sqlca.sqlcode)
sql_error (SYSERR, sqlca.sqlcode,
"Error in declaring ISSUES");
/* now the get_payments cursor */
memset (sql_stmt2.arr, 0, sizeof(sql_stmt2.arr));
sprintf (sql_stmt2.arr, "SELECT \
a.PYMT_RP_DIV, \
a.PYMT_RP_DEC, \
a.PYMT_RP_EXD, \
a.PYMT_RP_REC, \
a.PYMT_RP_PAY, \
a.PYMT_RP_DUE, \
a.PYMT_RP_TAX, \
a.PYMT_RP_ANN, \
a.PYMT_PRP_DIV, \
a.PYMT_PRP_DEC, \
a.PYMT_PRP_EXD, \
a.PYMT_PRP_REC, \
a.PYMT_PRP_PAY, \
a.PYMT_PRP_DUE, \
a.PYMT_PRP_TAX, \
a.PYMT_PRP_ANN, \
NVL(a.PYMT_SEQ_NO,0), \
TO_CHAR(a.PYMT_DECLARED, 'YYMMDD'), \
TO_CHAR(a.PYMT_EX_DATE, 'YYMMDD'), \
TO_CHAR(a.PYMT_STK_REC, 'YYMMDD'), \
TO_CHAR(a.PYMT_TRANSFER_DATE, 'YYMMDD'), \
TO_CHAR(a.PYMT_PAYABLE, 'YYMMDD'), \
a.PYMT_CODES, \
NVL(a.PYMT_CASH_DIVD,0.0), \
NVL(b.ORDINARY_INCOME,0.0), \
NVL(b.CAP_GAINS,0.0), \
NVL(b.SHORT_TM_CAP_GAINS,0.0), \
NVL(b.LONG_TM_CAP_GAINS,0.0), \
NVL(b.RETURN_OF_CAPITAL,0.0), \
b.STK_DIVD_IND, \
NVL(a.PYMT_STK_DIVD,0), \
b.FRAC_IN_CASH_STK_IND, \
NVL(b.FRAC_IN_CASH_PRICE,0.0), \
NVL(a.PYMT_SPLIT_NEW,0), \
NVL(a.PYMT_SPLIT_OLD,0), \
TO_CHAR(a.PYMT_DB_DATE, 'YYMMDD'), \
NVL(b.ARREARS_PAID,0.0), \
NVL(b.ARREARS_DUE,0.0), \
b.SPINOFF_IND, \
b.SPINOFF_ISSUE_NO, \
b.SPINOFF_ISSUER_DESCR, \
b.SPINOFF_ISSUE_DESCR, \
NVL(b.TAX_CODE,0), \
NVL(b.TAX_CODE_2,0), \
NVL(b.OLD_SEQ_NO,0), \
b.ORDINARY_INCOME_CODE, \
b.CAP_GAINS_CODE, \
b.SHORT_TM_CAP_GAINS_CODE, \
b.LONG_TM_CAP_GAINS_CODE, \
b.RETURN_OF_CAPITAL_CODE, \
TO_CHAR(b.CALL_DATE, 'YYMMDD'), \
NVL(b.CALL_PRICE,0.0), \
b.CALL_PRICE_CURRENCY, \
b.CALL_AGT_NO, \
b.ACCRUED_DIVD_IND, \
TO_CHAR(a.PYMT_DB_DATE, 'YYMMDD'), \
a.PYMT_DB_TEXT, \
a.PYMT_DVD_TEXT, \
a.PYMT_YEAR, \
TO_CHAR(a.PYMT_STK_REC, 'fmMon dd'), \
TO_CHAR(a.PYMT_DB_DATE, 'fmMon dd'), \
b.NY_CALL_AGT_NO, \
NVL(b.FOREIGN_TAX_RATE, 0.0), \
NVL(b.NET_RATE, 0.0), \
NVL(b.FEE, 0.0), \
NVL(b.COMMISSION, 0.0), \
a.PYMT_CASH_DIVD_FNS, \
a.PYMT_STK_DIVD_FNS, \
a.PYMT_DECLARED_FNS, \
a.PYMT_EX_DATE_FNS, \
a.PYMT_STK_REC_FNS, \
a.PYMT_PAYABLE_FNS, \
a.PYMT_SPLIT_FNS, \
NVL (TO_NUMBER (TO_CHAR(a.PYMT_PUB_DATE, 'YYYYMMDD')), 0), \
NVL (TO_NUMBER (TO_CHAR(a.PYMT_TRANSFER_DATE, 'YYYYMMDD')), 0), \
NVL (TO_NUMBER (TO_CHAR(a.PYMT_STK_REC, 'YYYYMMDD')), 0), \
NVL (TO_NUMBER (TO_CHAR(a.PYMT_DB_DATE, 'YYYYMMDD')), 0) \
FROM IDB.DDR_PAYMENTS A, IDB.DDR_PAYMENTS_2 B \
WHERE A.PYMT_CUSIP_NO = :master_cusip_no \
AND A.PYMT_CUSIP_NO = B.PYMT_CUSIP_NO (+) \
AND A.PYMT_SEQ_NO = B.PYMT_SEQ_NO (+) \
AND NVL(INSTR(A.PYMT_CODES,'CO'),0) NOT IN (1,3,5,7,9,11) ");
strcat (sql_stmt2.arr, payment_where_clause);
sql_stmt2.len = strlen(sql_stmt2.arr);
EXEC SQL PREPARE PAYMENTS FROM :sql_stmt2;
if (sqlca.sqlcode)
sql_error (SYSERR, sqlca.sqlcode,
"Error in preparing PAYMENTS");
EXEC SQL DECLARE PAYMENTS_C CURSOR FOR PAYMENTS;
if (sqlca.sqlcode)
sql_error (SYSERR, sqlca.sqlcode,
"Error in declaring PAYMENTS");
/* now the get_tenders cursor */
memset (sql_stmt3.arr, 0, sizeof(sql_stmt3.arr));
/* FXL ADD SUBSTR to tndr_price_qual: substr(A.TNDR_PRICE_QUAL,1,14), 3/23/99,
to to_number 3/29/99 */
sprintf (sql_stmt3.arr, "SELECT \
B.TNDR_AGT_NO, \
B.NY_AGT_NO, \
TO_CHAR(A.TNDR_TENDER_DATE, 'YYMMDD'), \
A.TNDR_PRICE, \
to_number(A.TNDR_PRICE_QUAL), \
A.TNDR_TE_SIZE, \
TNDR_TE_TEXT_1 \
FROM IDB.DDR_TENDERS A, IDB.DDR_TENDERS_2 B \
WHERE TNDR_CUSIP_NO = :master_cusip_no \
AND TNDR_CUSIP_NO = TNDR_ISSUE_NO(+) \
AND A.TNDR_TENDER_DATE = B.TNDR_TENDER_DATE(+) ");
strcat (sql_stmt3.arr, tenders_where_clause);
sql_stmt3.len = strlen(sql_stmt3.arr);
EXEC SQL PREPARE TENDERS FROM :sql_stmt3;
if (sqlca.sqlcode)
sql_error (SYSERR, sqlca.sqlcode,
"Error in preparing TENDERS");
EXEC SQL DECLARE TENDERS_C CURSOR FOR TENDERS;
if (sqlca.sqlcode)
sql_error (SYSERR, sqlca.sqlcode,
"Error in declaring TENDERS");
/* now the get_rights cursor */
memset (sql_stmt4.arr, 0, sizeof(sql_stmt4.arr));
/* ADD TO_CHAR(A.RGHT_DB_DATE, 'YYMMDD') */
sprintf (sql_stmt4.arr, "SELECT \
B.NO_RIGHTS_ISSUED, \
B.SHS_REQ_FOR_PURCH, \
B.RGHTS_REQUIRED, \
B.QTY_SHS_PURCHASED, \
B.TYPE_SHS_ELIGIBLE, \
B.NEW_SHS_CUSIP_NO, \
B.NEW_CO_ISSUER_DESCR, \
TO_CHAR(A.RGHT_RECORD, 'YYMMDD'), \
TO_CHAR(A.RGHT_EX_DATE, 'YYMMDD'), \
TO_CHAR(B.NYC_RECORD_DATE, 'YYMMDD'), \
TO_CHAR(A.RGHT_EXPIRE, 'YYMMDD'), \
TO_CHAR(A.RGHT_DB_DATE, 'YYMMDD'), \
A.RGHT_PRICE, \
NVL(A.RGHT_RECORD_FNS,' '), \
NVL(A.RGHT_EXPIRE_FNS,' '), \
NVL(A.RGHT_EX_DATE_FNS,' '), \
NVL(A.RGHT_PRICE_FNS,' '), \
NVL(A.RGHT_BASIS_FNS,' '), \
A.RGHT_FOOTNOTE, \
B.US_INELIGIBILITY_IND, \
B.RGHT_TRFR_IND \
FROM IDB.DDR_RIGHTS A, IDB.DDR_RIGHTS_2 B \
WHERE RGHT_CUSIP_NO = :master_cusip_no \
AND RGHT_CUSIP_NO = RGHT_ISSUE_NO(+) \
AND A.RGHT_RECORD = B.RGHT_RECORD_DATE(+) ");
strcat (sql_stmt4.arr, rights_where_clause);
sql_stmt4.len = strlen(sql_stmt4.arr);
EXEC SQL PREPARE RIGHTS FROM :sql_stmt4;
if (sqlca.sqlcode)
sql_error (SYSERR, sqlca.sqlcode,
"Error in preparing RIGHTS");
EXEC SQL DECLARE RIGHTS_C CURSOR FOR RIGHTS;
if (sqlca.sqlcode)
sql_error (SYSERR, sqlca.sqlcode,
"Error in declaring RIGHTS");
/* ram - added logic on 7/18/95 */
/* for the standard footnotes cursor */
EXEC SQL DECLARE STANDARD_FOOTNOTES_C CURSOR
FOR
SELECT SFTN_S_F_TEXT, SFTN_S_F_TYPE
FROM IDB.DDR_STANDARD_FOOTNOTES
WHERE SFTN_S_F_TYPE = :standard_footnote_type;
if (sqlca.sqlcode)
sql_error (SYSERR, sqlca.sqlcode,
"Error in declaring STANDARD_FOOTNOTES");
/* now the issue footnotes cursor */
EXEC SQL DECLARE ISSUE_FOOTNOTES_C CURSOR
FOR
SELECT FTNT_F_TEXT, FTNT_F_TYPE
FROM IDB.DDR_FOOTNOTES
WHERE FTNT_CUSIP_NO = :master_cusip_no
AND FTNT_SYMBOL = :footnote_symbol
AND FTNT_YEAR IS NULL;
if (sqlca.sqlcode)
sql_error (SYSERR, sqlca.sqlcode,
"Error in declaring ISSUE_FOOTNOTES");
/* now the payment footnotes cursor */
EXEC SQL DECLARE PAYMENT_FOOTNOTES_C CURSOR
FOR
SELECT FTNT_F_TEXT, FTNT_F_TYPE
FROM IDB.DDR_FOOTNOTES
WHERE FTNT_CUSIP_NO = :master_cusip_no
AND FTNT_SYMBOL = :footnote_symbol
AND FTNT_YEAR = :footnote_year;
if (sqlca.sqlcode)
sql_error (SYSERR, sqlca.sqlcode,
"Error in declaring PAYMENT_FOOTNOTES");
/* now the get_s_h_meetings cursor */
/* ONLY for certain tape types. */
/* GR PARTial 5
if (which_tape == 0 || which_tape == 3 || which_tape == 1 || which_tape == 5)
memset (sql_stmt5.arr, 0, sizeof(sql_stmt5.arr));
/* ram - 6/15/95 - changed ORigunal to smtg */
/* TO_CHAR(ORIGINAL_REC_DATE, 'YYMMDD'), \ */
sprintf (sql_stmt5.arr, "SELECT \
TO_CHAR(SMTG_MTG_DATE, 'YYMMDD'), \
TO_CHAR(SMTG_REC_DATE, 'YYMMDD'), \
SMTG_FOOTNOTE \
FROM IDB.DDR_S_H_MEETINGS \
WHERE SMTG_CUSIP_NO = :master_cusip_no ");
strcat (sql_stmt5.arr, s_h_meet_where_clause);
sql_stmt5.len = strlen(sql_stmt5.arr);
EXEC SQL PREPARE S_H_MEET FROM :sql_stmt5;
if (sqlca.sqlcode)
sql_error (SYSERR, sqlca.sqlcode,
"Error in preparing S_H_MEET");
EXEC SQL DECLARE S_H_MEET_C CURSOR FOR S_H_MEET;
if (sqlca.sqlcode)
sql_error (SYSERR, sqlca.sqlcode,
"Error in declaring S_H_MEET");
} /* end of if (which_tape == 0 || which_tape == 1 || which_tape == 5) */
/* replaced get_calendar_dates function with use of PLSQL - ram - 5/24/95 */
void get_calendar_dates() /* Modified by TCS */
/* put first and last calendar dates into global ints */
/* first_cal_date and last_cal_date (YYYYMMDD) using */
/* ddr package function get_business_days. */
/* The package object ddr is owned by idb, so I'll */
/* specify this, just in case accounts other than idb */
/* run this code. (EXECUTE priviledge is granted to */
/* "idb_user" role.) */
EXEC SQL BEGIN DECLARE SECTION;
int cal_start;
int cal_end;
int return_val;
EXEC SQL END DECLARE SECTION;
/* initialize destination globals */You actually need to run it with "check -access"; memuse and leaks won't help with the crash, which happens because of illegal memory access. Hopefully, "check -access" will help you to locate the bad guy, but that's not panacea either.
To be precise:
- start dbx
$ dbx <your app>
- issue
(dbx) check -access
(dbx) run
and wait for dbx to stop and report suspicious memory access. -
Investigation on JVM crash without core dump (by JIT compiler)
Hi, All
I posted "JVM crash without core dump due to CompilerThread1" couple months ago.
http://forum.java.sun.com/thread.jspa?threadID=5253434
I would like show what we found, and ask couple questions
1) The reason of JVM crash is "CompilerThread0/1 wanted to allocate more native memory and eventually exceeded the limit of 32-bit Linux (on Redhat, the limit of VIRT is 3G)
2) After we lower the heap size (to reduce process size) and added process size monitor (track process size every minute) and JIT compilation log (-XX:+PrintCompilation),
We found sometimes JVM process jumped more than 800M when compiling one method. with the following log
Total time for which application threads were stopped: 0.1997400 seconds
5828 xxx.xxx.SomeClass::someMethod (1507 bytes)
5828 COMPILE SKIPPED: out of nodes during split (not retryable)
549002.449: [GC [PSYoungGen: 517897K->28390K(551296K)] 942855K->453348K(1229952K), 0.0726350 secs]
if we saw "COMPILE SKIPPED: out of nodes during split (not retryable)", the process size of JVM (VIRT/RES) always jumped 800M~1000M, and sometimes the memory get reverted in 30mins to couple hours, and sometimes it lasted forever. (so before we have larger footprint, this jump will kill JVM, right now, if the jump lasts forever, any more allocation on top of it also can kill jvm (much rare))
3) This is definitely a bug of JVM, because
it only happened on server mode, not client mode
it is random, that method can be compiled success on other JVM or next restart (we have 20 JVMs)
the method is not that complicate, like 100 lines, (bigger method gets compiled success)
this only happen on PROD environment, we can't reproduce it locally or QA (the method is always compiled success)
It mostly like under some condition (maybe node space is not enough), to compile that method will trigger JVM trying to allocate much more native memory.
4) We are going to disable this method by ".hotspot_compiler" to fix it, right now we are using lower footprint, JVM dies rarely.
+To understand more about this, I have some questions about JIT compiling+
I saw same method are compiled more than once from JIT log, like the method caused our problem, it only happens on 2nd time compilation.
Is it that JIT compiler will recompile the method with deeper optimization level some time, and more optimization it uses, the more memory it requires?
(like gcc has -O2 -O3)
Thanks!
NeoToday, one JVM crashed again, with
{Heap before gc invocations=4188:
PSYoungGen total 540864K, used 487958K [0x8ba50000, 0xb1250000, 0xb1250000)
eden space 467328K, 100% used [0x8ba50000,0xa82b0000,0xa82b0000)
from space 73536K, 28% used [0xa82b0000,0xa96d5850,0xaca80000)
to space 71680K, 0% used [0xacc50000,0xacc50000,0xb1250000)
ParOldGen total 1024000K, used 493477K [0x4d250000, 0x8ba50000, 0x8ba50000)
object space 1024000K, 48% used [0x4d250000,0x6b439610,0x8ba50000)
PSPermGen total 101760K, used 101240K [0x2d250000, 0x335b0000, 0x4d250000)
object space 101760K, 99% used [0x2d250000,0x3352e1f8,0x335b0000)
405290.711: [GC [PSYoungGen: 487958K->17397K(544192K)] 981435K->518248K(1568192K), 0.0769350 secs]
Heap after gc invocations=4188:
PSYoungGen total 544192K, used 17397K [0x8ba50000, 0xb1250000, 0xb1250000)
eden space 472512K, 0% used [0x8ba50000,0x8ba50000,0xa87c0000)
from space 71680K, 24% used [0xacc50000,0xadd4d480,0xb1250000)
to space 70208K, 0% used [0xa87c0000,0xa87c0000,0xacc50000)
ParOldGen total 1024000K, used 500851K [0x4d250000, 0x8ba50000, 0x8ba50000)
object space 1024000K, 48% used [0x4d250000,0x6bb6cf70,0x8ba50000)
PSPermGen total 101760K, used 101240K [0x2d250000, 0x335b0000, 0x4d250000)
object space 101760K, 99% used [0x2d250000,0x3352e1f8,0x335b0000)
Total time for which application threads were stopped: 0.0779620 seconds
Exception in thread "CompilerThread1" java.lang.OutOfMemoryError: requested 4522768 bytes for Chunk::new. Out of swap space? -
MDM installation on AIX 5.3 core dumps
Hi all,
We installed MDM 5.5 SP4 on AIX 5.3 ML 5 (and the latest patches were applied last week-end).
The MDM Server, Import and Syndication daemons are started.
Database is Oracle 10.2 (corresponding Oracle client is used), installed on the same server.
MDM client software is in sync with the server level.
Since the installation, we get core dumps of the mds daemon (even when trying to perform the most basic operations). Consider it to be completely unusable for testing anything. You look at it, it breaks. Sorry, but that is how it is.
MDM Patches and hotfixes to the patches have been applied up to the latest level The problem is reported at SAP Support and they have core dumps, logfiles, trace files for studying. So far, the only feedback we got was to install MDM on its own server (it is a trial installation on a server where other applications are running - though I can hardly see that as a cause for core dumps).
My questions :
- are we unique in running MDM on this software paltform ?
- are others (if they exist experiencing the same problems on AIX 5.3 ?
To be honest : for the moment we are thinking about reinstalling on a Windows server.
Thanks in advance for any feedback,
Frank Van OverloopHello,
we have finally made some progress on this issue.
Basically, we suffered from a combination of :
- wrong usage of the product
- probably shaky exception handling in the AIX version
The cause was found by SAP MDM support after we reconstructed the problem while using a special debug-version of the mds executable. This produced a usable dump.
--- extract from the SAP reply -
The core dump shows a crash in recalculating the family tree after the
import. Family tree is being used only to create printed catalogs (which require the publisher and an additional license).
1) Do you have any value in the categories table?
2) Does the MDM server crash if you cancel the automatic family tree
recalculation in the import map, and answer "no" in the dialog box which asks to recalculate the family tree?
3) Do you intend to create a printed catalog?
If the answer to any of the questions is "no", then this asserts that
the recalculation of the family tree should not take place at all. In
this case the family table could/should be deleted. And this should not
reoccur.
end extract -
After we deleted this family table, the tests are running stable.
It's a pity that the program does not 'die' in a more elegant way or gives some understandable indication on what is going wrong.
It also looks like this exception is handled better on the Windows implementation. The same 'functional mistake' was made there and this produced no dumps at all. Could be a porting issue from one platform to another.
Regards,
Frank -
Core dump when starting extract, no error messages
Hello,
This is a basic one way replication, Data Pump and Replicat start but Extract stops at once.
In ggserr.log there's only a message: EXTRACT EORATE02 starting, nothing else. In ggsci it can be seen that it's stopped.
CHECKPARAMS didn't give the message "Parameters processed successfully", neither did it give error messages
when starting the extract.
There are no old Oracle processes which could prevent Extract from starting.
There's EORATE02.pce in dirpcs, although EORATE02 is not running. If I delete it and try to start the extract,
the extract will immediately stop.
A core file has been created in GG_HOME when trying to start the extract. I haven't been able to find out how to read it.
Source and target are on Aix 6100-06. The source database is Oracle 10.1.0.5, target database is Oracle 11.2.0.3.
The installation files are V32435-01.zip for db 10.1.0.5 (ggs_AIX_ppc_ora10.1_64bit.tar), V32437-01.zip
for db 11.2.0.3 (ggs_AIX_ppc_ora11g_64bit.tar). This is GoldenGate 11.2.1.0.1.
The db:s are on Asm.
There's only 1 table in source, 1 in target, they are identical and empty.
There's enough space in the OS.
If I run the extract in OS (extract paramfile dirprm/eorate02.prm), it ends like this without more information:
TRANLOGOPTIONS ASMUSER ggs_owner@HOSTNAME:1521/+ASM , ASMPASSWORD *********
Abort(coredump)
This happens in both ways of extract described below.
(1)
EXTRACT EORATE02
USERID ggs_owner, PASSWORD [PASSWORD]
EXTTRAIL ./dirdat/data02/te
TRANLOGOPTIONS ASMUSER ggs_owner@HOSTNAME:1521/+ASM , ASMPASSWORD [PASSWORD]
TABLE USER.myobjects2;
(2)
EXTRACT EORATE02
USERID ggs_owner, PASSWORD [PASSWORD]
EXTTRAIL ./dirdat/data02/te
tranlogoptions COMPLETEARCHIVEDLOGONLY ALTARCHIVELOGDEST /backup/arch_log/abcd/ABCD/archivelog
TRANLOGOPTIONS ASMUSER ggs_owner@HOSTNAME:1521/+ASM , ASMPASSWORD [PASSWORD]
TABLE USER.myobjects2;
Here's more information on this setup and commands which have been used:
add extract EORATE02 tranlog begin now, threads 1
add exttrail ./dirdat/data02/te, extract EORATE02, megabytes 5
EXTRACT EPMPTE02
PASSTHRU
RMTHOST HOSTNAME, MGRPORT 13447
RMTTRAIL /u01/app/oracle/gg11210/for_11g/dirdat/data02/tr
TABLE USER.myobjects2;
ADD EXTRACT EPMPTE02 EXTTRAILSOURCE ./dirdat/data02/te
ADD RMTTRAIL /u01/app/oracle/gg11210/for_db11/dirdat/data02/tr EXTRACT EPMPTE02, MEGABYTES 5
Target
REPLICAT RORATE02
USERID ggs_owner, PASSWORD [PASSWORD]
HANDLECOLLISIONS
ASSUMETARGETDEFS
DISCARDFILE ./dirrpt/RORATE02.DSC, PURGE
MAP USER.MYOBJECTS2, TARGET USER.MYOBJECTS2;
add replicat RORATE02, exttrail /u01/app/oracle/gg11210/for_11g/dirdat/data02/tr
add checkpointtable ggs_owner.ggschkpt
Grants
Source:
grant connect, resource to ggs_owner;
grant select any dictionary, select any table to ggs_owner;
grant create table, alter any table to ggs_owner;
grant flashback any table to ggs_owner;
grant execute on dbms_flashback to ggs_owner;
grant execute on utl_file to ggs_owner;
grant create session, alter session to ggs_owner;
Target:
grant create session, alter session, resource, connect, select any dictionary to ggs_owner;
grant select any table, insert any table, update any table, delete any table to ggs_owner;
grant create table, alter any table, lock any table to ggs_owner;
Source
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
ggsci add trandata USER.myobjects2
mgr.prm
--GoldenGate Manager parameter file
PORT 13346
Target
GLOBALS
CHECKPOINTTABLE ggs_owner.ggschkpt
mgr.prm
--GoldenGate Manager parameter file
PORT 13447
Thanks for reading this far. Possible comments will be much appreciated!
Best regards
Edited by: user11323660 on 14.6.2012 6:39
Edited by: user11323660 on 14.6.2012 6:41Hello,
Could you wrap your process definitions in proper code brackets so its easier to understand.
Also I'm not sure what your problem is other then you are receiving core dumps. I'm happy to help.
Two small comment though regarding your ASM config
1 . Dont not use ggs_owner as the asm user
TRANLOGOPTIONS ASMUSER ggs_owner@HOSTNAME:1521/+ASM , ASMPASSWORD *********2. Create a TNSNAMES entry for your ASM instance and tehn use the following:
TRANLOGOPTIONS ASMUSER SYS@ASM, ASMPASSWORD *****Also here is an example of an extract process that I've setup on RAC database with ASM
EXTRACT EWFMMTLP
EXTTRAIL ./dirdat/ew
USERID GGATE@MY_DB, PASSWORD ggatehcc
DDLOPTIONS ADDTRANDATA RETRYOP RETRYDELAY 20 MAXRETRIES 5 REPORT
TRANLOGOPTIONS EXCLUDEUSER ggate
TRANLOGOPTIONS ASMUSER SYS@ASM, ASMPASSWORD ****
TRANLOGOPTIONS ALTARCHIVELOGDEST /u02/oracle/fast_recovery_area/MY_DB/archivelog
TRANLOGOPTIONS PURGEORPHANEDTRANSACTIONS
STATOPTIONS RESETREPORTSTATS
REPORT AT 00:01
REPORTROLLOVER AT 00:01
REPORTCOUNT EVERY 60 SECONDS, RATELet me know if that helps
Jan S. -
When a C/Pro*C program makes a core file after core dumped, what is the significance of this file. How can I make sense of the reason the core dump occurred. That is, understand the error because of which the core dump occurred.
Regards
Krishnantype "adb core" and adb will give you some output
indicating which program died and with which kind
of error (e.g. Segmentation violation, illegal instruction
etc.) .
Leave adb by Ctrl-D and restart with adb <programname>
Now, Type "$c" at the adb prompt in order to get a
stack trace, or other commands displaying addresses,
register contents etc.
HTH
regards, E. Sanio -
Today was the first time I have tried running a Java app from a script file within Red Hat Linux 6.2. I am using the 1.3.1 SDK SE. Before now, all classes were run in the JVM created by my servlet engine (Apache Tomcat). Now that I have an application to start and run in it's own JVM, I get an immediate core dump. Everything works fine in Windows using JBuilder. Copied the class files to Linux, created a shell script that sets the JAVA_HOME PATH and CLASSPATH correctly based on the one JBuilder uses. Call java and specify my class name. Immediate core dump. I have even tried to run it as root. What should I check? Is there a way to see what error it is running into? I am kind of stumped since there is no error on the screen and I wouldn't know what to do with a core file.
To simplify matters, I have created a test class that all it does is System.out.println. I still get a core dump. Here is the shell file I use to run it.
#!/bin/sh
JAVA_HOME=/usr/java/jdk1.3.1
PATH=.:$PATH:$JAVA_HOME/bin
TOMCAT_HOME=/usr/jakarta-tomcat-3.2.2
CLASSPATH=.:/home/web/HB/classes:/home/web/HD/WEB-INF/classes:$TOMCAT_HOME/lib/classes12.jar:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/jre/lib/i18n.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME PATH TOMCAT_HOME CLASSPATH
java test.Test -
I have encountered a core dump problem on weblogic server 6.1 SP5 the error message
as below, I am using weblogic oci driver for oracle "libweblogicoci37.so" anyone
can help?
An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : 4 occurred at PC=0x242795c
Function name=(N/A)
Library=(N/A)
NOTE: We are unable to locate the function name symbol for the error
just occurred. Please refer to release documentation for possible
reason and solutions.
Current Java thread:
at weblogic.db.oci.OciLob.getLobBuf(Native Method)"heriawan" <[email protected]> wrote in message news:4063cf24$[email protected]..
I have encountered a core dump problem on weblogic server 6.1 SP5 the error message
as below, I am using weblogic oci driver for oracle "libweblogicoci37.so" anyone
can help?
An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : 4 occurred at PC=0x242795c
Function name=(N/A)
Library=(N/A)
NOTE: We are unable to locate the function name symbol for the error
just occurred. Please refer to release documentation for possible
reason and solutions.I'd seriously consider switching to oracle thin driver. Type-3 drivers, whether
they come from oracle or weblogic, are less stable than the pure java thin
driver.
HTH
Regards,
Slava Imeshev -
I'm having issues with the OCILogon2() API. The system is Solaris 8
running Oracle 9.0.1; the application is written in C. In normal
operation, the application functions with no issues: queries can be
made, etc, so this isn't an issue of getting it up and running; it
already works, but now a bug has been revealed.
The original thing which pointed out the problem is the fact that a
firewall in front of the Oracle database was timing out and dropping
the client connection after 60-minutes of inactivity. (Note that
the firewall problem is now a non-issue, but the error it uncovered
is a serious one, so I'd like to still find a solution to that in
case some other situation causes a similar problem.)
Eventually, the client would receive the ORA-03113 "end-of-file on
communication channel" error when calling OCILogon2() if attempting
to do a login/query after a period of inactivity because the firewall
had dropped the connection. The application is multi-threaded and is
using Connection Pooling, so if another thread attempted to login after
this error was received, the OCILogon2() API would core dump after the
initial OCILogon2() call had returned the error code.
Here is a stack trace of the exact errors (I wrote a smaller test
application which is stripped down and not multi-threaded and I
can duplicate this error at will):
--- begin stack trace ---
libclntsh.so.9.0`kpucpgetconn+0x27c(d7408, 54388, ffbef0f4, feef9804, 18, 0)
libclntsh.so.9.0`kpucpfnd+0x50(d7408, ffbef1a8, ffbef18c, ffbef0f4, 18, 0)
libclntsh.so.9.0`kpcpmap+0x94(4e28c, d7408, ffbef1a8, ffbef18c, ffbef1ac, 0)
libclntsh.so.9.0`kpuauthxa+0x720(1, 5449c, 5cea4, 1, 0, 0)
libclntsh.so.9.0`kpuauth+0x44(5d028, 5449c, 5cea4, 1, 0, fefcdb64)
libclntsh.so.9.0`kpulon2+0x37c(200, 1d, 54358, 7, 15e0, fefcdb64)
libclntsh.so.9.0`OCILogon2+0x130(200, 7, ffbef65c, 11cc8, 6, 11cd0)
--- end stack trace ---
What I'm curious about is why the OCILogon2() API does not return
an error code of some sorts whenever the connection is obviously
unavailable.
I'm not extremely knowledgeable about the OCI APIs, so is there
perhaps a way to verify the connection is active before attempting
a login call? (Whether that be OCILogon2() or OCIServerAttach(), etc.)
A 'ping' of sorts just to be sure? (Not that this would solve the
problem completely as the connection could be severed between the
ping and the login attempt.)
For other reasons, I already have a 'flag' which can be tripped to
tell the threads to not attempt Oracle queries (namely if the
environment initialization upfront failed). I could trip this flag upon
receiving an Oracle error like this, but that will not be a complete
solution to the problem due to timing issues -- another thread could be
attempting to login at the same time another thread is doing so
and before the flag can be set or checked, thus the second attempt is
going to cause a core dump, no exceptions. Or if all of the connection
pool links are currently busy, a thread could check the flag and see
that it is clear before attempting to login, so OCILogon2() is called
and the thread is now waiting for a connection to open in the pool;
the connection dies, one of the other threads throws ORA-03113
before leaving the pool and setting the flag, but now this other
"waiting" thread (who already checked the flag before trying to login)
grabs the open pool spot and immediately tries to complete its
OCILogon2() call. Core dump.
The ideal solution is, obviously, for the API to not core dump and
simply return a proper error code.
If anyone has any suggestions, I would greatly appreciate them.
If there is a workaround for this, such as being able to detect ahead
of time that the connection is down and then trying to reconnect, I'd
be interested in hearing about ways to do that as well.What if you don't have a support contract with Oracle, can you still contact them in a case like this (where I'm not asking someone to show me how to do something, but instead where it is clearly an issue with their product)?
Thanks for your reply. -
Weblogic 6.1 sp5 core dump by OCI driver
I have encountered a core dump problem on weblogic server 6.1 SP5 the error message
as below, I am using weblogic oci driver for oracle "libweblogicoci37.so" , anyone
can help?
An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : 4 occurred at PC=0x242795c
Function name=(N/A)
Library=(N/A)
NOTE: We are unable to locate the function name symbol for the error
just occurred. Please refer to release documentation for possible
reason and solutions.Galen Boyer wrote:
On Sun, 28 Mar 2004, [email protected] wrote:
Galen Boyer wrote:
On Sat, 27 Mar 2004, [email protected] wrote:
One way to get a substantial boost in reliability is to switch
to the latest appropriate Oracle thin driver.But then you can suffer performance losses.Actually, the latest oracle thin drivers are very fast. The 10g
driver in particular. Well, we are on 9i here and we have lots of CLOB and BLOB
operations. Understood. The latest should work. (How comfortable does that make you ;) )
It is a sad choice we used to have to make between
faster-but-buggy homicidal old OCI code (wherein a bug in one
module can cause a segfault in an innocent unrelated module's
execution, and bring down a whole JVM) and the reliability of
Java. Fortunately, the future is at hand. The future is at hand? I do believe you are starting to sound a
bit like an evangelist. :-)Yep. Back in '96 when we wrote and marketed all the first JDBC drivers
for MS SQLServer, Oracle, Informix and Sybase, we did it solely
so enable our application server to be able to do real work. We were all
absolutely sure the driver market would dry up in 6 months as all the
DBMS vendors made excellent free type-4 drivers. We were over-optimistic.
Sybase's driver still requires you to install non-standard tables and
procedures in the DBMS. Oracle drivers are sloutching toward sufficiency,
but their first GA driver had a hard-wired value of READ_UNCOMMITTED
for getTransactionIsolation, and if you tried setTransactionIsolation
of either READ_COMMITTED or SERIALIZABLE, the driver would throw an
exception! We actually had a weblogic workaround to intercept this
jdbc call and send the "ALTER SESSION " to do what the customer wanted!
At the same time we had a major struggle to get Oracle to admit that
in spite of their documentation, OCI was not threadsafe (killing our
OCI-based driver in weblogic applications) until 7.1.4 on solaris
and NT, and 8.0.5 on other platforms. Did you know they had separate
codelines for OCI on each platform? For a while each platform's OCI
had a different hard-wired limit of the number of simultaneous connections
on client could have? For a while that limited what our application server
could do. OCI was written for simple teller-like client applications.
The new thin drivers take on more of the possible client-side
processing, and can do RAC failover etc. JoeOh well. I for one am a bit skeptical that Oracle is going to
fix java driver bugs before OCI bugs and I don't have any reason
to commit to any "platform independent" solution like java's thin
driver. We are completely based on Oracle here and we have a
J2EE solution for the app just cause we had to choose something.
If thin is better, than we will go with that.The last highest-level talks I had with Oracle folks they indicated that
they wanted everyone to go thin. OCI was a headache for them. Their
OCI code was undocumented and all the original experts had left the company.
That was in 2000 or so, so it is likely better now. They may well have
invested a lot of reverse-documentation by now.
One of the benefits of Java is the reliability. I think you'll
ultimately be happier with the thin. We do want you successful.
Joe -
Intresting segv:studio12update1 core dump in stlport 4 startup:mixing C&C++
Hi
I am getting core dump below is the stack trace:
(dbx) where
current thread: t@1
=>[1] std::basic_filebuf<wchar_t,std::char_traits<wchar_t> >::imbue(0xffffffff4b3d0bf0, 0xffffffff7fffe790, 0x4c8, 0xffffffff6971f128, 0x400, 0xffffffff69711e68), at 0xffffffff69592200
[2] std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >::pubimbue(0xffffffff695921a0, 0xffffffff4b3d0bf0, 0xffffffff7fffe790, 0xffffffff6971a938, 0x0, 0xffffffff7fffe6d0), at 0xffffffff6956d4e8
[3] std::basic_ios<wchar_t,std::char_traits<wchar_t> >::imbue(0xffffffff7fffe798, 0xffffffff6971fbd0, 0xffffffff7fffe790, 0xffffffff69711e68, 0x13da94, 0x400), at 0xffffffff6957284c
[4] std::basic_ios<wchar_t,std::char_traits<wchar_t> >::init(0xffffffff6971fbd0, 0xffffffff4b3d0bf0, 0x448, 0xffffffff69711e68, 0x19f4c4, 0x400), at 0xffffffff69572a0c
[5] std::basic_ostream<wchar_t,std::char_traits<wchar_t> >::basic_ostream(0xffffffff6971fbc8, 0xffffffff4b3d0bf0, 0xc0, 0x185fec, 0x0, 0xffffffff69711e68), at 0xffffffff6958becc
[6] std::__Wide_Init::__Wide_Init(0xffffffff4b3ceec0, 0xffffffff4b3d0bf0, 0xffffffff4b3d0c90, 0xffffffff4b3c27d0, 0xffffffff6971fd38, 0xe000), at 0xffffffff4b21444c
---- hidden frames, use 'where -h' to see them all ----
[8] __Cimpl::cplus_init(0x1, 0xffffffff4de0dd60, 0xffffffff4de0dd68, 0x0, 0x1044a4, 0xffffffff4b3cf460), at 0xffffffff4dd08660
[9] 0xffffffff4b235ae8(0x0, 0x0, 0xffffffff7f72cb18, 0xffffffff7f611ee8, 0x11e6a0, 0xffffffff7f402400), at 0xffffffff4b235ae8
[10] call_init(0x1, 0x1, 0xffffffff4b235a10, 0xffffffff68a007b8, 0xffdfffff, 0xffffffff7f72cb18), at 0xffffffff7f611ef0
[11] setup(0xc7, 0x28, 0xc10000, 0xa000000, 0xffffffff61a01b08, 0x100000), at 0xffffffff7f6113b4
[12] _setup(0x6ffffff9, 0xb00, 0xffffffff7f62ae5c, 0x100000040, 0x0, 0xffffffff7ffff158), at 0xffffffff7f620554
[13] rtboot(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xffffffff7f60511c
Some important notes I am mixing C & C++
wrap is the C interface so when I link application I am explicitly linking libC & libstlport.so
-L/opt/sunstudio12.1/lib/stlport4/v9 -lstlport
-L/usr/lib/64
-lstlport
-lCrun
I am compiling my application like this :
CC -g0 -mt -compat=5 -I/opt/sunstudio12.1/prod/include/CC/stlport4 -D_POSIX_PTHREAD_SEMANTICS -DACE_HAS_KSTAT -DACE_HAS_SCTP -DACE_HAS_LKSCTP -DACE_HAS_EXCEPTIONS -D__ACE_INLINE__ -DSUN_CC_HAS_PVFC_BUG -DACE_HAS_CUSTOM_EXPORT_MACROS=0 -m64 -DXALTEDSUN64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -m64 -D_THREAD_SAFE -D_LARGE_FILES=1 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I. -I/export/home/frtbld/3rdparty/include/bdb -I/export/home/frtbld/3rdparty/include -I/export/home/oracle/OraHome/precomp/public -I/export/home/oracle/OraHome/network/public -I/export/home/oracle/OraHome/rdbms/public -I/export/home/oracle/OraHome/plsql/public -I/export/home/oracle/OraHome/rdbms/demo -I/export/home/frtbld/libcinc -I/usr/local/include -c DBAbs.cpp -o /export/home/frtbld/TMPOBJ/DBAbs.o
Generating MyDb.o file from MyDb.cpp file ...
CC -g0 -mt -compat=5 -I/opt/sunstudio12.1/prod/include/CC/stlport4 -D_POSIX_PTHREAD_SEMANTICS -DACE_HAS_KSTAT -DACE_HAS_SCTP -DACE_HAS_LKSCTP -DACE_HAS_EXCEPTIONS -D__ACE_INLINE__ -DSUN_CC_HAS_PVFC_BUG -DACE_HAS_CUSTOM_EXPORT_MACROS=0 -m64 -DXALTEDSUN64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -m64 -D_THREAD_SAFE -D_LARGE_FILES=1 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I. -I/export/home/frtbld/3rdparty/include/bdb -I/export/home/frtbld/3rdparty/include -I/export/home/oracle/OraHome/precomp/public -I/export/home/oracle/OraHome/network/public -I/export/home/oracle/OraHome/rdbms/public -I/export/home/oracle/OraHome/plsql/public -I/export/home/oracle/OraHome/rdbms/demo -I/export/home/frtbld/libcinc -I/usr/local/include -c MyDb.cpp -o /export/home/frtbld/TMPOBJ/MyDb.o
Generating wrap.o file from wrap.cpp file ...
CC -g0 -mt -compat=5 -I/opt/sunstudio12.1/prod/include/CC/stlport4 -D_POSIX_PTHREAD_SEMANTICS -DACE_HAS_KSTAT -DACE_HAS_SCTP -DACE_HAS_LKSCTP -DACE_HAS_EXCEPTIONS -D__ACE_INLINE__ -DSUN_CC_HAS_PVFC_BUG -DACE_HAS_CUSTOM_EXPORT_MACROS=0 -m64 -DXALTEDSUN64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -m64 -D_THREAD_SAFE -D_LARGE_FILES=1 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I. -I/export/home/frtbld/3rdparty/include/bdb -I/export/home/frtbld/3rdparty/include -I/export/home/oracle/OraHome/precomp/public -I/export/home/oracle/OraHome/network/public -I/export/home/oracle/OraHome/rdbms/public -I/export/home/oracle/OraHome/plsql/public -I/export/home/oracle/OraHome/rdbms/demo -I/export/home/frtbld/libcinc -I/usr/local/include -c wrap.cpp -o /export/home/frtbld/TMPOBJ/wrap.o
ar *.o -o /export/home/frtbld/libcbin/LIB_BDBManager.a
/export/home/tuxedo/bea/tuxedo10gR3/bin/buildclient -o /export/home/frtbld/TMPBIN/CompilerPP -f-L/export/home/oracle/OraHome/lib -f-lclntsh \
-f /export/home/frtbld/TMPOBJ/CompilerMainPP.o \
-f /export/home/frtbld/TMPOBJ/CompilerDataBasePP1.o \
-f /export/home/frtbld/TMPOBJ/CompilerDataBasePP2.o \
-f /export/home/frtbld/TMPOBJ/utilityPP.o \
-f "-L/opt/sunstudio12.1/lib/stlport4/v9 -lstlport -L/export/home/frtbld/3rdparty/lib/bdblib -L/export/home/frtbld/3rdparty/lib/acelib -ldb_cxx-4.7 -lACE /export/home/frtbld/libcbin/LIB_DataBase.a /export/home/frtbld/libcbin/LIB_FileManager.a /export/home/frtbld/libcbin/LIB_Log.a /export/home/frtbld/libcbin/LIB_SHMManager.a /export/home/frtbld/libcbin/LIB_Expression.a /export/home/frtbld/libcbin/LIB_Timing.a /export/home/frtbld/libcbin/LIB_MMFManager.a /export/home/frtbld/libcbin/LIB_LicManager.a /export/home/frtbld/libcbin/LIB_InterProcComm.a /export/home/frtbld/libcbin/LIB_BDBManager.a /export/home/frtbld/libcbin/LIB_RatingPPMMFManager.a -L/usr/lib/hpux32/ -L/usr/local/lib/hpux32 -L/lib/hpux32 -L/export/home/frtbld/3rdparty/lib/ssllib -lcrypto -lz -lm -L/usr/lib/64 -L/opt/sunstudio12.1/lib/stlport4/v9 -lCrun "
Regards
Anand RathiHi Thanks for your help
I changed the linking process to use CC
but still its same .....
and i can also see that its invoking __Cimpl::cplus_init
also i have an doubt about 64bit and std::__Wide_Init::__Wide_Init
weather issue is with wide character 64 bit ?
Now the command is
CC -g0 -mt -compat=5 -I/opt/sunstudio12.1/prod/include/CC/stlport4 -D_POSIX_PTHREAD_SEMANTICS -DACE_HAS_KSTAT -DACE_HAS_SCTP -DACE_HAS_LKSCTP -DACE_HAS_EXCEPTIONS -D__ACE_INLINE__ -DSUN_CC_HAS_PVFC_BUG -DACE_HAS_CUSTOM_EXPORT_MACROS=0 -m64 -DXALTEDSUN64 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -m64 -mt -I/export/home/tuxedo/bea/tuxedo10gR3/include -o /export/home/frtbld/TMPBIN/CompilerPP -L/export/home/tuxedo/bea/tuxedo10gR3/lib -xarch=v9 -L/export/home/oracle/OraHome/lib -lclntsh /export/home/frtbld/TMPOBJ/CompilerMainPP.o /export/home/frtbld/TMPOBJ/CompilerDataBasePP1.o /export/home/frtbld/TMPOBJ/CompilerDataBasePP2.o /export/home/frtbld/TMPOBJ/utilityPP.o -L/opt/sunstudio12.1/lib/stlport4/v9 -lstlport -L/export/home/frtbld/3rdparty/lib/bdblib -L/export/home/frtbld/3rdparty/lib/acelib -ldb_cxx-4.7 -lACE /export/home/frtbld/libcbin/LIB_DataBase.a /export/home/frtbld/libcbin/LIB_FileManager.a /export/home/frtbld/libcbin/LIB_Log.a /export/home/frtbld/libcbin/LIB_SHMManager.a /export/home/frtbld/libcbin/LIB_Expression.a /export/home/frtbld/libcbin/LIB_Timing.a /export/home/frtbld/libcbin/LIB_MMFManager.a /export/home/frtbld/libcbin/LIB_LicManager.a /export/home/frtbld/libcbin/LIB_InterProcComm.a /export/home/frtbld/libcbin/LIB_BDBManager.a /export/home/frtbld/libcbin/LIB_RatingPPMMFManager.a -L/usr/lib/hpux32/ -L/usr/local/lib/hpux32 -L/lib/hpux32 -L/export/home/frtbld/3rdparty/lib/ssllib -lcrypto -lz -lm -L/usr/lib/64 -L/opt/sunstudio12.1/lib/stlport4/v9 -lCrun -ltux -lbuft -lfml -lfml32 -lengine -R/usr/lib/lwp -lpthread -lposix4 -lsocket -lnsl -lm -lnsl -lsocket
t@1 (l@1) program terminated by signal SEGV (no mapping at the fault address)
0xffffffff7e192200: imbue+0x0060: ldx [%o0], %o1
(dbx) where
current thread: t@1
=>[1] std::basic_filebuf<wchar_t,std::char_traits<wchar_t> >::imbue(0xffffffff7acd0bf0, 0xffffffff7fffe4d0, 0x4c8, 0xffffffff7e31f128, 0x400, 0xffffffff7e311e68), at 0xffffffff7e192200
[2] std::basic_streambuf<wchar_t,std::char_traits<wchar_t> >::pubimbue(0xffffffff7e1921a0, 0xffffffff7acd0bf0, 0xffffffff7fffe4d0, 0xffffffff7e31a938, 0x13da94, 0xffffffff7fffe410), at 0xffffffff7e16d4e8
[3] std::basic_ios<wchar_t,std::char_traits<wchar_t> >::imbue(0xffffffff7fffe4d8, 0xffffffff7e31fbd0, 0xffffffff7fffe4d0, 0xffffffff7e311e68, 0x13da94, 0x400), at 0xffffffff7e17284c
[4] std::basic_ios<wchar_t,std::char_traits<wchar_t> >::init(0xffffffff7e31fbd0, 0xffffffff7acd0bf0, 0x448, 0xffffffff7e311e68, 0x19f4c4, 0x400), at 0xffffffff7e172a0c
[5] std::basic_ostream<wchar_t,std::char_traits<wchar_t> >::basic_ostream(0xffffffff7e31fbc8, 0xffffffff7acd0bf0, 0xc0, 0x185fec, 0x0, 0xffffffff7e311e68), at 0xffffffff7e18becc
[6] std::__Wide_Init::__Wide_Init(0xffffffff7acceec0, 0xffffffff7acd0bf0, 0xffffffff7acd0c90, 0xffffffff7acc27d0, 0xffffffff7e31fd38, 0xe000), at 0xffffffff7ab1444c
---- hidden frames, use 'where -h' to see them all ----
[8] __Cimpl::cplus_init(0x1, 0xffffffff7d00dd60, 0xffffffff7d00dd68, 0x0, 0x1044a4, 0xffffffff7accf460), at 0xffffffff7cf08660
[9] 0xffffffff7cf0a500(0x0, 0x0, 0xffffffff7f72cb18, 0xffffffff7f611ee8, 0x11e6a0, 0xffffffff79702000), at 0xffffffff7cf0a500
[10] call_init(0x1, 0x3, 0xffffffff7cf0a428, 0xffffffff7f201530, 0xffdfffff, 0xffffffff7f72cb18), at 0xffffffff7f611ef0
[11] elf_bndr(0xffffffff7f500718, 0xffffffff7cf016e0, 0xffffffff7ab35ab4, 0xffffffff7cf06610, 0xffffffff78d009e8, 0xffffffff7f72f6d8), at 0xffffffff7f61f060
[12] elf_rtbndr(0x590000, 0x1001d3538, 0x0, 0xffffffff7ab35ab4, 0x0, 0x0), at 0xffffffff7f60514c
[13] 0x0(0xffffffff7acc7e28, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x0
[14] 0xffffffff7ab35ab4(0x0, 0x0, 0xffffffff7f72cb18, 0xffffffff7f611ee8, 0x11e6a0, 0xffffffff79702000), at 0xffffffff7ab35ab4
[15] call_init(0x1, 0x1, 0xffffffff7ab35a10, 0xffffffff7a900030, 0xffdfffff, 0xffffffff7f72cb18), at 0xffffffff7f611ef0
[16] setup(0x0, 0x27, 0xc10000, 0xa000000, 0xffffffff78d01780, 0x100000), at 0xffffffff7f6113b4
[17] _setup(0x6ffffff9, 0xb00, 0xffffffff7f62ae5c, 0x100000040, 0x0, 0xffffffff7ffff288), at 0xffffffff7f620554
[18] rtboot(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xffffffff7f60511c
Edited by: anandprathi on Aug 12, 2009 9:48 AM
Edited by: anandprathi on Aug 12, 2009 9:52 AM -
Core dump whith GetObjectClass
Hi there,
I am trying to fill up objects in a array received from the java code with an array of structures coming from a C function.
I am using the following code :
JNIEXPORT jint JNICALL Java_api_test_1accountarray (JNIEnv *env, jobject obj , jobjectArray x_account_array)
int ret=WIE;
jclass cls;
jfieldID accountID;
jobject account_obj;
jstring o_account_string=NULL;
ACCOUNTARRAY accountarray;
ACCOUNT *eltp;
int l_nbr_cptes=0;
jsize i;
printf("Java_api_test_1accountarray\n");
C function call
ret=listaccount("TEST", "", accountarray, TIMEOUT);
printf("Retour api :%d\n", ret);
/* ok here */
for(i=0; i<APIACCOUNT_SIZE_ACCOUNTARRAY; i++)
eltp=&(accountarray);
if(eltp->accounts[0]=='\0')
break;
l_nbr_cptes++;
account_obj= (*env)->GetObjectArrayElement(env, x_account_array, i);
/* ok here */
cls=(*env)->GetObjectClass(env, patio_account_obj);
/* coredump here when assigning cls */
accountID = (*env)->GetFieldID(env, cls, "accounts", "Ljava/lang/String;");
o_account_string=(*env)->NewStringUTF(env,accountarray[i].accounts);
(*env)->SetObjectField(env,account_obj,accountID, o_account_string);
(*env)->SetObjectArrayElement(env, x_account_array, i, account_obj);
printf("nbrecomptes en C : %d\n", l_nbr_cptes);
return l_nbr_cptes;
Not a single compile error.
Running : java -Xcheck:jni api
I get :
================
Java_api_test_1accountarray
Retour api :0
Unexpected Signal : 11 occurred at PC=0xfe516fb0
Function name=JVM_FindPrimitiveClass
Library=/usr/j2sdk1_3_1_04/jre/lib/sparc/client/libjvm.so
Current Java thread:
at api.test_accountarray(Native Method)
at api.main(api.java:23)
Dynamic libraries:
0x10000 /usr/bin/../java/bin/../bin/sparc/native_threads/java
0xff350000 /usr/lib/libthread.so.1
0xff390000 /usr/lib/libdl.so.1
0xff280000 /usr/lib/libc.so.1
0xff270000 /usr/platform/SUNW,Ultra-60/lib/libc_psr.so.1
0xfe400000 /usr/j2sdk1_3_1_04/jre/lib/sparc/client/libjvm.so
0xff210000 /usr/lib/libCrun.so.1
0xff1f0000 /usr/lib/libsocket.so.1
0xff100000 /usr/lib/libnsl.so.1
0xff1b0000 /usr/lib/libm.so.1
0xff240000 /usr/lib/libw.so.1
0xff0d0000 /usr/lib/libmp.so.2
0xff0a0000 /usr/j2sdk1_3_1_04/jre/lib/sparc/native_threads/libhpi.so
0xff060000 /usr/j2sdk1_3_1_04/jre/lib/sparc/libverify.so
0xff020000 /usr/j2sdk1_3_1_04/jre/lib/sparc/libjava.so
0xfe7d0000 /usr/j2sdk1_3_1_04/jre/lib/sparc/libzip.so
0xfe2d0000 /export/home/Users/jgallet/JINI/libjava.so
0xfac80000 /usr/lib/libapithread.so
Local Time = Tue Sep 17 13:25:11 2002
Elapsed Time = 1
# HotSpot Virtual Machine Error : 11
# Error ID : 4F530E43505002BD 01
# Please report this error at
# http://java.sun.com/cgi-bin/bugreport.cgi
# Java VM: Java HotSpot(TM) Client VM (1.3.1_04-b02 mixed mode)
# An error report file has been saved as hs_err_pid22138.log.
# Please refer to the file for further information.
Abort (core dumped)
============
Please note that calling or not calling the C function does not affect the result (of commenting the tests of course).
java -version
java version "1.3.1_04"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_04-b02)
Java HotSpot(TM) Client VM (build 1.3.1_04-b02, mixed mode)
Solaris 7 Sparc machine.
Any help appreciated.
Sincerely,
John GALLETSolution : sort of.
The pointer I got from GetObjectArrayElement, for whatever reason, is NULL. So passing it along caused a coredump...
I spent a lot of time of that stupid mistake, and I guess I am going to spend even more on understanding WHY it is NULL, now...
Sincerely,
JG
Maybe you are looking for
-
Creating new folder in sharepoint
Hi - I am using Office 2013 and using the "Save as" function in Word want to create a new folder on the SharePoint site. there does not seem to be any way to do this through the "save as" dialog process. The "new folder" option only seems to be avail
-
Add New Screen Fields in Delievery Line Item
Hello All, We have a requiremnet where we should add 3 custom fields to delivery line item tabs, please let me know how I can add a new tab for delievry line item tabs and how to add new custom screen fields in that tab,. Thanks Add New Screen Fields
-
Nokia N8 Facebook photos do not appear for all use...
I had this issue using the facebook app with my Nokia N8. When I browse to a profile and then choose Pictures, a loading screen should show up and display the albums. For some users, when I choose their profile a tiny black line just appears and pict
-
Why is my itunes in THAI language? how do i set it back to english ?
why is my itunes in THAI language? how do i set it back to english ? thanks !
-
I recently purchased a new dynadock (model # - dynadock PA3927U-1PRP dynadock U3.0). During the setup, I received a notice that both the audio and Ethernet drivers had not installed. Obviously, my dynadock audio has not been working. I visited the