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

Re: slapd fails to start up in 2.3.8 and 2.3.9



errno 38 is ENOSYS, it seems the epoll_ctl system call is not implemented on your target kernel. You say that running "make test" works though? That's pretty strange. You'll probably have to set ac_cv_header_sys_epoll_h = no and rerun configure. The configure script checks that epoll_create() works, strange that it would succeed but epoll_ctl() fails.

Buchan Milne wrote:
I rebuild the Mandriva OpenLDAP packages I maintain on RHEL3 and RHEL4. At present, I am building them in a 32bit chroot on an x86_64 machine, and installing them on a 32bit RHEL3 machine (with bonded interfaces, multiple VLANs etc). Up to 2.3.7, this has worked great.

On 2.3.8 and 2.3.9, even though the tests (at least for bdb) complete successfully, slapd doesn't start up:

# slapd2.3 -g ldap -u ldap -d -1
[...]

slapd2.3 startup: initiated.
backend_startup_one: starting "cn=config"
backend_startup_one: starting "dc=example,dc=com"
bdb_db_open: dc=example,dc=com
bdb_db_open: dbenv_open(/var/lib/ldap2.3)
slapd starting
daemon: epoll_ctl ADD failed, errno 38, shutting down
daemon: added 4r
daemon: epoll_ctl ADD failed, errno 38, shutting down
daemon: added 6r
daemon: abnormal condition, shutdown initiated.
daemon: closing 6
slapd shutdown: waiting for 0 threads to terminate
slapd2.3 shutdown: initiated
====> bdb_cache_release_all
slapd2.3 destroy: freeing system resources.
slapd stopped.


Would running slapd under gdb help here? If so I'll do so tomorrow.


Downgrading to the previous 2.3.7 packages results in slapd starting up fine:

# rpm -qa '*ldap*2.3*'
libldap2.3_0-2.3.8-1.rhel.3es
openldap2.3-servers-2.3.8-1.rhel.3es
openldap2.3-2.3.8-1.rhel.3es


# rpm -Uvh libldap2.3_0-2.3.7-2.rhel.3es.i386.rpm openldap2.3-2.3.7-2.rhel.3es.i386.rpm openldap2.3-servers-2.3.7-2.rhel.3es.i386.rpm --oldpackage --nodeps
Preparing... ########################################### [100%]
1:openldap2.3-servers warning: /etc/openldap2.3/slapd.conf created as /etc/openldap2.3/slapd.conf.rpmnew
########################################### [ 33%]
2:libldap2.3_0 ########################################### [ 67%]
3:openldap2.3 ########################################### [100%]



# slapd2.3 -g ldap -u ldap -d -1

[...]

slapd2.3 startup: initiated.
backend_startup_one: starting "cn=config"
backend_startup_one: starting "dc=example,dc=com"
bdb_db_open: dc=example,dc=com
bdb_db_open: dbenv_open(/var/lib/ldap2.3)
slapd starting
daemon: added 4r
daemon: added 6r
daemon: select: listen=6 active_threads=0 tvp=zero


Most relevant information can be found here: http://cvs.mandriva.com/cgi-bin/cvsweb.cgi/SPECS/openldap/


On RHEL (well, everything but Mandriva 2006 or newer), the package builds an internal Berkely DB 4.2.52.4 + patch. I was just installing the server so the networking people could ensure network connectivity etc worked, so it is also using the default slapd.conf available above.

Maybe I'll file an ITS tomorrow.

Regards,
Buchan



--
 -- Howard Chu
 Chief Architect, Symas Corp.  http://www.symas.com
 Director, Highland Sun        http://highlandsun.com/hyc
 OpenLDAP Core Team            http://www.openldap.org/project/