GRAPEVINESUPPORTGrapevineSupportAndrewD.BirrellThisdocumentdescribesinformallysomeproceduresandtechniquesthatmaybeusedbythecentraladministratorsoftheGrapevinesystem.Itishighlyunlikelythatthiswillbeusefultoanyoneelse.Thedocumentisinrealitytheconcatenationofmypresentrecollectionsofwhatwehavebeendoingasproblemsarose.Theinformationandrecommendationsshouldbetreatedwithsuspicion.File:[Indigo]Docs>GVSupport.tiogaFebruary14,19844:58pmLasteditedbyRWeaver--May3,198406:11amPDTLasteditedbyHalMurray--July25,19843:42:47amPDTXEROXXeroxCorporationPaloAltoResearchCenter3333CoyoteHillRoadPaloAlto,California94304ForInternalXeroxUseOnlyp_,q _,_,pT_,q_,rVsQetL} &(* 14 <>KI" (*-64u:<=IC;#$*.1 79;1?G S" +-147;@#FS= $'h3Q8 : >D A]'> 2lSb o "x'<))+148:k>Q*!R&(.T 46;@eP !v&' /H16:?FNl1 1"&T+.I3h6(9A;?0LJ 3#&,-O3<68<2>K Hk\ t*,r/b36w9[=Fs.U &0'),24068<ES:C"Z#(*,07 9;CX!&r)6,25x7:<@B(U 2 "+% ( *R04:m= =@](\$!"N$&),029m?@>J J%u'*/2c :%;= k w6qPx3"y z $ *R,X0-2>y43"3"5Xx3"90y:3"3";nx3"?r1{ ,!~$)-369<?/<y// /x/& + 4(69c;@=.,y.,.,x4.,., $(*e,{-2 8>,>cy ,,!Kx,%^(,$/ 4 =*_?M &(*,-3H7V: )66 y2)6)6/ x)6#Q%*025_8' $)+/3y4''5 x= ''%[y %% x%%p).3]508o:y=%%>x#lb & +3-G2347:=1?!z!!?x!! #W),C-3T4h7 9({v!#%)*-13I6;=l,("j%m y,-{x25g8_:y=>|x>X "4y#$x'(+-Y/147; 2 )!%&* 249:=5O$f)$+/248_::? [ y"" x**,#-0!2V6899; <y<<x< [#*/0>2K6<?Q(3!$~% -137:<9?W@ By " x *-G157z9T :9x Q5"h$OqWy5OqOq( xOq!i&r*[+. 17j9L=M#K!#([,24KOrykKOKO^ xKO# (:,?.137+;p I!z!$$b&)/z1w5y8>II8x=II?H !I"%wAc x> B#%)-35"7<???4(#'{0 Wx-uK!P#&+-/>145;>+  #K%(&.15Z9;`=*<b#'D).0l28^; <(G !#'+9-0269>S&A [{# m" x Pt %*/13@6:=?S!$')6*B-j058: a3Vy#c# x-/I24i9>iZ* !q#%q(N-3i6}8@e7I #F%( 03d6)9 ?K 2#(G .356&89>nEf!"$)/2a5H7;>M @ K  sy$ K K& x K-c0y37;1= [5!_#;%-w147[:V=? TVm$&44.CreateanindividualnamedNewServer.mswiththreeinboxsites,thecorrectpassword,andaconnectsiteofthenet#host#whereyouwillfirststartuptheserver.5.CreateagroupnamedArchive-NewServer.mswithamember"[LeafServer]",where"LeafServer"istheIFSusedinstep0.6.CreateanindividualnamedLog-NewServer.mswithnopasswordandaconnectsitesetto"[LeafServer]Log>".7.AddNewServer.msasamemberofMailDrop.ms.7a.WaitawhileformostexistingGrapevineserverstogetalltheseupdates.8.AddNewServer.gvasamemberofallregistriesthatthenewserveristocontainreplicasof.Thiswillincludegv,ms,internet,auto,andforeign.9.AddNewServer.msasamemberofIFSAccounts^.ms.10.WaitawhileformostexistingGrapevineserverstogetalltheseupdates.11.FindavacantDoradowithanAltopartitionanduseCopyDisktoinstalltheprimevalserverdiskfrom[Indigo]PrimevalServer.bfs.Bootthis,andinstalltheoperationgsystemtorenamethefilesystemtobeNewServer.Deletethefileheap.segmentsifitexists.DeleteMBX*andSL*too.12.Starttheserverrunningbytyping"@server.cm".13.Typethepasswordsaskedforandproceedfromthedebuggeronce(uncaughtsignal"InitialisingHeap"fromHeapRestart)asrequired.14.Whenitsfinallyopenforbusiness,waitforallaccumulateddatabaseupdatestocomplete,thenstoptheserverandCopyDiskit'sdiskstodisksonthepermanenthost.Restarttheserverthereandthendeletethefileheap.segmentsfromyouroriginalofthestartupdisks.Recently,we'vedonetheCopyDisktotheremotesitebystoringthediskimageonIndigothengettingtheremotepeopletosuckthedisksfromtherewithCopyDisk.Thisrequireslessinterventionfromthisend.15.RestoretheDorado'sAltopartitiontoasensiblestate(asdescribedinthe"ServerBuilding"section).Note.Ifyoufailafterstep12,youmustdeletethefileheap.segmentsbeforeretrying.RebuildingaServernamed"NewServer"afterBurningitsDisksPerformstep11oftheaboverecipe.SettheconnectsitesforNewServer.gvandNewServer.mstothenet#host#ofthatDorado.Performsteps12,13,14and15oftheaboverecipe.MovingaServerYoucanmoveanexistingservertoanewaddressquitecasually.Itwillautomaticallynoticeitsnewaddressandupdatethedatabase.Iftheserverisadandelion,you'llfirstneedtoupdatethePupnetworkdirectorytomaptheprocessorIDtothenewPupaddress.Thereisapotentialraceinthenewlymovedserverfindingit'slocalmailbox-youcanfixtheracebyusingmaintaintosetthecorrectconnectsiteforthemailserverinitslocalversionoftheMSregistry.tg/Ex_/ Sy$_/_/% x_/-047;8=][5!_#;%-w147[:V=?[Ye="=y'YeYe(xYe6o:<W! )m*-8/3+47UB( !y&nUBUB'axUB2757>@SyDQyQQ xQ!?"i'y)QQ* x1FQQNY".'8-24;68t;L(y0L(L(C xL(!"(j*C,T 2:5(7:>@oJVp!y%JJ&x'FJJy("JJ)8x)JJy*JJ*x/JJy/JJ0x2~JJ3Zy6JJ6x:"JJHyHH xH!?"i'y)HH** x4HHEd"9'C.24F68<C }"%'*03O5Agvf"e&;?$? #$)+.:24Gy6)??7=xAy>>h x>s*#( ,/R25;d##Z%U) 9""&)W,h158t>7{[F$( 0w2%4"3#X%+.1n3 ;?3X0n"$)+2z48O:=?1] P$G'*]-n1f3y6116 x1>0  #)-w03'9;)=v.bb]M;!G#M'*/i16o:<?,TE_#&,. 6e9?(,& N#F%(b+02ty4&&5 x&=$u{!& > '+-0m2]x(-4 $),l.4&7Ly9: x/y// x/U\%'*n0N59;K=?g{8 x#K')*.-3Z7(=?rB  %(-0"68;&?]@ A; %B'*K/5:69< "bhe!\%w&(>.125X9r> L!li"$&),.17d9;-= y/"<#%) -/14TVm$5CreatinganEntirelyNewRegistry"NewReg"1.CreatethegroupNewReg.gv2.Setitsremarkfieldtosomethinginformative3.Addappropriateregistrationserversasmembersofthegroup.RememberotusefullRNamessuchasCabernet.gv.4.Waituntilyou'resurethateachofthoseservershasreceivedanupdategivingitthefinalmembershiplistofNewReg.gv(sotheyallknowwhotosendupdatesto).5.AddappropriateadministratorsasownersofthegroupNewReg.gvandtelltheadministratorsthatit'sallready.DestroyingaRegistry"OldReg"CompletelyDon'tjustdeletethegroupOldReg.gv;thisshouldwork,butitapparentlycrasheseachserverthatknowsabouttheregistry.Sofirstremoveallmembersfromthegroup,thenwaitforthoseupdatestopropagatetoalltheconcernedservers,thendeletethegroup.RemovingaRegistry"OldReg"fromanExistingServerEasy:justremovetheserverfrombeingamemberofthegroupOldReg.gv.AddinganExistingRegistrytoanExistingServerHard.Thedifficultiesarisefromtheproblemofsynchronizingthenewlyaddedserverfetchingtheregistrywithpeoplemakingupdatestotheregistry.Really,weshouldhaveimplementedthemidnightdatabasecomparisonandrepairdemonandbeenlessparanoidaboutthedatabasebeingtemporarilyoutofstep.However,here'swhatyoudo.Chattotheserverinquestion,loginandenable.ThenusetheAddRegistrycommand.Thisleadsyoubythehandthroughadelicateprocess.I'mnotsurewhathappensifthere'sacrashinthemiddleofit.Incaseofdoubt,lookattheprocedureDoAddRegistryinthesourcemoduleEnquiry.mesa.Approximately,theserverturnsitselfoff,thenaddsitselftothedatabaseinitslocalcopyonly,thengetsyoutoadditineveryoneelse'scopy(usingsomeotherserver),thenwhenthatupdatehaspropagated(yourjudgement)itfetchestheregistryfromsomeotherserver.Theentireexerciseisquitesensitivetonetworkorserverfailures.Sigh!SoftwareSupportRememberthattheGrapevinecodeisbasicallyanAltoprogram.Thesourcesforthemainpartoftheserver(Server.bcd)arePilotcompatible(approximately).TherearePilotversionsofVMandsomemodulesinServer.bcdsothatwecanrunonDandelions.Idon'tknowanythingaboutbuilding,debuggingorrunningtheDandelionversion.ThesoftwareisveryclosetorunningoutofMDSmemory,sobeverycarefulaboutusinganymore!tg/E{_,{k$2x[0y[[ xYa0j'W!' VGx  %8)+135;U>9ky U>U>! xR[ #@&X'+/2T79=QS  my"AQQ#Ux)bQQ)+.0479=OsLEt  &(-~/L1y5LL6xL<?KPA 89!){H }" xDy#DD$x)DD+<.269;N C i!%m'-`/V268>Acf1O"u')0 136w=5?u{ x&)H+.3y9Y&&:L xAB&%B "j%(<+W.135;d=>#*s "s#%d+6.26!9=@!| y &*K 127y9> L][!/&B'+0s2 7H8<wx$')i.04:q=J?\_8" *-:0 7h*ja"3$(p-/ 6]8:=? \-"'+18:m?|e#%k(,-3 5z7X8jx:@Z rsU"TVm$6ComponentsFortheAlto,partsofthesoftwarearepackagedseparately.Differentmachinesusedifferentones,dependingonwhichserverstheyrun.TheserversarestartedbyanAltoexecutivecommandlinesuchasSetTime;Grapevine.image/kTinyPup/lVM/lServer/lMaintainCore/lLilyCore/lSponge/l;The"/k"releasesmemorythatwouldotherwisebereservedfordebuggerbitmap.The"/l"saystoloadwithcodelinksinsteadofframelinks(savesMDSmemory).The"SetTime"ensuresthatthesystemknowsthetime.Beware:iftherearenotimeserversrunning,thisaskstheoperatortotypinthetime,andtheoperatoroftengetsitwrong.ThecommandlineisstoredoneachserverasthefileServer.cm.MaintainCoreandLilyCoreareoptional.ServermaybereplacedbyMServer.ServerandLilyCoremaybereplacedbyLily.Grapevine.imageUsethisinsteadofMesa.image.Itliveson[Indigo]Image>*.Unmodifiedpartsarestillon[Ivy]*.ItallowsmoreprocessesthanMesa.image.TinyPupTheAltoMesaPuppackage,withsomebugfixes.ItisTinyPup.bcdanditandthemodifiedmodulesliveon[Indigo]Pup>*.Theunmodifiedmodulesarestillon[Ivy]Pup>*.VMDiskaccessandfilesystem.ItisVM.bcdandliveson[Indigo]VM>*.GrapevineUserThisisavailableasaseparatepackagebecauseitisboundintoLaurel.ItisGrapevineUser.bcdandliveson[Indigo]User>*.Itimplementsserver-independentaccesstotheprotocols.ItisincludedinServer.bcd,MServer.bcdandLily.bcd.Server,MServerThiscontainsthemainbodyofgrapevine.UseServer.bcdifyouwanttorunbotharegistrationserverandamailserver.UseMServer.bcdifyouwanttorunjustamailserver.Liveson[Indigo]MS>*.Lily(Core)ImplementstheLilyserver(alsoknownasErnestine;"Lily"asin"LilyTomlin").LilyCore.bcdcanbeloadedwithServer.bcdorMServer.bcd.UseLily.bcdforastand-aloneserver.Liveson[Indigo]Lily>*.Irecommendresistingstronglyanysuggestionsforimprovingthis.tg/E{_, x[AQ!M&(. 6%<Z5Mh!## '$+.249f;@"X V# &>tV]%-D17 Tk xQg#y&+139<PH"%)M,13b7v:z?PHPH@xN{?#&(-D1s37=H>Lp!$'*E0146z9<?KRa !#*D,.]2{4}7;=Z?yIxIIyJII xI)y"II"xI'*Sy0II1xI5:8c:x@"yHxHHyLHH)xHy=HH1xH!$&,gy.cHH/Vx0HHyDxAdy:AdAd x&+AdAd(i*O-y0XAdAd0x<8AdAd<? "  y#??# x+k??-/4j8|>y> x>>y:x7v$^'+M./245 =@5 #y%55&Vx15527: 4'fZay0x-C"#y%3--&0x-*9,/y1--2xAB--y*9 x&J$w).0c16K8 9?*@y%Bx%B"y%p%B%B%x5g%B%B8k: # d" )f*,,1y3d##4@x9n##y:<##; x!y!!xL!!ytxT: 0#% ,y/TT0uxT637:c=?4t !"&+1y./h x6 7:P=?Xy ^ x/y xf 2g#'],5.5 5:<>y x !&Xy)b*>x/y12 x8:,y<=x T !y##x3)4X5I< p#  4&TVm$7Maintain(Core)Thegrottyteletype-styleMaintaininterface.MaintainCore.bcdcanbeloadedifyou'reusingServer.bcd(itthenallowsuseofMaintainifyou'reenabledintheviticulturists'entrancechatconnection).MaintainCore.bcdshouldbeloadedifyou'reusingLily.bcd.ItisalsoincludedinMaintain.laurelforloadinginLaurel6.Liveson[Indigo]Maintain>*.Irecommendresistingstronglyanysuggestionsforimprovingthis.SpongeThissillythingis"DOWAITcENDLOOP".ItisalwaysloadedlasttouseuptheoriginalprocessbecausereturningtotheimagefilecallsStopMesa[].Liveson[Indigo]MS>*.BuildingaNewVersionFirstmakesureyouareamemberofLaurelImp^.pa.ThatgivesyouownerrightstotheGrapevinedirectoriesonIvyandIndigo.ThenfindapublicDoradowithanAltopartitionthatyou'rewillingtodestroy.ThenuseCopyDisktocopyfrom[Ivy]Build.bfstoBFS.ThenboottheAltopartition.Ithinkitispasswordprotected,andIforgetthepassword-it'sprobablyeither"Viticulture"or"Botrytis".IfnecessaryyoucanbreakinfromtheAltoNetExecusingtheNewOScommand.Thereareseveralcommandfilesforbuildingormanipulatingthevariouscomponents.Therearefilessuchassource.server,source.lily,source.maintain,object.server,files.server,etc.Forexample,torebuildServer.bcdyouwouldsayCompile@source.server@;BindServer/cNotethe"/c"tocausecodecopying.Ibelievethebindingstepstandardlyproducesonewarningaboutcode/framelinks.TherearedifferentcommandfilesforVM(differentimplementor!)-lookat*.cm.Whenyou'refinished,backupthemodifiedfileson[Indigo]bysayingsomethinglikeFTPIndigoDir/cGrapevine>msst/u@files.serverThenuseCopyDisktocopythediskimagebackfromBFSto[Ivy]Build.bfs!1.UsetheexplicitversionnumbertoavoidcreatinganothercopyonIvy(thediskquotawon'tletyouanyway!).NotethatthediskimageiskepyonIvyandthesourcebackupsareonIndigo.Thisisdeliberate-Idon'tentirelytrustevenIFSbackups.Finally,it'spolitetorestoresomesortofAltopartitionontheDorado.Standardly,thiscomesfrom[Indigo]Mesa6-14.bfs.ThenusetheAltoExecutive'sInstallcommandtoextendthefilesystemtousebothmodel44's.DistributingaNewVersionIdon'tknowhowtotothisontoDandelions.ForAltos,usetheFTPserverprovidedaspartoftherunningGrapevineserver.Becareful:therunningserverisswappingcodefromtheBCDpresentlyonitsdisk.Sofirststorethenewversionunderanewfiletitle,thenrenametheoldversionassomethingelse,thenrenamethenewversionastherealfiletitle.Forexample,storeanewServer.bcdasremotetg/Ey_, x[ !' y-[[/"x[8;=Z6\yqZ6Z6MxZ6!$?(+,24`8=?XK$ y'3XX(xX2 6{8K<=VyVV~x=VV|H#y%VV& xV/11m6U8uU@yU@U@[x#U@U@$& -38G: SyPJxL0|KLL\t"LL|#LL$x)ALL)+O,.0279;:=?KS);$&)j-0[y3KSKS4x:VKSKS<1@yIxSII{F]ZxC!'"k'y)CC* x2CC417;=Agg $8&>(+_>54a"_%m'P*]/26;Q<=D7 y=D#x=D3}5O=D=D6x7r=D=D8<?;' (s! '3 -0168>?9 " )+14I6:&A*-,J/"6(9<?0oZ!%+C-/58+9 @ AvvzWx 4]$(+.179< ?5y !x46W: <? y xR "b&)=+0"14E7;{ xpyTt?! #' /p286J8z;Wpp<xp>xf*").06e8>"L]zd"" x""P(6*:,/148 :j=V z!$'E).0A6:=5 9!%('-1D2ey5K 6(x ;=v /TVm$8fileNewServer.bcdthenrenameremotefileServer.bcdtoberemotefileOldServer.bcdandrenameremotefileNewServer.bcdtoberemotefileServer.bcd.Youmustn'tdeleteOldServer.bcduntilyou'verestartedtheserver.UsuallyIdon'tbothertodeleteOldServer.bcdatall,soyouwillgenerallyfindthatfilealreadyexistsandhastobedeletedbeforeyoudothefirstrename.TheFTPserversupportsenumerationwiththepattern"*"only.Idon'tguaranteewhatwillhappenifthediskgetsfull,sotrytobeconsistentaboutthefiletitleOldServer.bcdsothatyouknowtodeleteitnexttime.Onceyouhavethesoftwareinstalled,chattotheViticulturists'entrancetorestarttheserver.Login,enable,andusetheRestartcommand.Thisdefaultsthenewcommandlinetobe"@Server",whichisgenerallywhatyouwant.Werarelyneedtoinvolvethelocaladministratorsinthisexercise,butit'sbesttowarnthemsothattheydon'tworrywhenitlooksasiftheirserverjuststopped.ServerSupportThissectionisabouthowtodealwithailingservers.Ofcourse,Idon'trememberallthethingsthathavehappened.Usuallywhensomethinggoeswrongyougetaphonecallfromanadministratororanirateuser.Sometimestheydon'tnoticeforadayormore.Usuallytheincidentisrestrictedtoasingleserver,butoccasionallyitismorewidespread.Beawareofthepossibilityofsomesystematicsoftwarebugcrashingmultiple(orall!)servers.Also,beawareoftherollingblackouteffect,whereaprobleminoneservercausesloadsheddingtoanotherserver,whichinturnbecomesoverloadedandshedsontootherservers.Thiscanresultintheentiresystembecomingclogged,andthat'sverydifficulttogetoutof(seethesub-sectiononrestrictedstart-upsforsomehints).ManytimeswhenitlooksasifGrapevineisperformingbadlyornotatalltherealcauseisthattheinternetisbeingflakey.Occasionallysomeinternetlinksaresufficientlymarginalthattheserversthinktheyarealternatingbetweenupanddown,andthiscancauseverylargeloadsontheserverstryingtoforwardmailtoeachother.Thisalsocauseslargeloadsontheslowlinks,whichaggravatestheoriginalproblem.AnythinggoingthroughPolarisisliabletothis(becauseit'sthecenterofastar),asistrafficfromPaloAltotoElSegundo(becauseofthemultitudeofhopsonsomeofthoseroutes).StartingandStoppingTheserversareallconfiguredsothattheyarestartedbygettingtotheAltoexecuitveandtyping"@Server.cm".Theycanbestoppedsafelybytypingshift-Swat.Justpressingthebootbuttonmaystoptheminthemiddleofadisktransferandsocauseadiskerrortobereportedonasubsequentrestart.Iftheserverisinthedebugger,remembertogetoutbytyping"K".SOmepeopletrytyping"Q",butthatjustkillsthecurrentprocess.DatabaseFilesAlltheinterestinginformationusedbyaserveriskeptinordinaryfiles,withouttg/Ex_,y+_,_,? x_,.4!&y(_,_,)x_,/;027 y9i_,_,:} x]|y]] x]'@) +/y2]]]39 x]9=([y[[1 x[t$),h168;@oZ6yZ6Z6 xZ6,o!-#&,e/N24z9H<?XtC< <"%g+ z-XX.xX04: Vd' $b*.0579xS8HQ}o$= *J-/h2:@oOvzb9?#&)'y+OvOv,xOv0<7x:?M3 %*+p1W47m;>3L'KQ ')a,14,6k9[;>Jt!#&(e)- 13wC x@ #&% (e+/58B=5>>t $+T0d4:==DTM!A )+~-r04w;v>; [J $'@,. 4-57);&?9 D 7z "$v( .4K7"<5)&!#!$'M+1_59:@p4+uh"C#(-1 25; 23Q!#$*&*[+.B26<0M`N!$%(+ 244> :A?/5u,>C!#$+- 4@89<<=?+d!K"&+ 37B[F#f&}( 026HPK &.$26?QyNxNE$ '(*|/ 6o8#=uLRgV$&)^-036Z8o;?yKUxKUx"')-1 y3wKUKU4T xKU;=UI "&*.25y5"II5 xI?gyHxH"Q$ ,01w7:g? @oF_!{$* ,8/3\5:>?D|]"$& '*-13:=`C|`yCC xC"'d*i,.N1I35o7<Ai!f'%*0:3"8<? %(3* 2k7@8:>>5_$0')- 0}2)49 :t=k?P$^(+ 26w:>5ja!0$')?+ 25{69B;?03Zy3Z3Zx3Zy~3Z3Z x3Z-/a266V8 ?1{.c nx+ 8 ': .1;38C;C<>S)l%S!="%),\/26=;?g'xH!(Y+s. 357!($'*>-^/223V7s>1q W^$#U&(,.v2 9p<  J!' )p+.258{>=2u{x "%.*O0379=36b{!$'x*,168<">D |i!%(+028;>t#R $'*-_2U59:>G&p 't y/ TVm$10Therearesomecommonsymptoms.Notethatthecursortrackingisnothighpriority,soitcanfreezejustbecauseofaCPUloopelsewhere.YoucanusuallytellaCPUloopfromthe"IdleTime"statisticonthescreendisplay.ThereareoccasionaldeadlocksbecauseoftoofewVMbuffers(becauseofthewaythatdeadlockisimplemented,itlookslikeaCPUloop).ThereareoccasionaldeadlocksbecauseoftoofewPUPbuffers("FreePUPs"onthescreen).ThereisabugthatcausesanuncaughtsignalfromtheBTreepackage.Youcantellifitdiedonthewaytoabrokendebuggerbywhetherthecursorstillhasthe"grapes"ornot.DiskErrorsSad.Theadministratorshavestandingordersthatiftheyrunthescavengertheyshouldtellitnottomodifythedisk.Thisistoavoidlosingtheinformationaboutwhatpageisbad.Theyarenotverygoodaboutfollowingthisrule.Often,thebestwaytoproceedistoletthescavengerfixthingsup,thenrestartandseewhattherestartsequencecomplainsabout.Ifitdoesn'tcomplain,thingsareprobablyok.Ifitdoescomplain,youhaveachoice.Youcantrytopatchthedatastructuresbacktogetherwiththeremotediskpatchingtool,oryoucancutyourlossesandreconstructtheserverfromscratch(therebylosingwhatevermailwasbufferedthere).Patchingisveryintensiveinthetimeoftheexperts,andmaynotbeworthit.Historically,wehavepatchedthingsbacktogether.AdministrativeSupportThissectionisabouthowtoassistthelocaladministratorswhensomethinggoeswrongwiththesystem,otherthanblatantlybrokenservers."Turkey.regcan'treadhismail"Thisisprobablythemostcommonproblem.Sometimesit'snotreallyourfault.ThisincludesbugsinLaurelorHardy,ordiskfullontheuser'sworkstation.(WithLaurel,ifyouclickNewMailwiththerightbutton,itwilldeletemessagesfromtheinboxoneatatime,soyoucangetasmanymessagesaswillfitthedisk,processthem,thengetsomemore.Thisisusefuliftheuserhasavastnumberofmessagestheread.)Mostotheroccurrencesarerelatedtoreadingarchivedmail.UsuallythisisjustbecausethearchiveIFSisdown,oraninternetlinktoitisdown.Thecauseofrealdifficultyinreadingmailisalmostalwayssomethingtodowitharchivefiles.ThereareseveralthingstheIFSadministratorcandotocausethis,socheckthemfirst.theIFSmightnothaveitsLeafserverenabled(seewhethertheIFSversionnumberisfollowedbyan"L").TheIFSaccesscontrolsmnayhavebeenmangledtopreventtheserveraccessingthefiles.TrychattingtotheIFSandlogginginasthemailserver(e.g."Cabernet.ms")andconnectingtotheDMSdirectory.Checkthefileprotectionsonthearchivefiles.RememberthattheIFSadministratorcan(wrongly)configuretheIFStoavoidusingGrapevineforaccesscontrollists.TheadministratorhasbeenknowntodeletearchivefilesfromtheIFS.SometimestheDMSdirectorygetsrestored(incompletely)frombackup.Sometimesarchivefilesactuallygetcorrupted.Inthesecases,informationhasbeenlostandcannotberecovered.Thereisatool"Vulture"forpatchingarchivefiles,butIdon'ttg/Ex_/!Y(,C/15; <|>]+> l%'?z(e]])0x]+>._ 5~8;?[z[[x[U"')+05n9W; Z9zz"fZ9Z9#1xZ9%)/14u7:@X Iz zXX!ExX#]'+.J 4;<@eVfz VVxV ?$&)m/03L468;@-UCt# )i,/-13479Aj #'s,A16<)?r?j #)e+-|02d49<?>  $)D-\0w7~ x4/7a!T"&h(+ 48s?25h!$-).{/9 *x+!@&- 368e<>*CYH "j'(+.70:26i >'( $&e).{/2w6O@!&6*jz,-Ox/G 7:|<>i4uA>z 44 x4"&(,+-1 5:<zCxS$&(,z/~/x15; >B %*-Q1 39 :z==x?f>."% 03 :R>?x u &((*/r3\:=gz?@Ax n j&z))x+z-A14;>H  $)+015n8<z??xAB&z-&&x&?! #) 2#5;# ~V %'+4/ 69E<?g J' % !j"%9+-3B7;(=> ZTVm$'11thinkitisworththetrouble.Instead,gettheusertoreadasmanymessagesaspossibleusingLily.Thengivetheuseracopyoftheactualarchivefile(s)ifdesired(astextfiles).Thendeletetheuser.Thiswillcausetheserverstoabandonanyatemptatreadinghisinboxandjustflushit.Thenrecreatetheuser.(Thiswillrequiretheactionsdescribedbelowunder"IjustdeletedTurkey.reg").EmptyingthemailboxofTurkey.regThisrequiresalittlecare,becausethewrongactionscancausevastquantitiesofmessagestobebroughtontotheserverforreturn-to-senderprocessing.(ThiswasthecauseoftheSOSP7disaster.)Topreventthis,deletetheindividualentirely-thiswillcausetheservertojustflushthemailboxwithnoattemptatremailing.Justremovingallmailboxsitesisusuallywrong-itwillcauseremailingtobeattempted.Notethatthereturn-to-senderlogicwilldiscardamessagethat'smorethansevendaysoldwithouttellinganyone(althoughitwritesalogentry)."IjustdeletedTurkey.reg"Normally,anamecan'tberecreateduntilthe"dead"entryispurgedaboutfourteendayslater.Thiscanbecircumventedmanually.First,waituntileveryserverfortheregistrybelievestheentryisdead(useSetServerandTypeEntryinMaintaintocheckthis).Alsobesurethatanyotherupdatesforthenamehavefinishedpropagating.Notethatyoucan'tdothisunlessalltheserversfortheregistryareaccessible.Thechattoeachserverinturn,loginandenable,andgivetheForcePurgecommand.Thenit'soktorecreatethename.OrphanarchivefilesSometimestheserverwillbeunabletodeleteanarchivefile.Inthatcase,itjustforgetsaboutthefile.YoucanverifythatanarchivefileisanorphanbyusingtheDisplayInboxescommandoftheviticulturists'entranceonthecorrespondingmailserver.Ifthatmailserverbelievestheuserhasnoarchivedmessages,thenyoumaymanuallydeletethefile(s).LaurelSupport.paSomeusersthinkLaurelsupportmeansGrapevinesupport,soyoushouldbeontheLaurelSupport.palist.IgnoremessagesthatarepurelyaboutLaurel-someoneelsewillhandlethem(JohnWhiteatpresent).DeadLetter.msThisnamereceivesamessagewheneversomethinggetsreturnedtosender,orwheneveradistributionlistownerisnotifiedaboutinvalidnamesonthelist.Thesemessagescangenerallybeignored.Thisnamerecievesmessagesthatcan'tbereturnedanywhereelsebecausetheirreturn-tonameisinvalid-thesearequiterare.Thisnameisalsothereturn-tonameforregistrationserverandmailserverinternalmail.ItisalsoamemberofPostmaster.pa,whichoccasionallyreceivesenquiriesorcommentsfromtheArpaNetaboutourmailservice-trytobepolite!Largenumbersofreturnedmessagestg/Ex_/ P"='),/1p46:p@p]\!$%'(0+v-$/w3n8+<=U['z7 b"&*',03@79?}Z9f #&*",0g58A;?sX  $(*-<2 {UB]@ xQ+e!'.)-25/8; PK #T%*,i6 >NkzNNmxN %("-&0$456 =Lg0!$;'*4/249; KUOz #A$).J/137>D@-I Q)V,/l485n:>Hb n$)o/046&8y{DF xAgP!#)6,/,479a><?,n"!$: ,47:>j> b"2$([)-Z0c69{@p:Z 8 #&*],/q358=K?9# : # $'+-13V57t-& !"$,2X4Cy6--7! x-?+"$&g)R+-339Yc -&)-3h9<@-m7"I%+A.0K4592;u>>" %( //3759=m;f )- 5I:n@Zo6 $'V*p./235y vCE )TVm$12Thereisusuallyasteadytrickleofmessagestodeadletter(about10or20perday).Ifthereisasuddenburst,trytounderstandwhy.Mostfrequentlytheyarebecauseofmessagetime-outsbecausesomeinternetlinkorserverwasdownfortoolong(morethantwodays,excludingweekends).ReturnedRSinternalmailEachoccurrenceofthismeanssomeupdatehasfailedtopropagate.Thetextpartofthemessagesayswhatnametheupdatewasfor,andyougettoldwhichserverthemessagewasfromandto.Thereareoftenmultiplemessagesforonename.Foreachnamewhoseupdatedidnotpropagate,youmustcauseapropagationfromtheserverthatoriginatedtheupdate.DothiswithMaintain(usingSetServerfortheappropriateserver),byusingSetRemarkorSetConnect.Thesealwaysafullupdatetopropagate(AddMemberandsooncuaseonlypartoftheentrytobeepropagated).ReturnedMSinternalmailMostofthesearenotimportant.Theonlyonesthatmatterareifthemessagewasaddressedtoamailserverthatnolongershouldhaveaninboxfortheindividual.Inthatcase,themessagewasintendedtoprovokeremailingfromtheinbox.Youneedtotriggerthismanuallybeaddingthatinboxsitefortheindividualthenremovingitagain.ToolsOvertheyearswehaveaccumulatedsomehacksthatassistthecentraladministrators.Theprogrammingqualityistypicallyquitelow.TheseareallCedarprograms.DBCompare,GVWatcher,InvertDlsandDLMapliveon[Indigo]Tools>andtheyarecontainedinGVTools.df.Theothersliveon[Indigo]somewhere.DBCompareComparesthedatabaseononeserverwithcopieselsewhere.Usefulforrecoveringfrominconsistencies.Ifyoufindaninconsistency,fixitbydoingaSetRemarkorSetConnectonwhicheverserverhasthebetterversionoftheentry(oronbothserversifyoucan'ttellwhichisbetter).DBPurgeEnumeratestheentireregistrationdatabaselookingforgroupmembers/owners/friendsthatare"dead"names,andremovesthem.Thisisthebestsolutiontotheproblemofsomeonebeingdeletedandnotbeingremovedfromlistsinanotherregistry.TheplanwastorunthisasaonceperdayprocessontheCedarserver-server.Alternatively,getRonWeavertorunitovernightonhismachine.Ifyouarrangeforthistorunsystematically,youwillreducethenumberofreturn-to-sendermessages,andyoucantelllocaladministratorstostopdoingRemoveAllMembershipswhentheydeleteaname.(Theywouldlovetostopdoingthis!)tg/Ex_'* !f%'q-Y/ 59;=?]v ~#o%'X .2r6 <?[ &).1l3$7$9=?Z1.X% yVxS!  $(z-/3x51 <?fQI"L&/(-i08258;>PD!n$I'+C-1s7=?rN4c l$'+)| 0259x:} LI "$b),..17;KNn !%.,B- 6:>r?Ie $')n+/k257:=?G yDovxAb+l3 &n)F,_/2[69:h<?m1:4! #%).21X3(69;D >K!a''(.?4f7:@?:Vw4'x0cb" +0/:3|6:=/0U #(_)/*259<(>- ! *25%bS "]$(*5{Xx  $ ,3:Y>a!$(-063:>+? ]" '+x0@25T9>S_% $&(t+ -/[036B8=?kA  %(+m0257-=?G{ #^%'03d6:<%!$n'T*,0 97;>= u&!$(*.269;K>= ?TVm$13GVWatcherChatstoeveryserverandgetsitsvariousstatistics.Thisisquitequickandisagoodwaytogetafeelforwhethereverythingisrunningok.It'sverysimpleandshouldbeeasytoconverttoPilot.InvertDLsRonWeaverrunsthisperiodically.Itrunsforseveralhoursandproducesfilessayingwhatlistseveryoneisin.DLMapRonWeaverrunsthisperiodically.Itrunsforseveralhoursandproducesfilessayingwhatdistributionlistsexistandsomeinformationabouteachlist.VultureThisisautilityforpatchingarchivefiles.IthasonlybeenusedonceandhasnotbeenrebuiltforthecurrentversionofCedar.Ihaveneverusedit.Incidentally,afilecontainingallzeroeslookslikeanarchivefileallofwhosemessageshavebeendeleted.RemoteDiskPatchingThisisaservermoduleforrunningonthetargetdisk,andauserinterfaceforinsideCedar.ItunderstandsaboutHeaps,andallowspatchingofheapsoranyotherfileonthetargetdisk.IthasnotbeenrebuiltforthecurrentversionofCedar.Ihaveneverusedit.Ibelievethereisadocumentationfilewithit.Beware,"wellknown"facts,andotheroddsandendsThissectioniscollectionofthingseverybodywhoworkswithGrapevineshouldknow.FlushingamailboxInthiscontext,flushisareservedword.IfanIFScrashdestroysanarchivedmailfile,theservergetsallconfusedandtheusersees"failed".Theonlysimplewayoutofthisistoflushthemailbox.Todothat,don'tdeletetheuser,butjustremoveallofhismailboxes.Ifyouonlyremovethemailboxatthesickserver,thatserverwillbangit'sheadagainsttheIFStryingtoforwardthemailinthemissingfiletotheotherserver(s).Aftertheservershavedeletedthemailboxes,addthembacktotheuser.(Idon'tknowanyeasytrickforhowlongtowait.)MovingMailboxesMovingmailboxesistricky.Ifyoumovetoomanymessagestoorapidly,youcangettheserversalltangledup.Don'tmoveanymailboxeswitharchivedmail.It'sjusttoorisky.Eitherflushthemailboxs,orgettheuserstoreadtheirmail.tg/E{_,x['!$S&'* 14059<?@Z6bH[L$ +->25u7:?gX^OS {U@xQZ ') ,.S269Z?0PIx: {LxIZ ') ,.S269Z?0Hx  #&* 158{DxAf3ai#K(+-g/26a9<??BZ"&(e-0.$1U5 82:; >U "%%'+./15;>)7 "]$(+2-o0t35<{px!f#7$'+s-17:F?g zh{!U~ z#'+ -47docs>GVSupport.tioga$Wednesday, July 25, 1984 4:01 am PDT