900 Seconds Timer Triggered when making a connection to a Database via LDAP and using xaopen (Doc ID 2022925.1)

Last updated on JUNE 22, 2015

Applies to:

Oracle Database - Enterprise Edition - Version 12.1.0.2 and later
Oracle Net Services - Version 12.1.0.2 and later
Information in this document applies to any platform.

Symptoms

Connecting to Oracle DataGuard 12.1.0.2 database through the XA interface causes a 900 seconds timer to be set.
900 seconds after xaoopen() has been triggered SIGALRM is sent interrupting what the process was currently performing.

The problem arises when using a Tuxedo application. Tuxedo server was performing a msgrcv() when the SIGALRM was triggered leading the server to die.

Using dbx on the client process we have the folowing stack

#0  0x0000003329a9f490 in setitimer () from /lib64/libc.so.6
#1  0x00007ffff220e940 in sslssarm () from /opt/oracle/dbclient/ocl12102/lib/libclntshcore.so.12.1
#2  0x00007ffff220e5ae in sslssalck () from /opt/oracle/dbclient/ocl12102/lib/libclntshcore.so.12.1
#3  0x00007ffff224774c in sltmarm () from /opt/oracle/dbclient/ocl12102/lib/libclntshcore.so.12.1
#4  0x00007ffff224745f in ltmstm () from /opt/oracle/dbclient/ocl12102/lib/libclntshcore.so.12.1
#5  0x00007ffff612861f in nnfltimset () from /opt/oracle/dbclient/ocl12102/lib/libclntsh.so.12.1   <<<<<<<<<<<<<<<<  Set the timer for a connection.
#6  0x00007ffff61283e4 in nnfltimstart () from /opt/oracle/dbclient/ocl12102/lib/libclntsh.so.12.1 <<<<<<<<<<<<<<<< Create and start a timer for a particular connection
#7  0x00007ffff5030ead in nnflrlc () from /opt/oracle/dbclient/ocl12102/lib/libclntsh.so.12.1  <<<<<<<<< Recover LDAP connection
#8  0x00007ffff502b207 in nnflobc () from /opt/oracle/dbclient/ocl12102/lib/libclntsh.so.12.1 <<<<<<<<< Open and bind a connection
#9  0x00007ffff502a578 in nnflcgc () from /opt/oracle/dbclient/ocl12102/lib/libclntsh.so.12.1
#10 0x00007ffff5029f16 in nnflboot () from /opt/oracle/dbclient/ocl12102/lib/libclntsh.so.12.1
#11 0x00007ffff4ee6f33 in nnfgrne () from /opt/oracle/dbclient/ocl12102/lib/libclntsh.so.12.1
#12 0x00007ffff500b264 in nlolgobj () from /opt/oracle/dbclient/ocl12102/lib/libclntsh.so.12.1
#13 0x00007ffff4ee542f in nnfun2a () from /opt/oracle/dbclient/ocl12102/lib/libclntsh.so.12.1
#14 0x00007ffff4ee5203 in nnfsn2a () from /opt/oracle/dbclient/ocl12102/lib/libclntsh.so.12.1
#15 0x00007ffff4f767e1 in niqname () from /opt/oracle/dbclient/ocl12102/lib/libclntsh.so.12.1 <<<<<<<<<<< Start of network code.
#16 0x00007ffff4e29d1c in kpplcSetServerType () from /opt/oracle/dbclient/ocl12102/lib/libclntsh.so.12.1
#17 0x00007ffff4e2a86b in kpuatch () from /opt/oracle/dbclient/ocl12102/lib/libclntsh.so.12.1
#18 0x00007ffff4e134ff in OCIServerAttach () from /opt/oracle/dbclient/ocl12102/lib/libclntsh.so.12.1
#19 0x00007ffff5bc3674 in xaolgn_help () from /opt/oracle/dbclient/ocl12102/lib/libclntsh.so.12.1  
#20 0x00007ffff5bc4163 in xaolgn () from /opt/oracle/dbclient/ocl12102/lib/libclntsh.so.12.1
#21 0x00007ffff5bbd572 in xaoopen_help () from /opt/oracle/dbclient/ocl12102/lib/libclntsh.so.12.1
#22 0x00007ffff5bbd76d in xaoopen () from /opt/oracle/dbclient/ocl12102/lib/libclntsh.so.12.1  <<<<<<<<<<<<<<<<<<<XA
#23 0x00007ffff7b17f6b in tpopen () from /opt/oracle/tux/tux12cR2rp007/tux12.1.3/lib/libtux.so
#24 0x00007ffff7b584f7 in tx_open () from /opt/oracle/tux/tux12cR2rp007/tux12.1.3/lib/libtux.so
#25 0x0000000000400a06 in tpsvrinit ()
#26 0x00007ffff7b42388 in _tmmain () from /opt/oracle/tux/tux12cR2rp007/tux12.1.3/lib/libtux.so
#27 0x00007ffff7b262bc in _tmstartserver () from /opt/oracle/tux/tux12cR2rp007/tux12.1.3/lib/libtux.so
#28 0x00000000004009d8 in main ()

So the timer is set in the network code and specifically when using LDAP

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms