[Mono-list] Oracle/OCI Thread Abort?

A Nagappan anagappan at novell.com
Thu Aug 2 02:01:32 EDT 2007


Hi,
  Probably you can file this as a bug and assign to skolima at gmail.com
Mono  Oracle Client maintainer.

Thanks
Nagappan
-- 

--
Nagappan A <anagappan at novell.com>
Linux Desktop Testing Project - http://ldtp.freedesktop.org
http://nagappanal.blogspot.com

Novell, Inc.
SUSE* Linux Enterprise 10
Your Linux is ready*
http://www.novell.com/linux




>>> On 8/2/2007 at 4:04 AM, in message <11955212.post at talk.nabble.com>,
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.OracleC
> lient.StoredProcedureProvider.GetCommandWrapper
> (IDatabase database, System.String commandName, Boolean
useStoredProcedure)
> [0x00000]
>   at
>
TrueBaseline.DataAccess.DataApplicationBlock.TrueOmf.DataAccessLayer.OracleC
>
lient.OracleEventMessageFunctionalObjectMethodMapProviderBase.GetBySolutionDo
> mainIDName
> (ITransactionManager transactionManager, Guid solutionDomainID,
> System.String name, Int32 start, Int32 pageLength, System.Int32&
count)
> [0x00000]
>   at
>
TrueBaseline.DataAccess.DataApplicationBlock.TrueOmf.DataAccessLayer.Bases.E
>
ventMessageFunctionalObjectMethodMapProviderBaseCore.GetBySolutionDomainIDNam
> e
> (Guid solutionDomainID, System.String name, Int32 start, Int32
pageLength,
> System.Int32& count) [0x00000]
>   at
>
TrueBaseline.DataAccess.DataApplicationBlock.TrueOmf.DataAccessLayer.Bases.E
>
ventMessageFunctionalObjectMethodMapProviderBaseCore.GetBySolutionDomainIDNam
> e
> (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


More information about the Mono-list mailing list