[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: Need signal handler for SIGSEGV (ITS#370)



At 08:53 PM 11/16/99 GMT, sjm@123office.com wrote:
>Full_Name: Steve McCarthy
>Version: 1.2.6
>OS: Linux
>URL: ftp://ftp.openldap.org/incoming/
>Submission from: (NULL) (207.66.210.194)
>
>
>We have been using OpenLDAP for a while, and have found ways of making it
>crash.

Please report the conditions which caused it to crash.

If using preemptive threads, don't.

>There are signal handlers to catch all kinds of signals, good and bad, which
>ensure
>for an orderly shutdown in case of trouble.
>
>But if you get a SEGV, slapd dies hard and fast, and any deferred writes to the
>database do not happen, which can leave the underlying database in an
>inconsistent 
>state.  
>
>We have also seen that after a SIGSEGV, many times slapd will run for a short
>while 
>before getting another segmentation violation, and we are then forced to do a
>manual rebuild of the data from the database.
>
>It appears that we can do an orderly shutdown for slapd by adding one line to 
>servers/slapd/main.c:
>(void) SIGNAL( SIGSEGV, slap_set_shutdown );
>
>Thanks, 
>Steve McCarthy
>
>
>

----
Kurt D. Zeilenga		<kurt@boolean.net>
Net Boolean Incorporated	<http://www.boolean.net/>