On Fri, Jun 06, 2008 at 02:52:49PM -0700, Steve Langasek wrote: > > I can reproduce it by restarting the slapd it is connected to. The > > Ubuntu launchpad entry refers to that fix > > > openldap2.3 (2.4.9-1ubuntu1) intrepid; urgency=low > > > * Merge from debian unstable, remaining changes: > > [...] > > - debian/patches/fix-assertion-io.patch: Fixes ber_flush2 assertion. > > (LP: #215904) > > Ah, ok, that's a bit confusing... I didn't realize that this merge > introduced new patches that weren't in intrepid previously. > > I'll work on extracting this patch and getting it merged into Debian, > thanks.
For the record, applying the patch from the Ubuntu package (attached) to the Debian 2.4.9-1 sources and recompiling fixed my issues, I don't see any asserts anymore when shutting down the primary LDAP server. Bernhard
diff -Naur openldap-2.4.7.orig/libraries/libldap/request.c openldap-2.4.7/libraries/libldap/request.c --- openldap-2.4.7.orig/libraries/libldap/request.c 2007-08-31 19:13:56.000000000 -0400 +++ openldap-2.4.7/libraries/libldap/request.c 2008-05-23 05:47:40.000000000 -0400 @@ -631,6 +631,9 @@ } else { prevlc->lconn_next = tmplc->lconn_next; } + if (ld->ld_defconn == lc) { + ld->ld_defconn = NULL; + } break; } prevlc = tmplc; @@ -675,6 +678,8 @@ if ( lc->lconn_sb != ld->ld_sb ) { ber_sockbuf_free( lc->lconn_sb ); + } else { + ber_int_sb_close( lc->lconn_sb ); } if ( lc->lconn_rebind_queue != NULL) {