[Date Prev][Date Next] [Chronological] [Thread] [Top]

(ITS#5077) syncrepl.add_cmp() infinite loop on swapped values



Full_Name: Donn Cave
Version: 2.4.4
OS: Red Hat Linux
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (128.95.135.150)


In "while" loop at 2656, I find old->a_vals are like [..., a, b, ...] and
new->a_vals are like [..., b, a, ...].

Matches are found at old [i] == new [k = j+1] and old [k = i+1] == new [j], but
this just shows that neither an add nor a delete is called for, and the loop end
is reached without having incremented i or j.

Actual attribute values I'm looking at right now in the debugger are
eduPersonAffiliation:  old [ member, alum, employee, faculty ], new [ member,
alum, faculty, employee ].  I built the replica from a slapcat dump on the idle
master, started the slapd syncrepl client and applied a lot of normal
modifications to the master, until it hit the infinite loop.  It has been a
recurrent problem.