[Mono-list] Oracle/OCI Thread Abort?

cabes jason at jasoncable.com
Wed Aug 1 18:34:06 EDT 2007


Greetings!  I'm running mono 1.2.4 that was compiled from source on OpenSuSE
10.2.  I have the Oracle Instant Client version 10.2.0.3.  I am getting the
following exceptions after calling several stored procedures in Oracle.  It
will get thrown after 10 or so sproc calls.  I'm thinking it might be an
issue with OCI not being thread-safe.  I've tried with connection pooling on
and off with the same result.  I'm running this from a console app.  I'd
appreciate any ideas.

Thanks,
Jason


WITH CONN. POOLING:

trying to GetStatementHandle
connectionState=Open
connectionString=Data Source=FOO;User Id=BAR;Pooling=true;Min Pool
Size=10;Max Pool Size=50;Connection Lifetime=20;;
connected=True

Unhandled Exception: TrueBaseline.DataAccess.DAL.Facades.DALException:
Unable to derive parameters. ---> System.Exception: Could not allocate new
OCI Handle of type Statement
  at System.Data.OracleClient.Oci.OciHandle.Allocate (OciHandleType type)
[0x00000]
  at System.Data.OracleClient.OracleCommand.GetStatementHandle () [0x00000]
  at System.Data.OracleClient.OracleCommand.ExecuteNonQuery () [0x00000]
  at (wrapper remoting-invoke-with-check)
System.Data.OracleClient.OracleCommand:ExecuteNonQuery ()
  at System.Data.OracleClient.OracleCommand.ResolveName (System.String
nameToResolve, System.String& schema, System.String& part1, System.String&
part2, System.String& dblink) [0x00000]
  at
System.Data.OracleClient.OracleCommand.DeriveParametersFromStoredProcedure
(System.String sproc_name) [0x00000]
  at System.Data.OracleClient.OracleCommand.DeriveParameters () [0x00000]
  at (wrapper remoting-invoke-with-check)
System.Data.OracleClient.OracleCommand:DeriveParameters ()
  at System.Data.OracleClient.OracleCommandBuilder.DeriveParameters
(System.Data.OracleClient.OracleCommand command) [0x00000]
  at
TrueBaseline.DataAccess.DAL.Facades.OracleClient.Command.set_CommandType
(CommandType value) [0x00000] --- End of inner exception stack trace ---

  at
TrueBaseline.DataAccess.DAL.Facades.OracleClient.Command.set_CommandType
(CommandType value) [0x00000]
  at
TrueBaseline.DataAccess.DataApplicationBlock.TrueOmf.DataAccessLayer.OracleClient.StoredProcedureProvider.GetCommandWrapper
(IDatabase database, System.String commandName, Boolean useStoredProcedure)
[0x00000]
  at
TrueBaseline.DataAccess.DataApplicationBlock.TrueOmf.DataAccessLayer.OracleClient.OracleEventMessageFunctionalObjectMethodMapProviderBase.GetBySolutionDomainIDName
(ITransactionManager transactionManager, Guid solutionDomainID,
System.String name, Int32 start, Int32 pageLength, System.Int32& count)
[0x00000]
  at
TrueBaseline.DataAccess.DataApplicationBlock.TrueOmf.DataAccessLayer.Bases.EventMessageFunctionalObjectMethodMapProviderBaseCore.GetBySolutionDomainIDName
(Guid solutionDomainID, System.String name, Int32 start, Int32 pageLength,
System.Int32& count) [0x00000]
  at
TrueBaseline.DataAccess.DataApplicationBlock.TrueOmf.DataAccessLayer.Bases.EventMessageFunctionalObjectMethodMapProviderBaseCore.GetBySolutionDomainIDName
(Guid solutionDomainID, System.String name) [0x00000]
  at testoracle.MainClass.Main (System.String[] args) [0x00000]



WITHOUT CONN POOLING:

trying to GetStatementHandle
connectionState=Open
connectionString=Data Source=FOO;User Id=BAR;Pooling=false;Connection
Lifetime=20;;
connected=True  mono [0x8156dbf]
        mono [0x8120e48]
        [0xb7eef440]
        /usr/lib/libclntsh.so(OCIErrorGet+0xa1) [0xb65407fb]
        [0xb167822f]
        [0xb16781c5]
        [0xb167807c]
        [0xb1677fd2]
        [0xb1677ed9]
        [0xb1677c38]
        [0xb197958c]
        [0xb1979531]
        [0xb1677b91]
        [0xb17873e9]
        [0xb197c45b]
        mono [0x816c965]
        mono [0x8111541]
        mono [0x816cb19]
        mono [0x80eb040]
        mono [0x8100b02]
        mono [0x8113d35]
        /lib/libpthread.so.0 [0xb7e15112]
        /lib/libc.so.6(clone+0x5e) [0xb7d7b2ee]

got StatementHandle
hasRows=True
parameter count: 3

Debug info from gdb:

Using host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1211385120 (LWP 9900)]
[New Thread -1219863664 (LWP 9902)]
[New Thread -1219781744 (LWP 9901)]
0xb7eef410 in ?? ()
  3 Thread -1219781744 (LWP 9901)  0xb7eef410 in ?? ()
  2 Thread -1219863664 (LWP 9902)  0xb7eef410 in ?? ()
  1 Thread -1211385120 (LWP 9900)  0xb7eef410 in ?? ()

Thread 3 (Thread -1219781744 (LWP 9901)):
#0  0xb7eef410 in ?? ()
#1  0xb74b93a8 in ?? ()
#2  0x081f8ff4 in ?? ()
#3  0x00000000 in ?? ()

Thread 2 (Thread -1219863664 (LWP 9902)):
#0  0xb7eef410 in ?? ()
#1  0xb74a4338 in ?? ()
#2  0x00000000 in ?? ()

Thread 1 (Thread -1211385120 (LWP 9900)):
#0  0xb7eef410 in ?? ()
#1  0xbfe91d38 in ?? ()
#2  0x00000810 in ?? ()
#3  0x0873a5c6 in ?? ()
#4  0xb7e1c02b in __read_nocancel () from /lib/libpthread.so.0
#5  0xb676080f in snttread () from /usr/lib/libclntsh.so
#6  0xb675dce1 in nttrd () from /usr/lib/libclntsh.so
#7  0xb66b0bc0 in nsprecv () from /usr/lib/libclntsh.so
#8  0xb66b4c8b in nsrdr () from /usr/lib/libclntsh.so
#9  0xb66943ee in nsdo () from /usr/lib/libclntsh.so
#10 0xb6693e97 in nsbrecv () from /usr/lib/libclntsh.so
#11 0xb66c8567 in nioqrc () from /usr/lib/libclntsh.so
#12 0xb67eacbf in ttcdrv () from /usr/lib/libclntsh.so
#13 0xb66cfbc8 in nioqwa () from /usr/lib/libclntsh.so
#14 0xb653b618 in upirtrc () from /usr/lib/libclntsh.so
#15 0xb64b05f6 in kpurcsc () from /usr/lib/libclntsh.so
#16 0xb64648b8 in kpuexecv8 () from /usr/lib/libclntsh.so
#17 0xb6466ec4 in kpuexec () from /usr/lib/libclntsh.so
#18 0xb65401b6 in OCIStmtExecute () from /usr/lib/libclntsh.so
#19 0xb1ad2f8a in ?? ()
#20 0x087178b0 in ?? ()
#21 0x0872d354 in ?? ()
#22 0x08716c44 in ?? ()
#23 0x00000000 in ?? ()
#0  0xb7eef410 in ?? ()


=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================

Aborted

-- 
View this message in context: http://www.nabble.com/Oracle-OCI-Thread-Abort--tf4203144.html#a11955212
Sent from the Mono - General mailing list archive at Nabble.com.



More information about the Mono-list mailing list