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

Re: (ITS#3463) segfault in connection.c



quanah@stanford.edu wrote:

>Full_Name: Quanah Gibson-mount
>Version: 2.3.0 alpha
>OS: Solaris 8
>URL: ftp://ftp.openldap.org/incoming/
>Submission from: (NULL) (171.66.182.82)
>
>
>Program received signal SIGSEGV, Segmentation fault.
>0x00029644 in connection_operation (ctx=0x7c801ba0, arg_v=0xb757b0) at
>connection.c:1079
>1079                    LDAP_STAILQ_REMOVE( &conn->c_ops, op, slap_op, o_next);
>(gdb) bt
>#0  0x00029644 in connection_operation (ctx=0x7c801ba0, arg_v=0xb757b0) at
>connection.c:1079
>#1  0xff32d7b4 in ldap_int_thread_pool_wrapper (xpool=0x1ada70) at tpool.c:467
>#2  0xfed5b024 in _thread_start () from /usr/lib/libthread.so.1
>#3  0xfed5b024 in _thread_start () from /usr/lib/libthread.so.1
>
>
>This happens when you load a replica DB without the replica flags, so no sync
>cookie is created in the replica DB.
>
>gdb) info threads
>  8 Thread 4 (LWP 3)  0xfee1d5ec in _poll () from /usr/lib/libc.so.1
>  7 Thread 3          0xfed4d9b8 in _reap_wait () from /usr/lib/libthread.so.1
>  6 Thread 2 (LWP 2)  0xfee1edac in _signotifywait () from /usr/lib/libc.so.1
>  5 Thread 1          0xfed4da10 in _reap_wait_cancel () from
>/usr/lib/libthread.so.1
>  4 LWP    2          0xfee1edac in _signotifywait () from /usr/lib/libc.so.1
>  3 LWP    3          0xfee1d5ec in _poll () from /usr/lib/libc.so.1
>* 2 Thread 5 (LWP 1)  0x00029644 in connection_operation (ctx=0x7c801ba0,
>arg_v=0xb757b0) at connection.c:1079
>  1 LWP    1          0x00029644 in connection_operation (ctx=0x7c801ba0,
>arg_v=0xb757b0) at connection.c:1079
>
>
>It is easily reproducable.
>
>--Quanah
>  
>
OK, there appears to be a race condition caused by connection_abandon() 
removing the Unbind operation before the Unbind completes. Not sure why 
just yet, still tracking it down.

-- 
  -- Howard Chu
  Chief Architect, Symas Corp.       Director, Highland Sun
  http://www.symas.com               http://highlandsun.com/hyc
  Symas: Premier OpenSource Development and Support