Subject: pkg/37431: OpenLDAP wreckage with bdb and ldbm backend
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <tonnerre@bsdprojects.net>
List: pkgsrc-bugs
Date: 11/25/2007 14:50:00
>Number:         37431
>Category:       pkg
>Synopsis:       Total wreckage of OpenLDAP in current versions
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Nov 25 14:50:00 +0000 2007
>Originator:     Tonnerre Lombard
>Release:        NetBSD 3.1
>Organization:
BSD projects network
>Environment:
System: NetBSD aspirateur.pas-un-geek-en-tant-que-tel.ch 3.1 NetBSD 3.1 (GENERIC) #0: Tue Oct 31 04:27:07 UTC 2006 builds@b0.netbsd.org:/home/builds/ab/netbsd-3-1-RELEASE/i386/200610302053Z-obj/home/builds/ab/netbsd-3-1-RELEASE/src/sys/arch/i386/compile/GENERIC i386
Architecture: i386
Machine: i386
db4-4.5.20.2
openldap-server-2.3.39
>Description:
	The current version of OpenLDAP from pkgsrc is purely impossible to
	use due to several bugs, the first of which is:

	When using the BerkeleyDB backend, slapd fails to create its own
	database with the following output:

	bdb(dc=ngas,dc=ch): Berkeley DB library configured to support only private environments
	bdb_db_open: Database cannot be opened, err 22. Restore from backup!
	bdb(dc=ngas,dc=ch): DB_ENV->lock_id_free interface requires an environment configured for the locking subsystem
	bdb(dc=ngas,dc=ch): txn_checkpoint interface requires an environment configured for the transaction subsystem
	bdb_db_close: txn_checkpoint failed: Invalid argument (22)
	backend_startup_one: bi_db_open failed! (22)
	bdb_db_close: alock_close failed

	However, since there is no database yet, clearly there is also no
	backup to restore from. However, I copied a version of a BerkeleyDB
	from some place which used the previous version from pkgsrc which
	worked (once upon a time), and ran the restore program on it so I
	got a clean database. However, executing any type of search request
	instantly crashes the slapd.

	Using the ldbm backend yields better results at first (i.e. slapd
	starts), but while it has indeed worked in an older environment
	(openldap-server-2.3.38, db4-4.5.20.2, NetBSD 4.0_RC1), trying to
	add data using ldapadd blocks after adding the first entry, and the
	slapd doesn't even react on SIGTERM then, it has to be killed using
	SIGKILL. However, occasionally, this corrupts the database, and
	ldbm format databases are really ugly to restore.

	All in all, let me sum it up: completely wrecked.
>How-To-Repeat:
	Install OpenLDAP and try to use it

>Fix:

Unknown