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

Re: (ITS#4168) autofs with ldap triggers segfault in kernel



Pierangelo Masarati wrote:
> On Thu, 2005-11-10 at 19:12 +0000, Guillaume.Rousse@inria.fr wrote:
> 
>>As noted in bugzilla report, using autofs without ldap-defined 
>>configurarion does not trigger any segfault, and rebuilding autofs 
>>against an older version of openafs lib (2.2 vs 2.3) make it works 
>>correctly.
> 
> 
> does the 2.2/2.3 above refer to those "openafs lib" or to OpenLDAP
> client libraries? 
OpenLDAP client libraries, I'm confused for this stupid typo.

> However, without further details, it is very unlikely we can progress
> any further.  Can you reveal any useful info, e.g. server logs of the
> operations (if any) that end up in the client problem?  The best would
> be a stack backtrace of the offending OpenLDAP code, assuming that the
> crash occurs in OpenLDAP's software.
I didn't produced server logs because it works OK for all other hosts, 
so I thought it should be a client side problem.

Using --debug flags for starting autofs show it successfuly get the map 
from LDAP server, just before triggering the segfault:
Nov 11 11:49:10 cognac automount[15771]: starting automounter version 
4.1.4, path = /home/beaune, maptype = ldap, mapname = 
ou=auto.home.beaune,ou=autofs,dc=village,dc=inria,dc=fr
Nov 11 11:49:10 cognac kernel: automount[15771]: segfault at 
0000000055667228 rip 00002aaaab02ea88 rsp 00007fffffa39770 error 4

I ran autofs through gdb, here is stack trace:

Starting program: /usr/sbin/automount --timeout=60 /net/graves ldap 
ou=auto.net.graves,ou=autofs,dc=village,dc=inria,dc=fr
Attaching after fork to child process 14590.
[tcsetpgrp failed in terminal_inferior: Opération non permise]

Program received signal SIGSEGV, Segmentation fault.
[Switching to process 14590]
0x00002aaaab02e978 in ldap_set_option () from /usr/lib64/libldap-2.3.so.0
(gdb) bt
#0  0x00002aaaab02e978 in ldap_set_option () from 
/usr/lib64/libldap-2.3.so.0
#1  0x00002aaaaaf00ba8 in do_connect (ctxt=0x555555665740,
     result_ldap=0x7fffffb51814) at lookup_ldap.c:66
#2  0x00002aaaaaf00e70 in lookup_init (mapfmt=0x2aaaaaf03920 "sun", argc=1,
     argv=0x7fffffb51a18, context=Variable "context" is not available.
) at lookup_ldap.c:180
#3  0x000055555555aac9 in open_lookup (name=0x7fffffb52a0f "ldap",
     err_prefix=0x55555555c4dd "", mapfmt=0x0, argc=1, argv=0x7fffffb51a18)
     at module.c:83
#4  0x0000555555559da3 in main (argc=Variable "argc" is not available.
) at automount.c:1762

I can't have a better stack trace from inside libldap, even if I am sure 
  it has not been stripped.

-- 
The Item of equipment that usually wont start or jams when you need it 
the most is the pump
		-- Murphy's Bush Fire Brigade Laws n°21