Full_Name: Donn Cave Version: 2.4.4 OS: RH Linux URL: ftp://ftp.openldap.org/incoming/ Submission from: (NULL) (128.95.135.150)
Old entryCSN values imported into the data from another server, can crash replicas.
In loop at top of syncrepl_updateCookie, replica encounters a syncCookie whose value is less than its matching si_cookieState->cs_val. This breaks out of the inner loop, and the outer loop, without copying anything into `first', so slap_queue_csn crashes on the null csn. Both are element 0 of their respective arrays. I assume it is no surprise that syncCookie takes its value from an entryCSN attribute.
To duplicate, add an entry with an explicit entryCSN, with value less than the current contextCSN. In my case, the entryCSN is of the format without the `decimal fraction' field, but I doubt that matters.
I don't want to say OpenLDAP needs to support this, but maybe it would be better to catch the problem in the master, than crash the replicas.