bug-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: TEST AAA


From: Paul Edwards
Subject: Re: TEST AAA
Date: Mon, 06 Oct 2003 14:56:47 GMT

"Pierre" <pceteaudatmacif.fr@netcourrier.com> wrote in message 
b86193eb.0310060617.3b1fa954@posting.google.com">news:b86193eb.0310060617.3b1fa954@posting.google.com...
> Here is the result (at first try) :
>
> stage 1, old fp f0004c00 new fp f0004c20
> fstat of 4 is 0
> stage 8, old fp f0004c00 new fp f0004c20
> fstat of 4 is 0
> stage 9, old fp f0004c00 new fp f0004c20
> fstat of 4 is -1
> stage 10, old fp f0004c00 new fp f0004c20
> fstat of 4 is -1
> after close, fstat of 4 is -1
> Le sous-programme assert a ÚchouÚ : fstat ( fileno (bc->fp), &s ) != -1, 
> fichier
>  buffer.c, ligne 1385
> cvs [login aborted]: received abort signal

Ok, so what's happening is a call of the format

shutdown(3, 1);

attempting to shut down fileno 3, is for some reason screwing up
fileno 4.

I'm not sure what "shutdown" is, I assume it is some Unix call.

(Would someone more familiar with this like to do a

grep shutdown buffer.c | grep 1

and tell me what implications there are surrounding that shutdown
call?

I can imagine two things at this stage:

1. A problem with AIX that is causing the shutdown to shut down
all resource related to a fileno, without keeping a count of how many
other filenos are using those same resources.

2. After the client issues the shutdown call, the server is inspired
to shut down itself, and the other socket that the client has open
suddenly disappears.

I think (2) is more likely because this problem is timing sensitive.

But because it is timing sensitive, all you need is a sleep(1) at the
right spot in the server, and that will circumvent the problem,
without getting to the heart of the problem.

The heart of the problem is either:

1. The server has no right to close the socket just because the
client does.

2. AIX has no right to close a socket, or render it inoperative,
just because the other side of the link has closed down.

I think (2) is most likely here.

To prove (2) requires either indepth knowledge of Posix
requirements for sockets, or it requires testing with another
system to lend evidence to "standard Unix" behaviour.

If someone would like to try putting a "sleep(5)" after the
above shutdown call, and test it out on a non-AIX system
(e.g. Linux), and set up a client/server on same machine,
and do a "cvs login", that would be helpful.  I don't have
easy access to do that myself.

I will confirm whether "shutdown" is part of Unix, and if so,
I'll try to find somewhere to put a "sleep(1)" in the server
which will hopefully be sufficient for your purpose.

As well, I'd like you to try another test, TEST CCC.

TEST CCC is to use the unmodified 1.11.6 and define
NO_SOCKET_TO_FD
and see what happens.

BFN.  Paul.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]