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

Re: (ITS#3567) slapd terminates unexpectedly



dam@baltic-online.de wrote:

>Full_Name: Dagobert Michelsen
>Version: 2.2.23
>OS: Solaris 9 4/04
>URL: 
>Submission from: (NULL) (62.214.9.52)
>
>
>The slapd process terminates unexpectedly after a random number of requests.
>Before 2.2.23 we used 2.2.17 and were forced to upgrade because of ITS#3400
>(loop in
>slapd_daemon_task() (daemon.c) after repeated EBADF returns from select()) The
>modification in ITS#3400 seem to change the behaviour from spinning to
>terminating
>which I assume is the change we are seeing here. However the cause of the
>termination
>is still unclear.
>
>The problem was reproduced on a SunFire V440 with 4 CPUs. We were unable to
>reproduce the problem on server with 1 CPU, so it might be a threading/sync
>issue.
>  
>
That's definitely a possibility. We've seen threading issues on Solaris 
8 that were fixed by switching to use the new threads library (which is 
the default library on Solaris 9) but I'm not aware of any issues with 
the Solaris 9 threads library. Perhaps you found one.

>Additionally we are seeing the problem only with the instance using the
>Perl backend, not with BDB. We use a modified back-perl which instantiates
>a new Perl object with each connection but I cannot see any evidence that the
>termination is due to our backend-modifications.
>  
>
If your usage pattern for back-bdb and back-perl are the same, but the 
problem does not occur with back-bdb, that certainly points at your 
back-perl code.

The truss output you sent begins too late, after the slapd shutdown 
sequence has already begun. It might help to see a little more of that 
so we can see what happens leading up to the first failed select call.

-- 
  -- Howard Chu
  Chief Architect, Symas Corp.       Director, Highland Sun
  http://www.symas.com               http://highlandsun.com/hyc
  Symas: Premier OpenSource Development and Support