OID 11g Crashes with Log Error: Shared memory get failed OS error=2 | *** glibc detected *** oidldapd: double free or corruption (!prev): 0x000000000cd5c2e0 *** (Doc ID 1677888.1)

Last updated on MARCH 08, 2017

Applies to:

Oracle Internet Directory - Version 11.1.1.6.0 and later
Information in this document applies to any platform.

Symptoms

Oracle Internet Directory (OID) 11g, i.e., 11.1.1.6.0.

OID crashes (memory corruption).

The temporary workaround is to restart all IDM services.

The OID ldap server log shows:

...<snip>...

[2014-03-03T10:50:56+00:00] [OID] [NOTIFICATION:16] [] [OIDLDAPD] [host: myhoidhost.mycompany.com] [pid: 18307] [tid: 0] Main:: Shared memory attach failed for size=209715200, attaching with default size

[2014-03-03T10:50:56+00:00] [OID] [NOTIFICATION:16] [] [OIDLDAPD] [host: myhoidhost.mycompany.com] [pid: 18307] [tid: 0] Main:: gslmmshMemMap: attaching shared memory size=100000000

[2014-03-03T10:50:56+00:00] [OID] [NOTIFICATION:16] [] [OIDLDAPD] [host: myhoidhost.mycompany.com] [pid: 18307] [tid: 0] Main:: gslmmshMemMap: Shared memory get failed OS error=2

[2014-03-03T10:50:56+00:00] [OID] [NOTIFICATION:16] [] [OIDLDAPD] [host: myhoidhost.mycompany.com] [pid: 18307] [tid: 0] Main:: Shared memory attach failed for size=100000000, ignoring

[2014-03-03T10:50:57+00:00] [OID] [NOTIFICATION:16] [] [OIDLDAPD] [host: myhoidhost.mycompany.com] [pid: 18307] [tid: 3] ServerDispatcher  : Thread Started

...<snip>...

[2014-03-03T10:50:57+00:00] [OID] [NOTIFICATION:16] [] [OIDLDAPD] [host: myhoidhost.mycompany.com] [pid: 18307] [tid: 12] ServerWorker (SPW): Thread Started

*** glibc detected *** oidldapd: double free or corruption (!prev): 0x000000000cd5c2e0 ***
*** glibc detected *** oidldapd: corrupted double-linked list: 0x000000000cd5c3a0 ***

[2014-03-03T10:56:12+00:00] [OID] [NOTIFICATION:16] [] [OIDLDAPD] [host: myhoidhost.mycompany.com] [pid: 18307] [tid: 0] Main:: WARNING : ServerController : Processing shutdown notification

...<end>...

 

The OID stack log may show:

Dumping stack trace for OIDLDAPD (server) ...
calling               caller                argument values in hex
location                                     (? means dubious value)
--------------------------------------------------------------------
gslusdsDumpStack()  __restore_rt()           arg#1: ???? value=4894EB88 (ptr)
                                            arg#2: ???? value=4894AF60 (ptr)
                                            arg#3: ???? value=4894C478 (ptr)
                                            arg#4: ???? value=4894C540 (ptr)
                                            arg#5: ???? value=4894EB88 (ptr)
                                            arg#6: ???? value=00000001 (ptr)


__restore_rt()      gsignal()+53             arg#1: ???? value=0000196F (ptr)
                                            arg#2: ???? value=00001981 (ptr)
                                            arg#3: ???? value=00000006 (ptr)
                                            arg#4: ???? value=FFFFFFFF (ptr)
                                            arg#5: ???? value=00000080 (ptr)
                                            arg#6: ???? value=01010101 (ptr)


gsignal()           abort()+272              arg#1: ???? value=0000196F (ptr)
                                            arg#2: ???? value=00001981 (ptr)
                                            arg#3: ???? value=00000006 (ptr)
                                            arg#4: ???? value=FFFFFFFF (ptr)
                                            arg#5: ???? value=00000080 (ptr)
                                            arg#6: ???? value=01010101 (ptr)


abort()             __libc_message()+699     arg#1: ???? value=0000196F (ptr)
                                            arg#2: ???? value=00001981 (ptr)
                                            arg#3: ???? value=00000006 (ptr)
                                            arg#4: ???? value=FFFFFFFF (ptr)
                                            arg#5: ???? value=00000080 (ptr)
                                            arg#6: ???? value=01010101 (ptr)

...<snip>...

Dumping stack trace of other threads ...
Signaling thread 1 to dump stack
calling               caller                argument values in hex
location                                     (? means dubious value)
--------------------------------------------------------------------
gslusdsDumpStack()  __restore_rt()           arg#1: ???? value=3D501AD8 (ptr)
                                            arg#2: ???? value=3D4FDEB0 (ptr)
                                            arg#3: ???? value=3D4FF3C8 (ptr)
                                            arg#4: ???? value=3D4FF490 (ptr)
                                            arg#5: ???? value=3D501AD8 (ptr)
                                            arg#6: ???? value=00000001 (ptr)


__restore_rt()      __poll()+102             arg#1: ???? value=00000000 (ptr)
                                            arg#2: ???? value=00000000 (ptr)
                                            arg#3: ???? value=000003E8 (ptr)
                                            arg#4: ???? value=FFFFFFFF (ptr)
                                            arg#5: ???? value=00000000 (ptr)
                                            arg#6: ???? value=00000001 (ptr)


__poll()            sgslupslSleep()+17       arg#1: ???? value=00000000 (ptr)
                                            arg#2: ???? value=00000000 (ptr)
                                            arg#3: ???? value=000003E8 (ptr)
                                            arg#4: ???? value=FFFFFFFF (ptr)
                                            arg#5: ???? value=00000000 (ptr)
                                            arg#6: ???? value=00000001 (ptr)

...<snip>...

 

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