Developer Tools Blog

Evolphin, Version Control, Visual Workflow, Collaboration software, Version Cue, Subversion

CVS zlib.c implementation in 1.12.13 broken

October 21st, 2005 by rahul

This bug was submitted to the CVS community by me and fairly quickly fixed. Here is the original submission:

The cvs1.12.13 tree’s zlib.c has compatability problems with several Java based cvs clients – SmartCVS, WANdisco, JetBrains Ideaj etc. This manifests via cvs commands will hang for some files. See the bundled test file (add.c from cvs src dir)

We have tested with cvs1.11 tree right upto 1.11.21 and has no problems interoperating with the cvs server’s zlib implementation.

To further confirm the issue we tried with all the zlib levels and the incompatability remains.

We recompiled with cvs 1.12.12 src with the –with-external-zlib and dynamically linked the default libz.so on Gentoo and Red Hat Linux distros (1.1.4) and that works like a charm. While running configure we noticed :

checking selected ZLIB… external
configure: WARNING: Package ZLIB is more recent than requested external version
(1.2.2 > 1.1.4). configure with the –without-external-zlib
option to select the more recent version.
checking that ZLIB library works… yes

Seems like CVS is using 1.2.2, so we downloaded the latest zlib versions (1.2.3) from http://www.zlib.net/ and tried it with the cvs 1.12.12 src. Again no problem, all works like a charm.

This seems to suggest the 1.2.2 version bundled is broken. It may be a good idea to move to 1.2.3 on the cvs1.12. tree.

Also attached is a testcase tar ball. It includes:

  • Ethereal sniff of the client – server traffic when the zlib hang happened
  • the src file (add.c) that caused the problem
  • The cvs server tmp dir with the partially read (by the cvs pserver process) add.c file
  • The repository RCS file
  • An strace capture of the cvs pserver process when it got hung sucking in the zlib6 compressed add.c file

Hope this provides enough information to debug 1.2.2 zlib, it might be just simpler to migrate to newer zlib (1.2.3)


Regards,
Rahul Bhargava
CTO, WANdisco,Inc

Posted in CVS, Software Configuration Management | No Comments »

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.