Oracle error OCI-21500 and hard crash.

Discussion of open issues, suggestions and bugs regarding ADO.NET provider for Oracle
Post Reply
DarrenColes
Posts: 51
Joined: Mon 28 Aug 2006 11:07

Oracle error OCI-21500 and hard crash.

Post by DarrenColes » Tue 18 Oct 2022 09:59

I have an application using the latest version of dotconnect which is crashing randomly and being terminated by the .net framework.

I have managed to narrow down and recreate the issue using the following oracle package and .net code (which ocassionally runs through file but mostly fails).

CREATE OR REPLACE PACKAGE PKG_TEST AUTHID CURRENT_USER IS
PROCEDURE proc_test(in_id IN INTEGER);
END PKG_TEST;

CREATE OR REPLACE PACKAGE BODY PKG_TEST IS
PROCEDURE proc_test(in_id IN integer) IS
t_id integer;
BEGIN
t_id:=in_id;
END proc_test;

END PKG_TEST;

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication5
{
class Program
{
static void dooracle()
{
try
{
Devart.Data.Oracle.OracleConnection oc = new Devart.Data.Oracle.OracleConnection();
oc.Server = "dbname";
oc.UserId = "username";
oc.Password = "password";
oc.Open();

Devart.Data.Oracle.OracleCommand ocmd = oc.CreateCommand("pkg_test.proc_test");
ocmd.CommandType = System.Data.CommandType.StoredProcedure;
ocmd.ParameterCheck = true;
ocmd.Prepare();
for (int counter=0; counter<1000; counter++)
{
ocmd.Parameters["in_id"].Value = "5";
ocmd.ExecuteNonQuery();
}
ocmd.Dispose();

oc.Close();
oc.Dispose();
}
catch
{

}
}

static void Main(string[] args)
{
System.Threading.Thread t1 = new System.Threading.Thread(dooracle);
System.Threading.Thread t2 = new System.Threading.Thread(dooracle);
t1.Start();
t2.Start();
t1.Join();
t2.Join();
}
}
}

we are running oracle 19 database using the oracle 19 client (older versions of the client don't seem to cause this issue).

It only happens with multi threaded code and in addition If we change the line
ocmd.Parameters["in_id"].Value = "5";
to pass in the value as an integer rather than a string the problem also does not happen.

The problem produces the following stack trace

Errors in file :
OCI-21500: no message, kgebse recursion failure
OCI-21500: no message, kgebse recursion failure
Errors in file :
OCI-21500: no message, kgebse recursion failure
OCI-21500: no message, kgebse recursion failure


----- Call Stack Trace -----


----- Call Stack Trace -----
calling call entry argument values in hex
location type point (? means dubious value)
calling call entry argument values in hex
-------------------- -------- -------------------- ----------------------------
location type point (? means dubious value)
-------------------- -------- -------------------- ----------------------------
kgeriv_int()+198 CALL??? skgudmp() kgerinv_internal()+ CALL??? skgudmp() FFFFFFFFB6B7AF00FFFFFFFFB6B7AF00

142 FFFFFFFFB6B7B270FFFFFFFFB6B7B270 000000000 ? 000000000 ?

000000000 ?
kgeriv()+61 CALL??? kgeriv_int() 000000000 ?000000000 ? 000000000 ?
kgesoftnmierr()+652 CALL??? kgerinv_internal() 000000000 ?
000000000 ? 000000000 ?
000000000 ?
000000000 ?kgesiv()+133 CALL??? kgeriv() 000000000 ?000000000 ?
kgebse()+1015 CALL??? kgesoftnmierr() 000000000 ?06CB42CD8
06C73A2A8 000000000 ?
000000000 ?
FFFFFFFF978FC78Ckgesic3()+62 CALL??? kgesiv() 000000000 ?000000000 ?
kgebem_internal()+2 CALL??? kgebse() 000000000 ?000000000 ?
000000000 ? 000000000 ?
73 000000000 ?
kge_report_17099()+ CALL??? kgesic3() 000000000 ?000000000 ? 000000000 ? 000000000 ?
kgedes()+116 CALL??? kgebem_internal()+9 000000000 ? 000000000 ?
3 000000000 ? 000000000 ?
skgudmp()+36 CALL??? kgedes() 000000000 ? 000000000 ?
000000000 ? 000000000 ?
kgeriv_int()+198 CALL??? skgudmp() 06CB42CD8 000000003
000000000 ?
585 0000042CB 000000000 ?
000000000 ?OCINumberFromText() CALL??? kge_report_17099()
kgeriv()+61 CALL??? kgeriv_int() 06CB42CD8000000000 ? 000000100 000000000 ?

+1201 000000000 ?000000000 ? 000000000 ? 000000000 ?

kgesiv()+133 CALL??? kgeriv() OCINumberFromText() CALL??? OCINumberFromText() 000000000 ?06CBB5890 000000000 ? 00024B7A0
000000001000000000 ?
+106 000000000 ?
kgesic3()+62 CALL??? kgesiv() 00024B7C0000000000 ?
000000000 ?00007FFC4FA7AA09 CALL??? OCINumberFromText()
000000000 ? 000000000 ?
kge_report_17099()+ CALL??? kgesic3() 000000000 ? 000000000 ?
585 0000042CB 000000000 ?
OCINumberFromText() CALL??? kge_report_17099() 06CB42CD8 000000100
+1201 000000000 ? 000000000 ?
OCINumberFromText() CALL??? OCINumberFromText() 06CBB5890 000249B60 000000001
+106 000249B80
00007FFC4FA7AA09 CALL??? OCINumberFromText() 000000000 ? 000000000 ?
000000000 ? 000000000 ?
00007FFC4FA7A8DC CALL??? 00007FFC4FA7AA09 000000000 ? 000000000 ?
000000000 ? 000000000 ?
00007FFC4FA7A7E1 CALL??? 00007FFC4FA7A8DC 000000001 000000000 ?
000000000 ? 000000000 ?
00007FFC4FA75744 CALL??? 00007FFC4FA7A7E1 000000000 ? 000000000 ?
000000000 ? 000000000 ?
00007FFC4FA72A3D CALL??? 00007FFC4FA75744 000000000 ? 000000000 ?
000000000 ? 000000000 ?
00007FFC4FA71483 CALL??? 00007FFC4FA72A3D 000000000 ? 000000000 ?
000000000 ? 000000000 ?
00007FFC4FA6EA63 CALL??? 00007FFC4FA71483 000000000 0001B7AE8 000000005
008000001
00007FFC4FA6D4B1 CALL??? 00007FFC4FA6EA63 000000000 ? 000000000 ?
000000000 ? 000000000 ?
00007FFC4FA6CB89 CALL??? 00007FFC4FA6D4B1 000000000 ? 000000000 ?
000000000 ? 000000000 ?
00007FFC4FA6C8C3 CALL??? 00007FFC4FA6CB89 000000000 ? 000000000 ?
000000000 ? 000000000 ?
00007FFC4FA41C17 CALL??? 00007FFC4FA6C8C3 000000000 ?0001BB1C0 000000000 ? 000000000 ?
000000000 ?
000000000 ?
00007FFC4FA7A8DC CALL??? 00007FFC4FA7AA09 000000000 ?000000000 ? 000000000 ? 000000000 ?
00007FFC9C64CE10 CALL??? 00007FFC4FA41C17 000000000 ? 000000000 ?
000000000 ? 000000000 ?
00007FFC4FA7A7E1 CALL??? 00007FFC4FA7A8DC 000000001 000000000 ?

000000000 ? 000000000 ?
00007FFC9C64CC95 CALL??? 00007FFC9C64CCA0 000000000 ?000000000 ? 000000000 ? 000000000 ?
00007FFC4FA75744 CALL??? 00007FFC4FA7A7E1 000000000 ? 000000000 ?
000000000 ?
000000000 ? 000000000 ?
00007FFC4FA72A3D CALL??? 00007FFC4FA75744 000000000 ?000000000 ?
00007FFC9C64CC65 CALL??? 00007FFC9C64CC80 000000000 ?000000000 ?
000000000 ?
000000000 ?000000000 ? 000000000 ?
00007FFC4FA71483 CALL??? 00007FFC4FA72A3D 000000000 ?000000000 ?
00007FFC9C5DE155 CALL??? 00007FFC9C64CC10 000000000 ?000000000 ?
000000000 ?
000000000 ?000000000 ? 000000000 ? 000000000 ?

00007FFCAEF86BA3 CALL??? 00007FFC9C5DE100 00007FFC4FA6EA63 CALL??? 00007FFC4FA71483 000000000 ?000000000 000000000 ?
000000000 ? 000000000 ?
00007FFCAEF86A80 CALL??? 00007FFCAEF86B20 000000000 ? 000000000 ?
000000000 ? 000000000 ?
00007FFCAEF87210 CALL??? 00007FFCAEF86A78 000000000 ? 000000000 ?
000000000 ? 000000000 ?
00007FFCAF139AEF CALL??? 00007FFCAEF87110 000000000 ? 000000000 ?
000000000 ? 000000000 ?
00007FFCAEF87C48 CALL??? 00007FFCAF139AD6 000000000 ? 000000000 ?
000000000 ? 000000000 ?
00007FFCAEF87BBB CALL??? 00007FFCAEF87C00 000000000 ? 000000000 ?
000000000 ? 000000000 ?
00007FFCAEF87AFB CALL??? 00007FFCAEF87B4C 000000000 ? 000000000 ?
000000000 ? 000000000 ?
00007FFCAEF87CD7 CALL??? 00007FFCAEF87AE4 000000000 ? 000000000 ?
000000000 ? 000000000 ?
00007FFCAF1399D9 CALL??? 00007FFCAEF87C90 000000000 ? 000000000 ?
000000000 ? 000000000 ?
00007FFCAF15A5F5 CALL??? 00007FFCAF1398F0 000000000 ? 000000000 ?
000000000 ? 000000000 ?
00007FFCD20F8364 CALL??? 00007FFCAF15A570 000000000 ? 000000000 ?
000000000 ? 000000000 ?
00007FFCD4817091 CALL??? 00007FFCD20F8350 000000000 ? 000000000 ?
000000000 ? 000000000 ?

Call stack signature: 0xeb538c30ee39b2ce



call stack performance statistics:
total : 0.187000 sec
setup : 0.062000 sec
stack unwind : 0.000000 sec
symbol translation : 0.047000 sec
printing the call stack: 0.078000 sec
printing frame data : 0.000000 sec
printing argument data : 0.000000 sec
printing kernel stack : 0.000000 sec


----- End of Call Stack Trace -----

00003F498 000000005Errors in file :
0x26C6CB42CD8 kgegpa:parameter corruption


----- Call Stack Trace -----
calling call entry argument values in hex
location type point (? means dubious value)
-------------------- -------- -------------------- ----------------------------

008000001
00007FFC4FA6D4B1 CALL??? 00007FFC4FA6EA63 000000000 ? 000000000 ?
000000000 ? 000000000 ?
00007FFC4FA6CB89 CALL??? 00007FFC4FA6D4B1 kgeriv_int()+198 CALL??? skgudmp() 000000000 ?FFFFFFFFB6B7AF00
000000000 ?FFFFFFFFB6B7B270
000000000 ?
000000000 ?000000000 ? 000000000 ?
kgeriv()+61 CALL??? kgeriv_int() 000000000 ?
00007FFC4FA6C8C3 CALL??? 00007FFC4FA6CB89 000000000 ?000000000 ?
000000000 ? 000000000 ?
kgesiv()+133 CALL??? kgeriv() 000000000 ? 000000000 ?
000000000 ? 000000000 ?
kgesic3()+62 CALL??? kgesiv() 000000000 ? 000000000 ?
000000000 ? 000000000 ?
kge_report_17099()+ CALL??? kgesic3() 000000000 ? 000000000 ?
585 0000042CB 000000000 ? 000000000 ?
OCINumberFromText() CALL??? kge_report_17099()
06CB42CD8000000000 ? 000000100 000000000 ?
+1201 000000000 ? 000000000 ?
00007FFC4FA41C17 CALL??? 00007FFC4FA6C8C3
OCINumberFromText() CALL??? OCINumberFromText() 00003F87806CBB5890 000000000 ? 000249B60
000000001000000000 ?
+106 000000000 ?
00007FFC9C64CE10 CALL??? 00007FFC4FA41C17 000249B80000000000 ?
00007FFC4FA7AA09 CALL??? OCINumberFromText() 000000000 ?000000000 ?
000000000 ?000000000 ?
000000000 ? 000000000 ?
00007FFC9C64CC95 CALL??? 00007FFC9C64CCA0 000000000 ? 000000000 ?
000000000 ? 000000000 ?
000000000 ?00007FFC9C64CC65 CALL??? 00007FFC9C64CC80
00007FFC4FA7A8DC CALL??? 00007FFC4FA7AA09 000000000 ?000000000 ? 000000000 ? 000000000 ?

000000000 ?000000000 ? 000000000 ? 000000000 ?
00007FFC9C5DE155 CALL??? 00007FFC9C64CC10
00007FFC4FA7A7E1 CALL??? 00007FFC4FA7A8DC 000000001 000000000 ?
000000000 ?000000000 ? 000000000 ? 000000000 ?
00007FFC4FA75744 CALL??? 00007FFC4FA7A7E1
000000000 ?000000000 ? 000000000 ? 000000000 ?
00007FFCAEF86BA3 CALL??? 00007FFC9C5DE100
000000000 ?000000000 ? 000000000 ? 000000000 ?
00007FFC4FA72A3D CALL??? 00007FFC4FA75744
000000000 ?000000000 ? 000000000 ? 000000000 ?
00007FFCAEF86A80 CALL??? 00007FFCAEF86B20
000000000 ?000000000 ? 000000000 ? 000000000 ?
00007FFC4FA71483 CALL??? 00007FFC4FA72A3D
000000000 ?000000000 ? 000000000 ? 000000000 ?
000000000 ?
00007FFCAEF87210 CALL??? 00007FFCAEF86A78 000000000 ? 000000000 ?
000000000 ? 000000000 ?
00007FFC4FA6EA63 CALL??? 00007FFC4FA71483 000000000 000000000 ?
00007FFCAF139AEF CALL??? 00007FFCAEF87110 0001B7AE8000000000 ? 000000005 000000000 ?

008000001000000000 ?
00007FFC4FA6D4B1 CALL??? 00007FFC4FA6EA63 000000000 ?
00007FFCAEF87C48 CALL??? 00007FFCAF139AD6 000000000 ?000000000 ? 000000000 ? 000000000 ?
000000000 ?
000000000 ?000000000 ?
00007FFC4FA6CB89 CALL??? 00007FFC4FA6D4B1 000000000 ?
00007FFCAEF87BBB CALL??? 00007FFCAEF87C00 000000000 ?000000000 ? 000000000 ? 000000000 ?
000000000 ?
000000000 ?000000000 ?
00007FFC4FA6C8C3 CALL??? 00007FFC4FA6CB89 000000000 ?
00007FFCAEF87AFB CALL??? 00007FFCAEF87B4C 000000000 ?000000000 ? 000000000 ?
000000000 ? 000000000 ?
00007FFCAEF87CD7 CALL??? 00007FFCAEF87AE4 000000000 ? 000000000 ?
000000000 ?000000000 ?
000000000 ?
000000000 ?00007FFCAF1399D9 CALL??? 00007FFCAEF87C90 000000000 ?000000000 ?
00007FFC4FA41C17 CALL??? 00007FFC4FA6C8C3 0001BB1C0 000000000 ? 000000000 ?

000000000 ? 000000000 ?
00007FFC9C64CE10 CALL??? 00007FFC4FA41C17 000000000 ?000000000 ? 000000000 ?
00007FFCAF15A5F5 CALL??? 00007FFCAF1398F0 000000000 ?000000000 ?
000000000 ? 000000000 ? 000000000 ?
000000000 ? 000000000 ?
00007FFCD20F8364 CALL??? 00007FFCAF15A570
00007FFC9C64CC95 CALL??? 00007FFC9C64CCA0 000000000 ?000000000 ? 000000000 ? 000000000 ?
000000000 ?
000000000 ?
00007FFCD4817091 CALL??? 00007FFCD20F8350 000000000 ?000000000 ? 000000000 ? 000000000 ?
00007FFC9C64CC65 CALL??? 00007FFC9C64CC80 000000000 ?
000000000 ?000000000 ?
000000000 ? 000000000 ?
00007FFC9C5DE155 CALL??? 00007FFC9C64CC10 000000000 ? 000000000 ?
000000000 ? 000000000 ?
00007FFCAEF86BA3 CALL??? 00007FFC9C5DE100 000000000 ? 000000000 ?
000000000 ? 000000000 ?
00007FFCAEF86A80 CALL??? 00007FFCAEF86B20 000000000 ? 000000000 ?
000000000 ? 000000000 ?
00007FFCAEF87210 CALL??? 00007FFCAEF86A78 000000000 ? 000000000 ?
000000000 ? 000000000 ?
00007FFCAF139AEF CALL??? 00007FFCAEF87110 000000000 ?000000000 ?
000000000 ?
Call stack signature: 0x4abfdd49aff7e145




call stack performance statistics:
000000000 ?total : 0.328000 sec
000000000 ?setup : 0.062000 sec

00007FFCAEF87C48 CALL??? 00007FFCAF139AD6 000000000 ?stack unwind : 0.000000 sec
symbol translation : 0.047000 sec
printing the call stack: 0.219000 sec
printing frame data : 0.000000 sec
printing argument data : 0.000000 sec
printing kernel stack : 0.000000 sec


----- End of Call Stack Trace -----

000000000 ?
000000000 ? 000000000 ?
00007FFCAEF87BBB CALL??? 00007FFCAEF87C00 000000000 ? 000000000 ?
000000000 ? 000000000 ?
00007FFCAEF87AFB CALL??? 00007FFCAEF87B4C

DmitryGm
Devart Team
Posts: 152
Joined: Fri 11 Dec 2020 10:27

Re: Oracle error OCI-21500 and hard crash.

Post by DmitryGm » Wed 19 Oct 2022 09:34

We couldn't reproduce such an issue using the Oracle 19c server and Oracle Instant Client 19.16 (as well as the latest version of the Oracle client). Even if we increase the number of threads. Perhaps we need to know more details about your environment.

In any case, we would recommend using the latest version of the Oracle Client.
https://www.oracle.com/cis/database/tec ... loads.html

DarrenColes
Posts: 51
Joined: Mon 28 Aug 2006 11:07

Re: Oracle error OCI-21500 and hard crash.

Post by DarrenColes » Mon 24 Oct 2022 08:23

I have upgrded the client to 19.16 and still able to reproduce the error in our system.

Our IT infrastructure team are not happy with the idea of upgrading to oracle client 21 when we are running oracle 19 at the server.

What additional details about our environment would you want to know?

The Oracle client is the full client (19.16) - the database is Oracle 19.11

The Client OS is Windows 2016 and the Server OS is AIX 7.2

Post Reply