Hello,
DB2 V7 FP 13 running on Linux.
We have developed a C++ shared library that will be called by a db2
stored procedure. Every time my developers generate a new .so shared
library, I copy it to /home/db2inst1/sqllib/functions/ and then run a
test applications that calls the stored proc. I also run a "bind
file.bnd blocking all grant public". The first execution of the
procedure (after the .so has been replaced) always fails with SQL1131N
(DARI (Stored Procedure) process has been terminated abnormally.)
However, if I invoke the same procedure again (using my test app or
CLP), it works like a charm. In fact, it will never fail again. The
error happens only during the first execution.
This leads me to think that there is no application / C code error. Do
I need to run any command after copying the new .so file, so DB2 can
"reload" the lib ? I am not sure what I am missing here.
Here are the diag and stack trace files:
2005-11-21-10.15.46.091845 Instance:db2inst1 Node:000
PID:18999(db2sysc) Appid:none
base_sys_utilities sqleChildCrashHandler Probe:15
DiagData
4120 6e6f 6e2d 4544 5520 6368 696c 6420 A non-EDU child
6372 6173 6865 642e crashed.
2005-11-21-10.15.46.141778 Instance:db2inst1 Node:000
PID:18999(db2sysc) Appid:none
base_sys_utilities sqleChildCrashHandler Probe:16
DiagData
f527 0000 õ'..
2005-11-21-10.15.46.169819 Instance:db2inst1 Node:000
PID:18999(db2sysc) Appid:none
base_sys_utilities sqleChildCrashHandler Probe:17
DiagData
0101 0000 ....
2005-11-21-10.15.46.177624 Instance:db2inst1 Node:000
PID:18999(db2sysc) Appid:none
base_sys_utilities sqleChildCrashHandler Probe:18
DiagData
ffff ffff ÿÿÿÿ
2005-11-21-10.15.56.190141 Instance:db2inst1 Node:000
PID:18999(db2sysc) Appid:none
base_sys_utilities sqleChildCrashHandler Probe:15
DiagData
4120 6e6f 6e2d 4544 5520 6368 696c 6420 A non-EDU child
6372 6173 6865 642e crashed.
2005-11-21-10.15.56.202971 Instance:db2inst1 Node:000
PID:18999(db2sysc) Appid:none
base_sys_utilities sqleChildCrashHandler Probe:16
DiagData
c627 0000 Æ'..
2005-11-21-10.15.56.250408 Instance:db2inst1 Node:000
PID:18999(db2sysc) Appid:none
base_sys_utilities sqleChildCrashHandler Probe:17
DiagData
0101 0000 ....
2005-11-21-10.15.56.254621 Instance:db2inst1 Node:000
PID:18999(db2sysc) Appid:none
base_sys_utilities sqleChildCrashHandler Probe:18
DiagData
ffff ffff ÿÿÿÿ
Trace
*****************************************
* *
* DB2 USERS : *
* ----------- *
* A DARI process terminated abnormally. *
* This may have been caused by a prog- *
* ramming error in the DARI procedure. *
* A stack trace-back follows. *
* *
*****************************************
2005-11-21-10.15.44.179467 : DB2 v7.1.0.103 s040930 SQL07029
S:Linux R:2.4.9-e.57 V:#1 Thu Dec 2 20:56:19 EST 2004 M:i686
N:batata.automatos.com
db2inst1.000 : db2dari (10386) (0x2000)
Signal #11
Data seg top [sbrk(0)] = 0x0806D000
Cur data size (bytes) = 0x7FFFFFFFFFFFFFFF
Cur stack size (bytes) = 0x800000
Cur core size (bytes) = 0x0
Context Information:
sigcontext_struct (88 bytes):
00000007 00000000 0000002b c010002b
0805fc40 0805fc40 bffeb190 bffeb188
41107850 4102e000 00000000 000d9844
0000000e 00000004 41084098 00000023
00010246 bffeb188 0000002b bffeaf08
80000000 000d9844
Register Information:
eax = 000d9844; ebx = 41107850; ecx = 00000000; edx =
4102e000;
ebp = bffeb190; esp = bffeb188; edi = 0805fc40; esi =
0805fc40;
ds = 0000002b; es = 0000002b; fs = 00000000; gs =
00000007;
eip = 41084098; cs = 00000023; ss = 0000002b; eflags =
00010246;
Stack Trace:
DB2 (db2inst1.000) : 2005-11-21-10.15.44.273050 stack corrupted.
Signal 11 caught in traceback attempt.
Thanks in advance for any suggestions.