Re: scotty

Ed Phillips (flaregun@UDel.Edu)
Thu, 9 May 1996 09:42:00 -0400 (EDT)

This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.

---559023410-1804928587-831649320=:8955
Content-Type: TEXT/PLAIN; charset=US-ASCII

On Thu, 9 May 1996, Juergen Schoenwaelder wrote:

> Hi!
>
> Ed Phillips <flaregun@UDel.Edu> said:
>
> Ed> I've written a scotty program that continuously monitors MIB
> Ed> vars on our backbone routers and writes them into a file, and
> Ed> occasionally generate syslogs if there's a problem. The only
> Ed> problem I have is that the scotty process is growing. My
> Ed> program started out at about 2.5MB and grew to 32MB in a
> Ed> matter of days! I thought that maybe the version of tcl/tk I
> Ed> had compiled against was too shabby so I got the patches (tk
> Ed> 4.3p3 and tcl 7.4p3), but still, the process is growing. Does
> Ed> this sound like a correctable problem? Maybe something I do
> Ed> in the tcl code? Do I have to call some kind of garbage
> Ed> collection routine to occasionally clean up unused variables
> Ed> (I'm guessing at this point)? Also, is there a scotty mailing
> Ed> list?
>
> Well, it is hard to tell what is going wrong here. You usually do not
> have to care about memory issues when programming in Tcl. Variables
> are created and automatically freed when leave the scope of a
> procedure. You only have to take care of global variables which exists
> until you destroy them (unset) or you kill the interpreter.

I would hope so ;-)

>
> I it also possible that there is a memory leak in the scotty or the
> Tcl code. However, I did not receive complaints about it yet. The Tcl
> interpreter has a compile-time options which you can set in the
> Makefile which allows to track memory problems. Note, you have to turn
> this option on in all Makefiles of all extension you want to use.
>
> Another way to debug thinks is to try to strip the script down to the
> basics just to see where the problem happens. If you can come up with
> a small example that shows the problem, I can probably provide further
> assistence.
>

I made a stripped down version of my script that exhibits the
"growth problem" which can be seen very quickly. I've attached it to this
message.

> The mailing list for scotty is tkined@ibr.cs.tu-bs.de. You can
> subscribe to this list by sending email to
>

Thanks... I am now subscribed! :-)

> tkined-request@ibr.cs.tu-bs.de
>
> Juergen
>

Thanks,
Ed

+-------------------------------------------------------------------------+
| Ed Phillips <flaregun@udel.edu> University of Delaware (302) 831-6082 |
| Associate Systems Programmer, Network and Systems Services |
| Public key footprint: 1C D4 AC C2 A3 D5 97 AA DB 3B D8 85 88 E7 40 B8 |
| finger -l flaregun@polycut.nss.udel.edu for PGP public key |
+-------------------------------------------------------------------------+

---559023410-1804928587-831649320=:8955
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="test.tcl"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.SOL.3.92.960509094200.8955B@copland.udel.edu>
Content-Description:

IyEvb3B0L3RjbHRrL2Jpbi9zY290dHkgLWYNCg0KIyBTZXQgdGhlc2UgdG8g
Y29udHJvbCB3aGF0IGlzIG1vbml0b3JlZCAoaW50ZXJ2YWwgaXMgaW4gc2Vj
b25kcykNCg0Kc2V0IGhvc3RsaXN0CQlbbGlzdCB0aGlzaG9zdCB0aGF0aG9z
dF0NCnNldCBjb21tdW5pdHkJCXRoYXRzdHJpbmcNCnNldCB2YXJzCQlbbGlz
dCBpZkluRXJyb3JzIGlmT3V0RXJyb3JzXQ0Kc2V0IGludGVydmFsCQkxMA0K
c2V0IGxvZ19maWxlCQkidGVzdGxvZyINCnNldCBkZWJ1ZwkJMQ0KDQojIFRo
ZXNlIGRvbid0IG5lZWQgdG8gYmUgY2hhbmdlZA0KDQpzZXQgaG9zdHMJCVts
aXN0XQ0Kc2V0IGludGVyZmFjZXMoMCkJMA0Kc2V0IG51bV9pbnRlcmZhY2Vz
KDApCTANCnNldCBtaXNzKDApCQkwDQoNCiMgTmV0TW9uIC0gdGFrZXMgYSBo
b3N0bmFtZSBhbmQgYSBsaXN0IG9mIHZhcmlhYmxlcyB0byBnZXQsIHJldHJp
ZXZlcyB0aGVtLCBhbmQNCiMJICAgICBzYXZlcyB0aGVtIGluIGEgbG9nIGZp
bGUgYWxvbmcgd2l0aCBhIHRpbWVzdGFtcC4NCiMJICAgdHJpZXMgdG8gc2Vu
ZCBmZXdlciBwYWNrZXRzIGJ5IHJldHJpZXZpbmcgMTAgdmFycyBhdCBhIHRp
bWUNCiMJICAgICB0aGlzIHNlZW1zIHRvIHdvcmsgd2VsbCBhbmQgaWYgeW91
J3JlIGdldHRpbmcgbG90cyBvZiB2YXJzLA0KIwkgICAgIGl0IGlzIG11Y2gg
ZmFzdGVyLg0KDQpwcm9jIE5ldE1vbiB7dGhpc2hvc3QganZhcnN9IHsNCgln
bG9iYWwgcw0KDQoJc2V0IHZsaXN0ICRqdmFycw0KCXNldCBwYXJ0aWFsIFts
cmFuZ2UgJHZsaXN0IDAgOV0NCglzZXQgbGVmdG92ZXIgW2xyYW5nZSAkdmxp
c3QgMTAgZW5kXQ0KCXdoaWxlIHtbbGxlbmd0aCAkcGFydGlhbF0gPiAwfSB7
DQoJCSRzKCR0aGlzaG9zdCkgZ2V0ICRwYXJ0aWFsIHsNCgkJCWdsb2JhbCBk
ZWJ1ZyBtaXNzDQoJCQlzZXQgaCBbJVMgY2dldCAtYWRkcmVzc10NCgkJCWlm
IHsiJUUiICE9ICJub0Vycm9yIn0gew0KCQkJCWluY3IgbWlzcygkaCkNCgkJ
CQlpZiB7JG1pc3MoJGgpID49IDV9IHsNCgkJCQkgICAgc3lzbG9nIExPR19D
UklUICJ0ZXN0OiAkaCAlRSINCgkJCQkgICAgc2V0IG1pc3MoJGgpIDANCgkJ
CQl9DQoJCQkJcmV0dXJuDQoJCQl9DQoJCQlzZXQgdHQgW2dldGNsb2NrXQ0K
CQkJc2V0IGxvZ2YgW29wZW4gJGxvZ19maWxlIGFdDQoJCQlmb3JlYWNoIGkg
IiVWIiB7DQoJCQkJc2V0IG9pZCBbbGluZGV4ICRpIDBdDQoJCQkJc2V0IHZ2
IFtsaW5kZXggJGkgMl0NCgkJCQlzZXQgbmFtZSBbbWliIG5hbWUgJG9pZF0N
CgkJCQlpZiAkZGVidWcgew0KCQkJCQlwdXRzICIkaCAkbmFtZSAkdHQgJHZ2
Ig0KCQkJCX0NCgkJCQlwdXRzICRsb2dmICIkaCAkbmFtZSAkdHQgJHZ2Ig0K
CQkJfQ0KCQkJY2xvc2UgJGxvZ2YNCgkJCXNldCBtaXNzKCRoKSAwDQoJCX0N
CgkJc2V0IHBhcnRpYWwgW2xyYW5nZSAkbGVmdG92ZXIgMCA5XQ0KCQlzZXQg
bGVmdG92ZXIgW2xyYW5nZSAkbGVmdG92ZXIgMTAgZW5kXQ0KCX0NCglzbm1w
IHdhaXQNCglmbHVzaCBzdGRvdXQNCn0NCg0KIyBRdWVyaWVzIHRvIHNlZSB3
aGljaCBpbnRlcmZhY2VzIGFyZSBhZG1pbmlzdHJhdGl2ZWx5IHVwIGFuZCBh
ZGRzIHRoaXMNCiMgaW5mbyB0byB0aGUgYXJyYXkgImludGVyZmFjZXMoKSIg
YW5kIHRoZSBob3N0bmFtZSB0byB0aGUgbGlzdCAiaG9zdHMiDQoNCnByb2Mg
QWRkSG9zdCB7aG5hbWV9IHsNCglnbG9iYWwgcyBob3N0cyBpbnRlcmZhY2Vz
IG51bV9pbnRlcmZhY2VzIGRlYnVnIGNvbW11bml0eQ0KDQoJaWYge1tsc2Vh
cmNoIC1leGFjdCAkaG9zdHMgJGhuYW1lXSA+PSAwfSB7DQoJCXJldHVybg0K
CX0NCglsYXBwZW5kIGhvc3RzICRobmFtZQ0KCXNldCBtaXNzKCRobmFtZSkg
MA0KCXNldCBjb2RlIFtjYXRjaCB7c25tcCBzZXNzaW9uIC1hZGRyZXNzICRo
bmFtZSAtY29tbXVuaXR5ICRjb21tdW5pdHl9IHMoJGhuYW1lKV0NCglpZiAk
Y29kZSB7DQoJCXB1dHMgImVycm9yIG9wZW5pbmcgc25tcCBzZXNzaW9uIGZv
ciAkaG5hbWUiDQoJCXN5c2xvZyBMT0dfQ1JJVCAibmV0bW9uOiBlcnJvciBv
cGVuaW5nIHNubXAgc2Vzc2lvbiBmb3IgJGhuYW1lIg0KCQlwdXRzICRzKCRo
bmFtZSkNCgkJZXhpdCAxDQoJfQ0KCXNldCBpbnRlcmZhY2VzKCRobmFtZSkg
IiINCglzZXQgbiBbJHMoJGhuYW1lKSBnZXQgaWZOdW1iZXIuMF0NCglzZXQg
bm4gW2xpbmRleCBbbGluZGV4ICRuIDBdIDJdDQoJc2V0IG51cCAwDQoJZm9y
IHtzZXQgaSAxfSB7JGkgPD0gJG5ufSB7aW5jciBpfSB7DQoJCXNldCB2YWwg
WyRzKCRobmFtZSkgZ2V0IGlmQWRtaW5TdGF0dXMuJGldDQoJCXNldCB2IFts
aW5kZXggW2xpbmRleCAkdmFsIDBdIDJdDQoJCWlmIHskdiA9PSAidXAifSB7
DQoJCQlsYXBwZW5kIGludGVyZmFjZXMoJGhuYW1lKSAkaQ0KCQl9DQoJCWlu
Y3IgbnVwDQoJfQ0KCXNldCBudW1faW50ZXJmYWNlcygkaG5hbWUpICRudXAN
CglpZiAkZGVidWcgew0KCQlwdXRzICJob3N0ICRobmFtZSBzZXNzaW9uIHN0
YXJ0ZWQ6ICRudXAgaW50ZXJmYWNlcyBhY3RpdmUiDQoJfQ0KfQ0KDQojIE1h
aW4gc2VjdGlvbg0KDQojIGNhbGwgQWRkSG9zdCBmb3IgZWFjaCBob3N0DQoN
CmZvcmVhY2ggaSAkaG9zdGxpc3Qgew0KCUFkZEhvc3QgJGkNCn0NCg0KIyBj
cmVhdGUgYSBqb2IgZm9yIGVhY2ggaG9zdCB0aGF0IHF1ZXJpZXMgZWFjaCBp
bnRlcmZhY2UgdG8gZ2V0IHRoZSBkZXNpcmVkDQojICAgbGlzdCBvZiB2YXJz
DQoNCiNmb3JlYWNoIGkgJGhvc3RzIHsNCiMJc2V0IHZhcmxpc3QgW2xpc3Rd
DQojCXNldCBtaXNzKCRpKSAwDQojCWZvcmVhY2ggaiAkdmFycyB7DQojCQlm
b3JlYWNoIGsgJGludGVyZmFjZXMoJGkpIHsNCiMJCQlsYXBwZW5kIHZhcmxp
c3QgJGouJGsNCiMJCX0NCiMJfQ0KIwlzZXQgciBbam9iIGNyZWF0ZSBbbGlz
dCBOZXRNb24gJGkgJHZhcmxpc3RdIDEwMDAwXQ0KIwlwdXRzICIkciBzdGFy
dGVkIg0KI30NCiNqb2Igd2FpdA0KDQojIGFsdGVybmF0ZSB2ZXJzaW9uIHdp
dGhvdXQgdGhlIGpvYiBzdHVmZg0KZm9yZWFjaCBpICRob3N0cyB7DQoJc2V0
IG1pc3MoJGkpIDANCn0NCndoaWxlIDEgew0KCXNldCBsYXN0dGltZSBbZ2V0
Y2xvY2tdDQoJZm9yZWFjaCBpICRob3N0cyB7DQoJCXNldCB2YXJsaXN0IFts
aXN0XQ0KCQlmb3JlYWNoIGogJHZhcnMgew0KCQkJZm9yZWFjaCBrICRpbnRl
cmZhY2VzKCRpKSB7DQoJCQkJbGFwcGVuZCB2YXJsaXN0ICRqLiRrDQoJCQl9
DQoJCX0NCgkJTmV0TW9uICRpICR2YXJsaXN0DQoJfQ0KCXNldCB3YWl0dGlt
ZSBbZXhwciAkbGFzdHRpbWUgKyAkaW50ZXJ2YWwgLSBbZ2V0Y2xvY2tdXQ0K
CWlmIHskd2FpdHRpbWUgPiAwfSB7DQoJCXNsZWVwICR3YWl0dGltZQ0KCX0N
Cn0NCg==
---559023410-1804928587-831649320=:8955--