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

Re: (ITS#5374) accesslog+hdb crash with test043-delta-syncrepl




--On February 12, 2008 6:12:08 PM +0000 quanah@zimbra.com wrote:

> (and it passed 10 times for me successfully).

At Hallvard's request, I patched accesslog thusly:

diff -u accesslog.c.orig accesslog.c
--- accesslog.c.orig    2008-02-12 10:18:16.000000000 -0800
+++ accesslog.c 2008-02-12 10:21:46.000000000 -0800
@@ -914,6 +914,7 @@
                ldap_pvt_thread_mutex_lock( &li->li_log_mutex );
                old = li->li_old;
                li->li_old = NULL;
+               assert(li->li_unlock == (int) ldap_pvt_thread_self());
                li->li_unlock = 0;
                ldap_pvt_thread_mutex_unlock( &li->li_op_mutex );
        }
@@ -1262,7 +1263,8 @@
                 * overlays like refint to keep working.
                 */
                ldap_pvt_thread_mutex_lock( &li->li_op_mutex );
-               li->li_unlock = 1;
+               /* li->li_unlock = 1; */
+               li->li_unlock = (int) ldap_pvt_thread_self();
                if ( li->li_oldf && ( op->o_tag == LDAP_REQ_DELETE ||
                        op->o_tag == LDAP_REQ_MODIFY )) {
                        int rc;


Multiple runs of the test continued to be successful.

--Quanah


--

Quanah Gibson-Mount
Principal Software Engineer
Zimbra, Inc
--------------------
Zimbra ::  the leader in open source messaging and collaboration