[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: (ITS#7968) SIGSEGV shortly after reconnection performed by syncrepl due to synchronization conflicts
- To: openldap-its@OpenLDAP.org
- Subject: Re: (ITS#7968) SIGSEGV shortly after reconnection performed by syncrepl due to synchronization conflicts
- From: leo@yuriev.ru
- Date: Sat, 29 Nov 2014 13:30:15 +0000
- Auto-submitted: auto-generated (OpenLDAP-ITS)
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;
> }
> }