I had an empty "Makefile,v" and csup choked on it, entering the infinite cycle and grabbing memory. The problem is that the 'ID' was defined as 0 and the built-in YY_NULL that tells the caller that EOF was found is 0 too. So, the following cycle on the empty file will be infinite: {{{ /* access {id]*; */ assert(token == KEYWORD); token = rcslex(*sp); while (token == ID) { id = duptext(sp, NULL); rcsfile_addaccess(rf, id); free(id); token = rcslex(*sp); } }}} Fix: The following patch fixes the problem for me. Now csup reports the file in question as broken and stops. I will try to work on adding that file to the list of fixups to enable the full retransfer. How-To-Repeat: Truncate any ",v" file in your full CVS repository that is updated by csup and watch it choking on that entry, grabbing more and more memory and being killed at the out-of-swap-space condition.
csup is not part of base anymore