ODSEE - Directory Server Crash Issues: How to Use Libumem on Solaris to Capture a Better Core File for Heap Corruptions (Doc ID 1292634.1)

Last updated on SEPTEMBER 16, 2016

Applies to:

Oracle Directory Server Enterprise Edition - Version 5.1 to 11.1.1.7.0 [Release 5.0 to 11gR1]
Information in this document applies to any platform.
Add ***Checked for relevance on 04-Apr-1013***

Goal

If a Directory Server crashes as the result of a Memory Heap Corruption (or other possible causes) the core (crash) file may be unusable.  Enabling Libumem and waiting for the next crash will give additional debugging data for Oracle Support's use.

In most cases the core will contain the shi_allocSmall2 and MemAllocPtr functions in the first two frames of the crashing thread.  In this case, Thread (lwp) 22 crashed.

 

The existance of the shi_allocSmall2 and MemAllocPtr functions in the thread indicate a Heap Corruption and the real reason for the crash is not contained in the core file.  This is where libumem comes into play.  Normally in a heap corruption issue the crashing element does not cause a crash and the (memory space) heap is overwritten erasing the evidence of the issue.  The server crashes some time later and the reason for the crash is lost. Libumem will not allow the heap to be corrupted by the crashing element and exits immediately trapping the real reason for the crash in the core file.

Solution

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