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: Thu, 09 Oct 2003 15:00:33 GMT

"Pierre" <address@hidden> wrote in message news:address@hidden
> > Ok, now for TEST DDD.
> >Use cvs 1.11.6 unmodifed.
> >Where you put that sleep(10), instead put a sleep(1).
>
> It's works :-)))

Ok, now for some more tests.

TEST FFF
Get cvs 1.11.8 (not 1.11.6) and then apply the patch for server.c
BUT NOT buffer.c, and confirm again that this fixes the problem.

TEST GGG
On cvs 1.11.8 apply both patches and confirm that this produces
the problem on the first go.

TEST HHH
Do you have access to any system other than AIX?  Like Linux?
If you can, and you can set up a client and server on the same
machine, exactly the same as AIX, and then apply BOTH patches
to cvs 1.11.8, and then tell me if Linux (etc) has the same assertion
error as AIX.


Without an answer to HHH, I still don't even know if it is AIX
that is at fault or a CVS design flaw.

BFN.  Paul.


Index: server.c
===================================================================
RCS file: /cvs/ccvs/src/server.c,v
retrieving revision 1.284.2.8
diff -c -r1.284.2.8 server.c
*** server.c 28 Aug 2003 04:21:27 -0000 1.284.2.8
--- server.c 9 Oct 2003 14:49:39 -0000
***************
*** 5716,5721 ****
--- 5716,5727 ----
      {
   printf ("I LOVE YOU\n");
   fflush (stdout);
+
+         /* FIXME:  On AIX at least, in some circumstances,
+            there is a race condition in CVS which can be
+            circumvented with a pause here.  The race is
+            triggered by the shutdown(,1) call in buffer.c */
+         sleep(1);

  #ifdef SYSTEM_CLEANUP
   /* Hook for OS-specific behavior, for example socket subsystems on
Index: buffer.c
===================================================================
RCS file: /cvs/ccvs/src/buffer.c,v
retrieving revision 1.21.4.1
diff -c -r1.21.4.1 buffer.c
*** buffer.c 17 Feb 2003 21:19:12 -0000 1.21.4.1
--- buffer.c 9 Oct 2003 14:49:42 -0000
***************
*** 1453,1458 ****
--- 1453,1472 ----
   /* shutdown() sockets */
   if (S_ISSOCK(s.st_mode))
       shutdown ( fileno (bc->fp), 1);
+         /* FIXME:  On at least some AIX systems, there is
+            a race condition.  If you activate this sleep
+            command, you will find that you get an
+            assertion failure on the next call to this
+            function, on the fstat, in the situation where
+            you have client and server running on the same
+            machine, and you are running "cvs login".  This
+            is because the server exits, and the fileno is
+            no longer accessible to the client.  I expect
+            that this is an AIX bug, it probably has no
+            right to invalidate filenos. */
+         printf("client sleeping 5 seconds\n");
+         sleep(5);
+         printf("client has woken up\n");
  # else
   {
   /* I'm not sure I like this empty block, but the alternative




reply via email to

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