Hi !

I've tried again to find why atftpd segfaults:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=271816

With the latest glibc and gdb, I get insteresting traces:

#0  0x4010d39b in mallopt () from /lib/libc.so.6
#1  0x4010c15f in free () from /lib/libc.so.6
#2  0x0804a66f in tftpd_receive_request (arg=0x78) at tftpd.c:735

So it's the free(data) at tftpd.c:735 which cause a segfault. If I remove it, it seems to work better. The question is now how the '(struct thread_data *)' could be corrupt so that sometimes a free() fails...

Also, I think that this bug is related to the bug where all the threads are stuck in the 'rt_sigsuspend' syscall :
- most of the time the free() is ok,
- then sometimes the free() cause a segfault,
- and even less frequently the free() cause a lock in rt_sigsuspend.

Cheers,

--
Ludovic DROLEZ                              Linbox / Free&ALter Soft
www.linbox.com www.linbox.org                 tel: +33 3 87 50 87 90
152 rue de Grigy - Technopole Metz 2000                   57070 METZ


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to