[Mono-list] Oracle/OCI Thread Abort?
Daniel Morgan
monodanmorg at yahoo.com
Thu Aug 2 12:31:28 EDT 2007
I don't know the answer to OCI. However, I do know
the Oracle provider is NOT thread-safe.
Is the oracle client provider in microsoft .net
framework thread-safe?
If yes, any recommendations on how to make the
provider thread-safe?
--- cabes <jason at jasoncable.com> wrote:
>
> 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 ?? ()
>
=== message truncated ===
____________________________________________________________________________________
Pinpoint customers who are looking for what you sell.
http://searchmarketing.yahoo.com/
More information about the Mono-list
mailing list