diff -u openldap-2.4.31/debian/changelog openldap-2.4.31/debian/changelog
--- openldap-2.4.31/debian/changelog
+++ openldap-2.4.31/debian/changelog
@@ -1,3 +1,10 @@
+openldap (2.4.31-1+nmu1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Avoid deadlocks in back-bdb that truncate slapcat output (closes: #673038).
+
+ -- Michael Gilbert <mgilbert@debian.org>  Tue, 16 Apr 2013 03:35:31 +0000
+
 openldap (2.4.31-1) unstable; urgency=low
 
   * New upstream release.
diff -u openldap-2.4.31/debian/patches/series openldap-2.4.31/debian/patches/series
--- openldap-2.4.31/debian/patches/series
+++ openldap-2.4.31/debian/patches/series
@@ -21,0 +22 @@
+bdb-deadlock.patch
only in patch2:
unchanged:
--- openldap-2.4.31.orig/debian/patches/bdb-deadlock.patch
+++ openldap-2.4.31/debian/patches/bdb-deadlock.patch
@@ -0,0 +1,17 @@
+--- openldap-2.4.31.orig/servers/slapd/back-bdb/init.c
++++ openldap-2.4.31/servers/slapd/back-bdb/init.c
+@@ -529,7 +529,13 @@
+ 	}
+ 
+ 	if ( !quick ) {
+-		TXN_BEGIN(bdb->bi_dbenv, NULL, &bdb->bi_cache.c_txn, DB_READ_COMMITTED | DB_TXN_NOWAIT);
++		int txflag = DB_READ_COMMITTED;
++		/* avoid deadlocks in server; tools should
++		 * wait since they have no deadlock retry mechanism.
++		 */
++		if ( slapMode & SLAP_SERVER_MODE )
++			txflag |= DB_TXN_NOWAIT;
++		TXN_BEGIN(bdb->bi_dbenv, NULL, &bdb->bi_cache.c_txn, txflag);
+ 	}
+ 
+ 	entry_prealloc( bdb->bi_cache.c_maxsize );
