This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: Re: timeout in tftp_client_test.c
On Wed, Apr 23, 2003 at 08:11:14AM -0400, HG wrote:
>
> >
> > My feeling is its not the tftp_get code. The tcpdump trace is just too
> > strange. The transfer seems to be going fine and then suddenly it
> > sends the RRQ again. Why?
> >
> > How big is your stack for the thread doing the tftp_get? Where is your
> > buf located? To me, this looks like stack corruption.
> >
> > Andrew
>
> I tried a much larger stack for that thread as an experiment (0x30000
> instead of 0x1000):
> // Note: the TFTP client calls need at least (SEGSIZE==512)+4
> // additional bytes of workspace, thus the padding.
> #define STACK_SIZE (CYGNUM_HAL_STACK_SIZE_TYPICAL+0x30000)
> still the same problem
OK. So the stack is not overflowing...
>
> >Where is your buf located?
> the buf variable in that program are probably located in bss ??? static
> char buf[32*1024];
OK. Good. I just wanted to make sure you had not put it onto the stack!
Im out of ideas. I suggest you scatter a few diag_printf's into the
tftp client code and see if anything obvious is going wrong.
Andrew
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss