My Oracle Support Banner

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 FEBRUARY 15, 2019

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: <HOSTNAME>] [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: <HOSTNAME>] [pid: 18307] [tid: 0] Main:: gslmmshMemMap: attaching shared memory size=100000000

[2014-03-03T10:50:56+00:00] [OID] [NOTIFICATION:16] [] [OIDLDAPD] [host: <HOSTNAME>] [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: <HOSTNAME>] [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: <HOSTNAME>] [pid: 18307] [tid: 3] ServerDispatcher  : Thread Started

...<snip>...

[2014-03-03T10:50:57+00:00] [OID] [NOTIFICATION:16] [] [OIDLDAPD] [host: <HOSTNAME>] [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: <HOSTNAME] [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

To view full details, sign in with your My Oracle Support account.

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


In this Document
Symptoms
Cause
Solution
References


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.