Amanda-Users

Re: Amanda TCP Reset Problem with CygWin

2003-03-31 11:59:35
Subject: Re: Amanda TCP Reset Problem with CygWin
From: Enrico Bernardini <enrico AT adm.unipi DOT it>
To: Brian White <bcwhite AT precidia DOT com>
Date: Mon, 31 Mar 2003 17:41:26 +0200
Brian White wrote:
> 
> > use configure with --pid-debug-files if you want and
> > look at sendbackup.debug and runtar.debug (or something like these).
> 
> Hmmm...  I have debug files in /tmp/amanda/.  This creates more of them?
> 

This creates a log file name with pid extention. In test phase you can
see how many times a process runs...

> > Did you apply my gnu tar patch?
> 
> No.  Which patch was that?  Too many things on the go, I'm afraid.

The incremental-patch you can find near the other. But it helps during
incremental backups (with read-errors like files/dirs without rights)
> 
> > YES! I got it!
> > The problem is inside windows socket implementation.
> > Nothing to be done:
> 
> Ahh...  The dreaded "closing a socket doesn't delay until all data has been
> sent and ACK'd problem"?  Is that it?  I'm familiar with that because it
> was a problem within the TCP/IP stack I wrote for our own products.  :-)
> 
Yep, I think so.

> > You have to apply my patch to server's dumper.c also.
> > I forgot to add this step in the documentation. Sorry.
> 
> Eeek!  Any other alternatives?  I'd prefer to avoid changing the source
> code on the servers.

So I...

> 
> > Look at my earlier post:
> > http://www.cygwin.com/ml/cygwin/2001-12/msg00524.html (that solution was
> > not right!)
> 
> Why did a pause at the end of the process not work?  Or did it just not
> work reliably?
> 

I don't remeber well, but I think the windows "close socket" does not
send a "goodbye" nessage... never...
Or it goes lost:
+          /* A bug in the Windows TCP/IP implementation, which is not
+             yet worked around in Cygwin (such a workaround is very
+             difficult), causes the goodbye message to be lost if the
+             process sending it exits before it's read by the other
+             end.  Since this message doesn't contain any useful
+             information anyway, it is safe for us to just not read it
+             to avoid this problem. */

Try adding a sleep _before_ the close call in aclose define (amanda.h)
and let me know.

> > Here you have the dumper.c patch extracted from amanda-2.4.2p2.patch.
> >
> > A cup of coffe to me, please :)
> 
> Sure thing.  I've sent it FedEx to you.  I didn't have any lids, though...
> I hope that's okay.

:)

<Prev in Thread] Current Thread [Next in Thread>