From time to time, syncrepl breaks on the replica, with this in the
logs:
slapd[1737]: null_callback : error code 0x50
slapd[1737]: syncrepl_entry: rid=017 be_modify failed (80)
slapd[1737]: do_syncrepl: rid=017 retrying
code 80 is LDAP_OTHER, which is not very insightful. The only way to get
syncrepl working again is to wipe out the database and restart slapd.
Being out of sync is not very pleasant, but there is worse: when several
replicas are harassing the master with syncrepl requests, it tends to
die horribly, with stuff like this:
1) assertion "c->c_conn_state == SLAP_C_CLOSING" failed: file
"connection.c", line 787, function "connection_close"
2) assertion "c->c_struct_state == SLAP_C_USED" failed: file
"connection.c", line 680, function "connection_state_closing"
3) slapd: Error detected by libpthread: Invalid mutex. Detected by file
"/home/builds/ab/netbsd-4/src/lib/libpthread/pthread_mutex.c", line
295, function "pthread_mutex_trylock".
I end up with a hung slapd, that I can only get rid of with a kill -9.
All of this happens with 2.4.13. Are these known bugs?