[Tcpick-project] Tcpick errors
Status: Beta
Brought to you by:
duskdruid
From: Penelope F. <ke...@pk...> - 2004-04-06 05:08:52
|
> hello, > I have just released 0.1.22-test1 version of tcpick. > This is only a testing version, for developers. > > The problem: > It is a month that I am not able to solve some SEGFAULT bugs. I have tried to see with gdb what is going on, but with no result. > I have passed hours with gdb sessions and finally I am here to ask for help. > If you want to help me, please download the latest unstable tcpick version from here: > http://osdn.dl.sourceforge.net/sourceforge/tcpick/tcpick-0.1.22-test1.tar.gz > after compiling it, run it on gdb, and after a few time it should (sigh) go in segfault. > By the way: I have rewritten data_write() and file_write() functions. > > thank you for the collaboration; I am available for any question > > -Francesco Stablum What you need is a tcpdump capture of some data that always causes the problem: tcpdump -s0 -w /tmp/dump.tcpdump tcp& tcpick -whatever ; sleep 1; killall tcpdump This should kill tcpdump 1 second after tcpick segfaults. Hope you aren't running tcpdump anywhere else on your system... :-) Check it before doing anything further: tcpick -whatever -r /tmp/dump.tcpdump ----> crash! Then you can use tcpslice (which comes with tcpdump) to find out which packets are causing it. Use tcpslice to extract the last 10 seconds of data, and see if tcpick can handle it. If so, then 20 seconds. Then 40. Then 80. In the worst case, it needs all of the packets. I haven't learned how to use gdb yet. I've been using printf, unlink ("---------point1"), and strace. (Unlink isn't buffered and shows up in strace quite well. Just pick filenames that won't likely exist; a filename starting with 8 dashes is a good example.) I used to use printf only, but it gave confusing results. vi tcpick.c make strace -fo/tmp/a tcpick -whatever -r /tmp/dump.tcpdump vi /tmp/a <repeat> -- Penelope Fudd <ke...@pk...> |