current OPENLDAP_REL_ENG_2_4 (6b26910 Silence compiler warning...) with merge-in current mdb.master (9a72292 ITS#7961,#7987 Re-fix txn init) - cluster of 4 node, but on single machine. - only localback network, no any failures. - multi-master by config, but all writes come only to first node.
Testcase will be available shortly (config + script).
Core was generated by `/opt/openldap.devel/libexec/slapd -l LOCAL5 -d 0 -s 0 -4 -h ldap://10.4.0.1:1114'. Program terminated with signal 11, Segmentation fault. #0 0x00007ff68564d07b in ?? () from /lib/x86_64-linux-gnu/libc.so.6 (gdb) bt #0 0x00007ff68564d07b in ?? () from /lib/x86_64-linux-gnu/libc.so.6 #1 0x000000000047fb3c in do_syncrep2 (op=0x7ff62f7fd740, si=0x1c74190) at syncrepl.c:934 #2 0x00000000004838c3 in do_syncrepl (ctx=<optimised out>, arg=0x1c746d0) at syncrepl.c:1539 #3 0x00000000004250a8 in connection_read_thread (ctx=0x7ff62f7fdbd0, argv=0x35) at connection.c:1293 #4 0x00007ff685ceecf2 in ldap_int_thread_pool_wrapper (xpool=0x1c27090) at tpool.c:688 #5 0x00007ff6858b90a5 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0 #6 0x00007ff6855e684d in clone () from /lib/x86_64-linux-gnu/libc.so.6
if ( !BER_BVISNULL( &syncCookie.octet_str ) ) { slap_parse_sync_cookie( &syncCookie, NULL ); if ( syncCookie.ctxcsn ) { int i, sid = slap_parse_csn_sid( syncCookie.ctxcsn ); check_syncprov( op, si ); for ( i =0; i<si->si_cookieState->cs_num; i++ ) { /* new SID */ if ( sid < si->si_cookieState->cs_sids[i] ) break; if ( si->si_cookieState->cs_sids[i] == sid ) {
syncrepl.c:934 > if ( ber_bvcmp( syncCookie.ctxcsn, &si->si_cookieState->cs_vals[i] ) <= 0 ) {
bdn.bv_val[bdn.bv_len] = '\0'; Debug( LDAP_DEBUG_SYNC, "do_syncrep2: %s CSN too old, ignoring %s (%s)\n", si->si_ridtxt, syncCookie.ctxcsn->bv_val, bdn.bv_val ); ldap_controls_free( rctrls ); rc = 0; si->si_too_old = 1; goto done; } si->si_too_old = 0; break; } }