Summary of off-list mail exchange: anoncvs.usa consistently has a
realloc failure in xenocara/font/misc-misc/18x18ja.bdf, some other
servers have a failure the first time checking this file out when
it's part of the whole directory, but resuming or checking out
individually does work.

$ cvs -d anon...@anoncvs.spacehopper.org:/cvs get xenocara/font/misc-misc
U xenocara/font/misc-misc/10x20.bdf
U xenocara/font/misc-misc/12x13ja.bdf
cvs [server aborted]: out of memory; can not reallocate 3833880 bytes

$ cvs -d anon...@anoncvs.spacehopper.org:/cvs get xenocara/font/misc-misc
U xenocara/font/misc-misc/18x18ja.bdf
U xenocara/font/misc-misc/18x18ko.bdf.xaa
U xenocara/font/misc-misc/18x18ko.bdf.xab
<snip>

But against anoncvs.usa it always fails:

$ cvs -d anon...@anoncvs.usa.openbsd.org:/cvs get 
xenocara/font/misc-misc/18x18ja.bdf
cvs [server aborted]: out of memory; can not reallocate 5242880 bytes

This only happens with the network protocol (either via pserver
or 'cvs server' via ssh) not with local checkouts.

Forcing a coredump when realloc fails results in the backtrace below.

This file *can* be successfully checked out in a newer version of cvs
(I built a vanilla copy from upstream's sources), I made a start at
porting our patches across, but got stuck in a few places (and of
course such a change would require *very* careful checking considering
what we use cvs for).


(gdb) bt
#0  0x00001ce596f65c1d in xrealloc (ptr=0x0, bytes=3833880)
    at /usr/src/gnu/usr.bin/cvs/src/subr.c:72
#1  0x00001ce596f52953 in linevector_copy (to=0x7f7ffffc7f60, 
    from=0x7f7ffffc7f50) at /usr/src/gnu/usr.bin/cvs/src/rcs.c:6762
#2  0x00001ce596f53524 in RCS_deltas (rcs=0x1ce79d124f00, fp=0x1ce799b1ca00, 
    rcsbuf=0x7f7ffffc7f00, version=0x1ce79a67dfc0 "1.1.1.1", op=RCS_FETCH, 
    text=0x7f7ffffc8228, len=0x7f7ffffc8220, log=0x7f7ffffc8218, 
    loglen=0x7f7ffffc8210) at /usr/src/gnu/usr.bin/cvs/src/rcs.c:7172
#3  0x00001ce596f4e3e2 in RCS_checkout (rcs=0x1ce79d124f00, workfile=0x0, 
    rev=0x1ce79a67dfc0 "1.1.1.1", nametag=0x1ce79a67dfd0 "1.1.1.1", 
    options=0x1ce79a67d590 "", sout=0x0, 
    pfn=0x1ce596f6bea3 <checkout_to_buffer>, callerdat=0x1ce79d124400)
    at /usr/src/gnu/usr.bin/cvs/src/rcs.c:4114
#4  0x00001ce596f6b7ae in checkout_file (finfo=0x7f7ffffc8600, 
    vers_ts=0x1ce79d124b00, adding=0, merging=0, update_server=1)
    at /usr/src/gnu/usr.bin/cvs/src/update.c:1367
#5  0x00001ce596f6a768 in update_fileproc (callerdat=0x0, finfo=0x7f7ffffc8600)
    at /usr/src/gnu/usr.bin/cvs/src/update.c:776
#6  0x00001ce596f57ccc in do_file_proc (p=0x1ce7a1fad000, 
    closure=0x7f7ffffc8630) at /usr/src/gnu/usr.bin/cvs/src/recurse.c:823
#7  0x00001ce596f30f61 in walklist (list=0x1ce79bc21000, 
    proc=0x1ce596f57b4e <do_file_proc>, closure=0x7f7ffffc8630)
    at /usr/src/gnu/usr.bin/cvs/src/hash.c:370
#8  0x00001ce596f57a06 in do_recursion (frame=0x7f7ffffc86b0)
    at /usr/src/gnu/usr.bin/cvs/src/recurse.c:727
#9  0x00001ce596f582f5 in do_dir_proc (p=0x1ce7a1fad500, 
    closure=0x7f7ffffc8840) at /usr/src/gnu/usr.bin/cvs/src/recurse.c:1087
#10 0x00001ce596f30f61 in walklist (list=0x1ce7a0e25800, 
    proc=0x1ce596f57cfe <do_dir_proc>, closure=0x7f7ffffc8840)
    at /usr/src/gnu/usr.bin/cvs/src/hash.c:370
#11 0x00001ce596f57af9 in do_recursion (frame=0x7f7ffffc88e0)
    at /usr/src/gnu/usr.bin/cvs/src/recurse.c:754
#12 0x00001ce596f573c7 in start_recursion (
    fileproc=0x1ce596f6a24a <update_fileproc>, 
    filesdoneproc=0x1ce596f6a956 <update_filesdone_proc>, 
    direntproc=0x1ce596f6aa89 <update_dirent_proc>, 
    dirleaveproc=0x1ce596f6ae1a <update_dirleave_proc>, callerdat=0x0, argc=0, 
    argv=0x1ce79a67d100, local=0, which=3, aflag=0, readlock=1, 
    update_preload=0x1ce79bf776e0 "xenocara/font/misc-misc", dosrcs=1)
    at /usr/src/gnu/usr.bin/cvs/src/recurse.c:351
#13 0x00001ce596f6a212 in do_update (argc=0, argv=0x0, xoptions=0x0, xtag=0x0, 
    xdate=0x0, xforce=1, local=0, xbuild=1, xaflag=0, xprune=0, xpipeout=0, 
    which=3, xjoin_rev1=0x0, xjoin_rev2=0x0, 
    preload_update_dir=0x1ce79bf776e0 "xenocara/font/misc-misc", xdotemplate=1)
    at /usr/src/gnu/usr.bin/cvs/src/update.c:511
#14 0x00001ce596f1767f in checkout_proc (argc=1, argv=0x1ce79a67d410, 
    where_orig=0x0, mwhere=0x0, mfile=0x0, shorten=0, local_specified=0, 
    omodule=0x1ce79bf77d20 "xenocara/font/misc-misc", 
    msg=0x1ce597093f6f "Updating")
    at /usr/src/gnu/usr.bin/cvs/src/checkout.c:1014
#15 0x00001ce596f425eb in do_module (db=0x1ce79bf77f60, 
    mname=0x1ce79bf77d20 "xenocara/font/misc-misc", m_type=CHECKOUT, 
    msg=0x1ce597093f6f "Updating", 
    callback_proc=0x1ce596f1687f <checkout_proc>, where=0x0, shorten=0, 
    local_specified=0, run_module_prog=1, build_dirs=1, extra_arg=0x0)
    at /usr/src/gnu/usr.bin/cvs/src/modules.c:317
#16 0x00001ce596f1656f in checkout (argc=1, argv=0x1ce79bf775f0)
    at /usr/src/gnu/usr.bin/cvs/src/checkout.c:376
#17 0x00001ce596f5fc52 in do_cvs_command (cmd_name=0x1ce5970a2fdb "checkout", 
    command=0x1ce596f15c24 <checkout>)
    at /usr/src/gnu/usr.bin/cvs/src/server.c:2900
#18 0x00001ce596f6180f in serve_co (arg=0x1ce79a67df02 "")
    at /usr/src/gnu/usr.bin/cvs/src/server.c:3988
#19 0x00001ce596f63989 in server (argc=1, argv=0x1ce79d124780)
    at /usr/src/gnu/usr.bin/cvs/src/server.c:5392
#20 0x00001ce596f40b9b in main (argc=1, argv=0x1ce79d124780)
    at /usr/src/gnu/usr.bin/cvs/src/main.c:999

Reply via email to