[cvsnt] Occasional Zombie/Locked Processes probably relating to large amounts of loginfo processing.

Mike Wake mike.wake at thalesgroup.com
Fri Oct 14 15:32:24 BST 2005


Hi All,

I seem to get defunct/zombie processes on my linux server (cvsnt v2.0.58d)
every now and then.  It most likely occurs when large recursive
deep multi-directory commits take place, especially when
using the WinCVS Recursive Add auto commit Macro.

My question based on the stack trace information below is, is this
likely to be caused by my viewcvs-1.0-dev/loginfo-handler(circa Sept 2004)
adding stuff to a mysql database misbehaving or is likely to
be a quirk of cvsnt 2.0.58d?
Has anyone else noticed this in later versions?

Below is a backtrace obtained using the following commands
(Note some irrelevant details are changed to protect the guilty)

[root at ttscvs01 log]# ps aux | grep cvs | grep someuser
someuser  9637  0.0  0.0     0    0 ?        Z    Sep30   0:00 [cvs] <defunct>
someuser  9632  0.0  0.1  4608 1392 ?        S    Sep30   0:01 cvs authserver

gdb cvs 9632
bt


#0  0xffffe410 in ?? ()
#1  0xbfffefa4 in ?? ()
#2  0x00000270 in ?? ()
#3  0x40361000 in ?? ()
#4  0x40252003 in write () from /lib/tls/libc.so.6
#5  0x401e5376 in _IO_file_write () from /lib/tls/libc.so.6
#6  0x401e59c0 in _IO_file_open () from /lib/tls/libc.so.6
#7  0x401e435e in _IO_do_write () from /lib/tls/libc.so.6
#8  0x401e3c65 in _IO_file_close_it () from /lib/tls/libc.so.6
#9  0x401d8a8d in fclose () from /lib/tls/libc.so.6
#10 0x080a304f in run_pclose (pipe=0x8178620) at run.c:346
#11 0x0807c862 in logfile_write (repository=0x8145230 "/cvs_repos/hide/hide/hide/hide/hide/hide/hide/hide",
     filter=0x8110e98 "/usr/local/viewcvs-1.0-dev/loginfo-handler %{sVv} cvsnt", message=0x810d3e0 "Merge from Latest", logfp=0x0,
     changes=0x814cd28, bugid=0x0) at logmsg.c:954
#12 0x0807c22b in update_logfile_proc (repository=0x8145230 "/cvs_repos/hide/hide/hide/hide/hide/hide/hide/hide",
     filter=0x8110e98 "/usr/local/viewcvs-1.0-dev/loginfo-handler %{sVv} cvsnt") at logmsg.c:604
#13 0x080873bd in Parse_Info (infofile=0x80de432 "loginfo",
     repository=0x81382e8 "/cvs_repos/hide/hide/hide/hide/hide/hide/hide/hide", callproc=0x807c200 <update_logfile_proc>, all=1)
     at parseinfo.c:141
#14 0x0805ea00 in commit_filesdoneproc (callerdat=0x0, err=0,
     repository=0x81382e8 "/cvs_repos/hide/hide/hide/hide/hide/hide/hide/hide", update_dir=0x80ef6da ".", entries=0x813e880)
     at commit.c:1618
#15 0x0809d81d in do_recursion (frame=0xbffff710, top_level=1) at recurse.c:825
#16 0x0809eb86 in unroll_files_proc (p=0x8113f78, closure=0xbffff710) at recurse.c:1478
#17 0x0806d40a in walklist (list=0x813e618, proc=0x809ea80 <unroll_files_proc>, closure=0xbffff710) at hash.c:374
#18 0x0809ce73 in start_recursion (fileproc=0x805e300 <commit_fileproc>, filesdoneproc=0x805e9b0 <commit_filesdoneproc>, predirentproc=0,
     direntproc=0x805eb50 <commit_direntproc>, dirleaveproc=0x805ec00 <commit_dirleaveproc>, callerdat=0x0, argc=148, argv=0x8116458, local=0, which=5,
     aflag=0, readlock=0, update_preload=0x0, repos_preload=0x0, dosrcs=1, permproc=0x808bd70 <verify_write>) at recurse.c:431
#19 0x0805cd62 in commit (argc=148, argv=0x8115cb0) at commit.c:654
#20 0x080aad81 in server_main (cmd_name=0x80d7a6b "commit", command=0x805c480 <commit>) at server.c:6060
#21 0x080a6727 in do_cvs_command (cmd_name=0x80d7a6b "commit", command=0x805c480 <commit>) at server.c:2715
#22 0x080a71a5 in serve_ci (arg=0x8114af2 "") at server.c:3021
#23 0x080a96c6 in server (argc=1, argv=0x810e200) at server.c:4767
#24 0x0807f5e3 in cvsguiglue_main (argc=1, argv=0x810e200) at main.c:1448
#25 0x080cce66 in main (argc=2, argv=0xbffffeb4) at cvsgui.c:297



More information about the cvsnt mailing list