Listener Crash with Core Dump due to Cross Registration

(Doc ID 877663.1)

Last updated on OCTOBER 27, 2016

Applies to:

Oracle Net Services - Version 8.1.7.4 to 12.1.0.1 [Release 8.1.7 to 12.1]
Generic UNIX
Generic UNIX

Symptoms

You may have 8i and 9i oracle instances registering with 8i listener .

For example :
-----------

Lets say you have oracle 8.0.6 , 8.1.7.4 and 9.2.0.8 instances running on the same box and all registering with 8.1.7 listener.

The setup seems to work fine for couple of days , but in the long run you may see the 8.1.7 listener crashing intermittently .

You may also notice the listener crash generates core file. The core file will be usually generated in the directory where the tnslsnr executable exixts.

The stack taken out of the core file may look like below : 

 $ gdb $ORACLE_HOME/bin/tnslsnr core 
    
    Core was generated by `tnslsnr'.
    Program terminated with signal 11, Segmentation fault. 
     
    (no debugging symbols found)...(no debugging symbols found)...
    (no debugging symbols found)...#0  0xc01980f4 in _sigfillset+0x624 ()
       from /usr/lib/libc.2
    (gdb) bt
    #0  0xc01980f4 in _sigfillset+0x624 () from /usr/lib/libc.2
    #1  0xc0195bbc in _sscanf+0x68c () from /usr/lib/libc.2
    #2  0xc019b23c in malloc+0x18c () from /usr/lib/libc.2
    #3  0x55c76c in nsglrohe+0x56c ()
    #4  0x5404dc in nsglhe+0x3f4 ()
    #5  0x543b88 in nsglma+0x2200 ()
    #6  0x36b2c in main+0x10 ()
    (gdb) q

 

gdb $ORACLE_HOME/bin/tnslsnr core 
    .......
    Core was generated by `tnslsnr'.
    Program terminated with signal 11, Segmentation fault. 
     
  
    debugging symbols found)...#0  0xc019b3b8 in free+0x140 ()
       from /usr/lib/libc.2
    (gdb) bt
    #0  0xc019b3b8 in free+0x140 () from /usr/lib/libc.2
    #1  0x1bf1ec in ncrmnlf+0x14 ()
    #2  0x1bf2bc in ncrmfr+0x20 ()
    #3  0x190ff0 in ncrfintn+0xfb8 ()
    #4  0x561e44 in nsgrx_xfr_101_in+0x2c ()
    #5  0x197850 in ncrorls+0x54 ()
    #6  0x55d684 in nsglrofree+0xa4 ()
    #7  0x55cb4c in nsglrohe+0x94c ()
    #8  0x5404dc in nsglhe+0x3f4 ()
    #9  0x543b88 in nsglma+0x2200 ()
    #10 0x36b2c in main+0x10 ()
    (gdb)

We can see the 'tnslsnr' terminated with signal 11 (segmentation fault) . The default action of a process after receiving this signal is to terminate . Hence the listener crash.

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