Re: bug #41707: RCS 5.8 file corruption when using file descriptor IO for large files

Thien-Thi Nguyen <[email protected]> Sat, 13 Sep 2014 11:44:03 +0200
Newsgroups gmane.comp.version-control.rcs.bugs
Message-ID <[email protected]>
() Achim Gratz <[email protected]>
() Sun, 07 Sep 2014 10:22:45 +0200

   The post-lseek fix is apparently working in z, although to be
   sure you'd have to check that not only you got the right number
   of bytes, but also the correct data (i.e. using /dev/random as
   source and checking the reads against a memory copy of the
   file).

That's good news.

   The results for y and z runs inline in the files.

Thanks.

   In ci the attempted fixup still doesn't work,

That's not good news.  :-/

   so I offer my patch again which tests OK and should be good for
   any other system as well.  I've also fixed Makefile.am to
   actually include the new test in "make check".

   [patch]

OK, i'm finished hanging stubbornly onto the "post-diff adjust fd
only" approach, and have come to agree that "move bob from pre to
post" is the cleanest fix.  I appreciate your patience.

   > There is also new program src/y.c to play with.  I'm curious
   > how these behave under Cygwin.

   Exactly as under Linux, it appears.

   > Also, the original (2010)
   > configure-time test is back, in case you want to try to see
   > if/how ‘CAN_FFLUSH_IN’ is detected under Cygwin.

   Results in a "yes".

Thanks.  This tells me ‘CAN_FFLUSH_IN’ is not a reliable
discriminator.  Oh well...

Please see commit f3be7ba34d (now on branch ‘p’) and confirm that
t805 does fail for Cygwin.  With that confirmation, i will install
the fix you suggested (under your name).

-- 
Thien-Thi Nguyen
   GPG key: 4C807502
   (if you're human and you know it)
      read my lisp: (responsep (questions 'technical)
                               (not (via 'mailing-list)))
                     => nil
signature.asc (application/pgp-signature, 197 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEARECAAYFAlQUEeUACgkQZwMiJEyAdQJ0ugCgjxMuLk2X4NuVLDAVDQXKDUGB
X5kAoK/hC4guD9+rjU9qbSPCn5MDPou6
=qDFM
-----END PGP SIGNATURE-----