[unixODBC-support] Core dump issue from UnixODBC on AIX platform
hshaik at arcot.com
Mon Nov 5 16:17:26 GMT 2007
I need few more clarifications:
1. I extracted UnixODBC2.2.13pre source and the source code in
__handles.c looks similar. Will there be any impact on this problem from
code changes in other files?
2. Adding "Threading = 0" to odbcinst.ini file is just a suggestion, and
may not solve this issue, right?
3. If the above two can't solve this problem, we need to analyze the
current code. I checked the Makefile under the directory where I built
UnixODBC2.2.12. The flag HAVE_LIBTHREAD is set there. So, following code
is active in __handles.c,
static mutex_t mutex_lists;
static mutex_t mutex_env;
static mutex_t mutex_pool;
static mutex_t mutex_iconv;
static int mutex_entry( mutex_t *mutex )
return mutex_lock( mutex );
static int mutex_exit( mutex_t *mutex )
return mutex_unlock( mutex );
Our code dumps are happening in following functions:
a. __validate_stmt (885 line: ptr = ptr -> next_class_list; ) ptr
is statement root.
b. __release_desc (1104 line : ptr = ptr -> next_class_list; ).
ptr is descriptor root.
But mutex_entry( &mutex_lists ) and mutex_exit( &mutex_lists ) calls are
used at start and end of these functions. I am wondering how come str
can become NULL suddenly, as we already validating for it in while loop
(using while( ptr )).
Sorry, if I am troubling you with many questions.
Please clarify on this.
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:44 PM
To: Support for the unixODBC project
Subject: Re: [unixODBC-support] Core dump issue from UnixODBC on AIX
Hassan Shaik wrote:
>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?
=0 should be fine for a thread safe driver.
>Interesting thing is, when I turn on trace logging, we couldn't see
>core dump for 2 days (because of delay introduced?).
Yep, threading issues are always a problem.
unixODBC-support mailing list
unixODBC-support at easysoft.com
More information about the unixODBC-support