[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
(ITS#5127) ldap_unbind unhandled SIGPIPE
Full_Name: Arlene Berry
Version: 2.3.38
OS: Solaris
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (64.221.115.100)
I am using OpenLDAP 2.3.38 with Cyrus SASL and MIT Kerberos to communicate with
Active Directory on Windows Server 2003 R2. I have been primarily working on
Solaris 8 and 9 but we've also seen signs of this problem on Solaris 10, AIX,
and HPUX. Initially I was using OpenLDAP 2.3.19 which also had the problem.
The sequence of events is that I bind to Active Directory, do a search, and
successfully retrieve the results. Then I let my program and the LDAP
connection sit idle for at least 15 minutes so that the LDAP connection will
time out. Next I have the program do another ldap_search_ext which returns 0
and then ldap_result which returns -1. At this point the program does an
ldap_unbind. What the program is supposed to do next is create a new LDAP
connection and try the search again. Sometimes it does and sometimes I see an
unhandled SIGPIPE error which causes the program to halt. When run under a
debugger with the LDAP debug level set to 65535 this is what it shows:
ldap_unbind
ldap_free_request (origid 8, msgid 8)
ldap_free_connection 1 1
ldap_send_unbind
t@1 (l@1) signal PIPE (Broken Pipe) in _libc_write at 0xff21e15c
0xff21e15c: _libc_write+0x000c: bgeu _libc_write+0x40 ! 0xff21e190
Current function is sb_stream_write
521 return write( sbiod->sbiod_sb->sb_fd, buf, len );
If I tell the debugger to continue or if I set SIGPIPE to SIG_IGN at the
beginning of the program, it appears to continue successfully.