[Date Prev][Date Next]
Re: (ITS#3567) slapd terminates unexpectedly
Von Chris Markle <email@example.com> (Mon, 07 Mar 2005 22:10:44 -0800):
> Howard, Dagobert,
> >Your log shows that poll() fails with ENOSYS, which is not a documented
> >failure code for this system call. It looks like Solaris itself has
> >failed here, and you should probably contact Sun for a solution.
> Maybe this is a Sun bug but as we went through here at Sendamil and reported in ITS 3400, the ENOSYS could mean "I don't like a return value I got from poll()" where poll() is use to implement select on Solaris. Dagobert - I suggest you repro the problem and get three pieces of doc:
> 1) truss with options:
> truss -d -l -f -vpoll -u:: -ua.out:: -o <output_file_name> -p <pid>
> This will show the select call getting mapped to poll() like the following. In ITS 3400, we saw that the pollset as built from the select() call had a bit set for an FD that Solaris thinks is closed. (My suspicsion is slapd lost track of FDs somehow and left one set for an FD that it had closed.)
truss -d -l -f -vpoll -u\!back_perl-2.2 -ua.out:: -o ldap-remapper-2005-03-08.truss -p 5988
because the backend messages cluttered up the log. The output can be found at
> 2) To see that possibility, run slapd (same time as you got the truss) with the debug level 8, which should trace slapd connection activity ala (this exampel is from OpenLDAP 2.1 but it should be roughly the same):
The result can be found at
> 3) When it spins, take a core dump of slapd with the gcore command.
I don't think that it will spin as I used 2.2.23 where slapd terminates after this
kind of failure.
> I'll help Howard look at the doc if you can collect it (and if he wants/needs my help).
I really appreciate your commitment.
Dagobert Michelsen (Leiter IT) Baltic Online Computer GmbH
Alter Markt 1-2, 24103 Kiel, +49 431 54003-0 (Fon) -99 (Fax)
Flughafenstr. 52c, 22335 Hamburg, +49 40 53299-395 (Fon) -100 (Fax)
Big Servers, Fat Pipes, Massive Storage, Objects Everywhere