--On Sunday, April 03, 2016 3:34 AM +0000 quanah(a)openldap.org wrote:
> Full_Name: Quanah Gibson-Mount
> Version: RE24
> OS: Linux 2.6
> URL: ftp://ftp.openldap.org/incoming/
> Submission from: (NULL) (75.111.52.177)
Closing this ITS, it was related to a bug in the code in our side that sets
the DH Param bits for slapd, that has a race condition, where the file may
be 0 sized initially.
--Quanah
--
Quanah Gibson-Mount
Platform Architect
Zimbra, Inc.
--------------------
Zimbra :: the leader in open source messaging and collaboration
A division of Synacor, Inc
Full_Name: Francis Swasey
Version: 2.4.44
OS: Red Hat Enterprise Linux Server release 7.2 (Maipo)
URL: http://www.uvm.edu/~fcs/openldap_its/syncprov_files.tar.gz
Submission from: (NULL) (132.198.104.198)
Once an hour, the primary server logs a syncprov_sendresp that does not include
a csn. When that happens, the replica misses that there were changes and does
not update and therefore falls behind.
The URI provides files for the primary and replica.
replica/slapd_db.ldif -- starting database
replica/slapd.conf -- replica's slapd configuration file (you'll need to create
your own ssl certs)
replica/syncrepl_audit.sh -- Runs on the replica (edit the email address and the
path to check_syncrepl
replica/check_syncrepl -- Used by nagios to report csn being in sync or not
primary/slapd_db.ldif -- starting database (almost exactly like the replica's
version)
primary/slapd.conf -- primary's slapd configuration file (you'll need to create
your own ssl certs)
primary/syncprov_audit.sh -- greps the system log (edit the path) looking for
the syncprov error
primary/makechanges.sh -- edit to change the name of the ldap server and run
this to make constant changes
The bad log entries that coincide with check_syncrepl finding the replica has
fallen behind are like:
Apr 4 13:18:27 ldap7p slapd[27800]: syncprov_sendresp: cookie=rid=100
Apr 4 13:18:27 ldap7p slapd[27800]: syncprov_sendresp: cookie=rid=100
Apr 4 14:18:53 ldap7p slapd[27800]: syncprov_sendresp: cookie=rid=100
Apr 4 14:18:53 ldap7p slapd[27800]: syncprov_sendresp: cookie=rid=100
They appear once an hour.
My initial report was garbled.
What I mean is that a protection violation occurs in mdb.c when I add a
13'th item to a multiset and I compile with one of the mentioned
compilers and with -fPIC -O3. The code works fine when compiled with
older GCC compilers or with -O0 or with -fno-strict-aliasing.
Given what I read at https://gcc.gnu.org/bugs/ under section "Casting
does not work as expected when optimization is turned on", I suspect the
problem is simply that a pointer variable is not following the ISO C
aliasing rules and breaks with the new, more aggressive compiler
optimization.
Here is the part that fails:
for (i=0; i<NUMKEYS(fp); i++)
mp->mp_ptrs[i] = fp->mp_ptrs[i] + offset;
If this turns out to not be straightforward, I can try building a small
test program to reproduce the problem.
On 04/03/2016 09:44 AM, Howard Chu wrote:
> bdallen(a)nps.edu wrote:
>> Full_Name: Bruce Allen
>> Version: 2.4.44
>> OS: Fedora 23
>> URL: ftp://ftp.openldap.org/incoming/
>> Submission from: (NULL) (205.155.65.226)
>>
>>
>> LMDB v0.9.18 crashes with segmentation fault in mdb.c line 6590 when
>> compiled
>> using these compilers:
>> * gcc (GCC) 5.3.1 20151207 (Red Hat 5.3.1-2)
>> * x86_64-w64-mingw32-gcc (GCC) 5.2.0 20150716 (Fedora MinGW
>> 5.2.0-1.fc23)
>>
>> The crash happens afterrititing the 12'th item (with the same key but
>> different
>> value using flags MDB_NODUPDATA and MDB_DUPSORT).
>
> Your message appears garbled here. Please send a test case with steps
> to reproduce.
>>
>> The problem goes away when compiling mdb.c with the
>> -fno-strict-aliasing flag.
>>
>>
>
>
bdallen(a)nps.edu wrote:
> Full_Name: Bruce Allen
> Version: 2.4.44
> OS: Fedora 23
> URL: ftp://ftp.openldap.org/incoming/
> Submission from: (NULL) (205.155.65.226)
>
>
> LMDB v0.9.18 crashes with segmentation fault in mdb.c line 6590 when compiled
> using these compilers:
> * gcc (GCC) 5.3.1 20151207 (Red Hat 5.3.1-2)
> * x86_64-w64-mingw32-gcc (GCC) 5.2.0 20150716 (Fedora MinGW 5.2.0-1.fc23)
>
> The crash happens afterrititing the 12'th item (with the same key but different
> value using flags MDB_NODUPDATA and MDB_DUPSORT).
Your message appears garbled here. Please send a test case with steps to
reproduce.
>
> The problem goes away when compiling mdb.c with the -fno-strict-aliasing flag.
>
>
--
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/
Full_Name: Bruce Allen
Version: 2.4.44
OS: Fedora 23
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (205.155.65.226)
LMDB v0.9.18 crashes with segmentation fault in mdb.c line 6590 when compiled
using these compilers:
* gcc (GCC) 5.3.1 20151207 (Red Hat 5.3.1-2)
* x86_64-w64-mingw32-gcc (GCC) 5.2.0 20150716 (Fedora MinGW 5.2.0-1.fc23)
The crash happens afterrititing the 12'th item (with the same key but different
value using flags MDB_NODUPDATA and MDB_DUPSORT).
The problem goes away when compiling mdb.c with the -fno-strict-aliasing flag.