oui, on vois que le probleme n'est pas pointe par strace ;) cela arrive
en dehors du context d'un appel systeme. De la, si tu veux incister: 
download les sources, relance depuis GDB avec le binaire que tu as construit
et tu verras exactement ou ca plante.

Ce n'est pas vraiment difficile:

apt-get source proftpd-ldap

fakeroot debian/rules binary
essaye le package (on ne sais jamais)
cd build-tree/proftpd*
gdb ./proftd  <--- j'assume, ai pas envie d'attendre que ca build..
(gdb) r <arguments utilises sur le binaire original>
crash et voila tu sais ou ca se trouve.


On Mon, Jul 14, 2003 at 05:16:12PM +0200, R?mi Letot wrote:
> Stephane Wirtel <[EMAIL PROTECTED]> writes:
> 
> >>> Hi world, 
> >>> 
> >>> j'essaye de configurer un serveur proftpd avec support ldap dans
> >>> debian, mais des qu'il essaye de se connecter au serveur ldap il
> >>> segfault. 
> >>> 
> >>> Aucun probleme pour l'authentification par pam, c'est seulement par
> >>> ldap. En fait s'il essaye ldap+tls ca ne marche pas (mais il ne plante
> >>> pas) puisque le serveur ldap ne parle pas tls. Mais si je dis a
> >>> proftpd de ne pas utiliser tls, il essaye de se connecter et vlan,
> >>> segfault. 
> >>> 
> >>> J'ai essaye pas mal de choses, et rien n'y fait, je m'y
> >>> perds. Quelqu'un aurait reussi a faire fonctionner ce package dans
> >>> debian ? (woody) 
> > Essaie de faire un strace, ou un debug, tu auras l'instruction qui
> > segfault. 
> 
> J'ai maximise le niveau de logging, mais aucune information bizarre
> n'en ressort. Voici la fin d'un strace :
> 
> >-------------------------<
> [pid 23172] read(5, "127.0.0.1\tswoog\tlocalhost\n192.16"..., 4096) =
> 312
> [pid 23172] read(5, "", 4096)           = 0
> [pid 23172] close(5)                    = 0
> [pid 23172] munmap(0x40015000, 4096)    = 0
> [pid 23172] socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 5
> [pid 23172] connect(5, {sin_family=AF_INET, sin_port=htons(53),
> sin_addr=inet_addr("192.168.60.5")}}, 28) = 0
> [pid 23172] send(5,
> "\226\271\1\0\0\1\0\0\0\0\0\0\tlocalhost\0\0\34\0\1", 27, 0) = 27
> [pid 23172] gettimeofday({1057942581, 978654}, NULL) = 0
> [pid 23172] poll([{fd=5, events=POLLIN, revents=POLLIN}], 1, 5000) = 1
> [pid 23172] recvfrom(5,
> "\226\271\205\200\0\1\0\0\0\1\0\0\tlocalhost\0\0\34\0\1"..., 1024, 0,
> {sin_family=AF_INET, sin_port=htons(53),
> sin_addr=inet_addr("192.168.60.5")}}, [16]) = 68
> [pid 23172] close(5)                    = 0
> [pid 23172] socket(PF_UNIX, SOCK_STREAM, 0) = 5
> [pid 23172] connect(5, {sin_family=AF_UNIX,
> path="/var/run/.nscd_socket"}, 110) = -1 ENOENT (No such file or
> directory)
> [pid 23172] close(5)                    = 0
> [pid 23172] open("/etc/hosts", O_RDONLY) = 5
> [pid 23172] fcntl64(5, F_GETFD)         = 0
> [pid 23172] fcntl64(5, F_SETFD, FD_CLOEXEC) = 0
> [pid 23172] fstat64(5, {st_mode=S_IFREG|0644, st_size=312, ...}) = 0
> [pid 23172] old_mmap(NULL, 4096, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40015000
> [pid 23172] read(5, "127.0.0.1\tswoog\tlocalhost\n192.16"..., 4096) =
> 312
> [pid 23172] read(5, "", 4096)           = 0
> [pid 23172] close(5)                    = 0
> [pid 23172] munmap(0x40015000, 4096)    = 0
> [pid 23172] socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 5
> [pid 23172] fcntl64(5, F_GETFL)         = 0x2 (flags O_RDWR)
> [pid 23172] fcntl64(5, F_SETFL, O_RDWR|O_NONBLOCK) = 0
> [pid 23172] connect(5, {sin_family=AF_INET, sin_port=htons(389),
> sin_addr=inet_addr("127.0.0.1")}}, 16) = -1 EINPROGRESS (Operation now
> in progress)
> [pid 23172] select(1024, NULL, [5], NULL, NULL) = 1 (out [5])
> [pid 23172] getpeername(5, {sin_family=AF_INET, sin_port=htons(389),
> sin_addr=inet_addr("127.0.0.1")}}, [16]) = 0
> [pid 23172] fcntl64(5, F_GETFL)         = 0x802 (flags
> O_RDWR|O_NONBLOCK)
> [pid 23172] fcntl64(5, F_SETFL, O_RDWR) = 0
> [pid 23172] getpeername(5, {sin_family=AF_INET, sin_port=htons(389),
> sin_addr=inet_addr("127.0.0.1")}}, [16]) = 0
> [pid 23172] brk(0x80af000)              = 0x80af000
> [pid 23172] uname({sys="Linux", node="swoog", ...}) = 0
> [pid 23172] time(NULL)                  = 1057942581
> [pid 23172] write(5, "0\24\2\1\1`\17\2\1\2\4\10o=ispman\200\0", 22) =
> 22
> [pid 23172] select(1024, [5], [], NULL, NULL) = 1 (in [5])
> [pid 23172] read(5, "0\f\2\1\1a\7\n\1\0\4\0\4\0", 16384) = 14
> [pid 23172] time(NULL)                  = 1057942581
> [pid 23172] --- SIGSEGV (Segmentation fault) ---
> [pid 23172] rt_sigaction(SIGSEGV, {SIG_DFL}, {0x804f4ac, [SEGV],
> SA_RESTART|0x4000000}, 8) = 0
> [pid 23172] write(2, "swoog (192.168.50.11[192.168.50."..., 71) = 71
> [pid 23172] _exit(1)                    = ?
> >-------------------------<
> 
> Comme je sais pas lire ce genre de choses (sauf quand c'est evident,
> style un ENOENT,...), vous y voyez un truc evident ?
> 
> <couic>
> 
> -- 
> R?mi
> 
> `Debian: giving you the power to shoot yourself in each
>  toe individually.' -- with kudos to Greg Lehey
> _______________________________________________________
> Linux Mailing List - http://www.unixtech.be
> Subscribe/Unsubscribe: http://www.unixtech.be/mailman/listinfo/linux
> Archives: http://www.mail-archive.com/[EMAIL PROTECTED]
> IRC: efnet.unixtech.be:6667 - #unixtech

-- 

-> Jean-Francois Dive
--> [EMAIL PROTECTED]

  There is no such thing as randomness.  Only order of infinite
  complexity. - Marquis de LaPlace - deterministic Principles - 

_______________________________________________________
Linux Mailing List - http://www.unixtech.be
Subscribe/Unsubscribe: http://www.unixtech.be/mailman/listinfo/linux
Archives: http://www.mail-archive.com/[EMAIL PROTECTED]
IRC: efnet.unixtech.be:6667 - #unixtech

Répondre à