Simpler Navigation for Servers and Operating Systems
Completed: a much simpler Servers and Operating Systems section of the Community. We combined many of the older boards, so you won't have to click through so many levels to get at the information you need. Check the consolidated boards here as many sub-forums are now single boards.
General
cancel
Showing results for 
Search instead for 
Did you mean: 

Oracle 8.1.7 - Pthread calling OCIServerAttach stuck in findexportsym() in dld.sl in HPUX 11.00.01

wcheung
Occasional Contributor

Oracle 8.1.7 - Pthread calling OCIServerAttach stuck in findexportsym() in dld.sl in HPUX 11.00.01

An Oracle OCI application was ported from Solaris to HPUX 11.00.01. The application used POSIX threads and a newly created thread would call OCIServerAttach() to create an access path to a server for OCI operations. However the OCIServerAttach() call never returned and the thread was stuck in findexportsym() in dld.sl as shown in the below stack trace.

(gdb) info thread
* 3 system thread 12725 UDBConnect (UDBSpooling=0x7ed14224, pUDBProc=0x7ed14220
ServiceName=0x40002dc8 "hlrdbsrv", DatabaseName=0x40002c28 "hlrdbsrv", UserN
Password=0x40002cf8 "test", Option={bSQLClear = 1, SelRowCount = 0}, thread_
at /oracle/rs/tianfeng/test/udbcli.c:135
2 system thread 12679 0xc0020658 in findexportsym ()
1 system thread 12675 0x7f65b240 in _lwp_create () from /usr/lib/libpthread.1
(gdb) thread 2
[Switching to thread 2 (system thread 12679)]
#0 0xc0020658 in findexportsym ()
(gdb) bt
#0 0xc0020658 in findexportsym ()
#1 0xc0021bf0 in bind_symbol ()
#2 0xc00219f8 in _shl_bor ()
#3 0xc002c5ec in sp_ok ()
#4 0x7ed31e7c in ?? ()
Error accessing memory address 0x8000000: Bad address.
(gdb) q


Apparently similar code without POSIX threading was able to call OCIServerAttach() successfully. Does anyone know under what conditions a thread would stuck in findexportsym() ? Is the library dld.sl thread-safe ? Thanks in advance for any info or help you can provide.


-wmc
5 REPLIES
Michael Schulte zur Sur
Honored Contributor

Re: Oracle 8.1.7 - Pthread calling OCIServerAttach stuck in findexportsym() in dld.sl in HPUX 11.00.01

T G Manikandan
Honored Contributor

Re: Oracle 8.1.7 - Pthread calling OCIServerAttach stuck in findexportsym() in dld.sl in HPUX 11.00.01

Is the application 32bit or 64 bit.

Please make sure that you are linking the right libraries with it.

If you are running Oracle 8.1.7, then for 64 bit make sure that the LD_LIBRARY_PATH points to $ORACLE_HOME/lib64

ALso make sure to point to $ORACLE_HOME/lib for 32 bit
ranganath ramachandra
Esteemed Contributor

Re: Oracle 8.1.7 - Pthread calling OCIServerAttach stuck in findexportsym() in dld.sl in HPUX 11.00.01

this is probably a known bug JAGae28531: when one thread does a dlopen(), dlsym() in another thread hangs. the fix for that one is in PHSS_28869. please see if this patch solves your problem.
wcheung
Occasional Contributor

Re: Oracle 8.1.7 - Pthread calling OCIServerAttach stuck in findexportsym() in dld.sl in HPUX 11.00.01

Hi Michael, TG and Ranganath,

Thank you all for taking your time to respond to my question/problem. All your replies are very informative as I am new to this forum and also new to the Oracle product. After further investigation of the problem, it turns out to be annapplication problem which overflowed the default stack size (64K) of a thead.


Anyway thanks for all the help.

Rgds,
wmc
T G Manikandan
Honored Contributor

Re: Oracle 8.1.7 - Pthread calling OCIServerAttach stuck in findexportsym() in dld.sl in HPUX 11.00.01

Then you should check the kernel parameters


maxssiz
If you are running a 64 bit applicaiton then increase maxssiz_64

Revert