[unixODBC-support] Core dump issue from UnixODBC on AIX platform
hshaik at arcot.com
Mon Nov 5 15:02:51 GMT 2007
We are using DB2 ODBC driver. Looks like, it is thread-safe;
Following are the contents of odbcinst.ini file.
Description=DB2 ODBC Driver
So, default value for Threading level is 3, right? Do you recommend
adding "Threading = 0" in this file?
Interesting thing is, when I turn on trace logging, we couldn't see core
dump for 2 days (because of delay introduced?).
From: unixodbc-support-bounces at easysoft.com
[mailto:unixodbc-support-bounces at easysoft.com] On Behalf Of Nick Gorham
Sent: Monday, November 05, 2007 8:20 PM
To: Support for the unixODBC project
Subject: Re: [unixODBC-support] Core dump issue from UnixODBC on AIX
Hassan Shaik wrote:
>Thanks for your quick response.
>1. Can you please point me to the ftp location from where I can
>download UnixODBC 2.2.13pre? When it will be released officially?
No date for release yet.
>2. I have gone through some of the discussions in easysoft support
>email aliases. In one thread, its recommended to set "Threading = 0" in
>odbcinst.ini file. I have gone through the below notes in __handles.c
>file. Can you please more elaborate on when to use these levels? Does
>trying "Threading = 0" will help? Pls clarify.
> * use just one mutex for all the lists, this avoids any issues
> * with deadlocks, the performance issue should be minimal, if it
> * turns out to be a problem, we can readdress this
> * We also have a mutex to protect the connection pooling code
> * If compiled with thread support the DM allows four different
> * thread strategies
> * Level 0 - Only the DM internal structures are protected
> * the driver is assumed to take care of it's self
> * Level 1 - The driver is protected down to the statement level
> * each statement will be protected, and the same for the connect
> * level for connect functions, note that descriptors are considered
> * equal to statements when it comes to thread protection.
> * Level 2 - The driver is protected at the connection level. only
> * one thread can be in a particular driver at one time
> * Level 3 - The driver is protected at the env level, only one thing
> * at a time.
> * By default the driver open connections with a lock level of 3,
> * this can be changed by adding the line
> * Threading = N
> * to the driver entry in odbcinst.ini, where N is the locking level
> * (0-3)
>Appreciate your help on this.
The comments you posted explain the use of the flag. If your driver
isn't thread safe use something otyher than 0, if it is, then 0 is fine.
You didn't mention what driver you were using. As you seem to be
reporting a problem with the driver managers own thread handling, the
Threading level should have no effect.
unixODBC-support mailing list
unixODBC-support at easysoft.com
More information about the unixODBC-support