Q: scotty-1.2.0

Jorge Osorio (jorge@swat.cray.com)
Tue, 26 Sep 1995 09:33:28 -0700

Our project leader has given me scotty-1.2.0, so I can use it to send
SNMP commands to a snmp (version 2) daemon.

What I do is get a session handle and configure it with the -dtsparty and
-srcparty options; then I do a "get oid" and scotty core dumps. Follows an
excerpt of my session:

scotty > mib load ~/jorge.mib
scotty > mib oid SysConfBrd
1.3.6.1.4.1.34.1.1.1.3
scotty > snmp session
s0
scotty > s0 configure -dstparty { 1.3.6.1.4.1.34.1.1.1.3 celerity 136.162.18.17 161 256 }
-dstparty {1.3.6.1.4.1.34.1.1.1.3 celerity 136.162.18.17 161 256} -timeout 5 -retries 3
scotty > s0 configure -srcparty { 1.3.6.1.4.1.34 celerity 136.162.20.54 3350 256}
-dstparty {1.3.6.1.4.1.34.1.1.1.3 celerity 136.162.18.17 161 256} -srcparty {1.3.6.1.4.1.34 celerity 136.162.20.54 3350 256} -timeout 5 -retries 3
scotty > s0 get 1.3.6.1.4.1.34.1.1.1.3
Segmentation Fault

I wonder if the snmp.V2 stuff bundled in scotty-1.2.0 works properly or am I
missing something?

Any hints or ideas would be greatly appreciated.

Thanks,

Jorge

BTW: Am using tcl7.3 (we don't use tk though.). My system is a SunSparc running
Solaris 2.4

FYI: Follows the (dbx) stack trace: (The culprit is function configured in
file scotty-1.2.0/snmp/tcl.c )

program terminated by signal SEGV (no mapping at the fault address)
Current function is configured
146 if (! *session->context.Identity) {

(dbx) print *session
*session = {
name = "s0"
addr = {
sin_family = 2
sin_port = 161
sin_addr = {
S_un = {
S_un_b = {
s_b1 = ''
s_b2 = '"'
s_b3 = '^R'
s_b4 = '^Q'
}
S_un_w = {
s_w1 = 34978
s_w2 = 4625
}
S_addr = 2292322833
}
}
sin_zero = ""
}
version = 102
community = 0x8d8d8 "public"
dstParty = {
Name = (nil)
Identity = 0x8fe98
IdentityLen = 11
TDomain = 0x83708 "celerity"
TAddress = 0x92130 "136.162.18.17"
TPort = 161
MaxMessageSize = 256
AuthProtocol = 0
AuthClock = 0
AuthPrivate = ""
AuthPublic = ""
AuthLifetime = 0
PrivProtocol = 0
PrivPrivate = ""
PrivPublic = ""
}
srcParty = {
Name = (nil)
Identity = 0x850a0
IdentityLen = 7
TDomain = 0x920b8 "celerity"
TAddress = 0x92070 "136.162.20.54"
TPort = 3350
MaxMessageSize = 256
AuthProtocol = 0
AuthClock = 0
AuthPrivate = ""
AuthPublic = ""
AuthLifetime = 0
PrivProtocol = 0
PrivPrivate = ""
PrivPublic = ""
}
context = {
Identity = (nil)
IdentityLen = 0
}

(dbx) where
=>[1] configured(interp = 0x81760, session = 0x8f7d8), line 146 in "/tmp/scotty-1.2.0/snmp/tcl.c"
[2] session_cmd(clientData = 0x8f7d8, interp = 0x81760, argc = 3, argv = 0xeffff2d8), line 880 in "/tmp/scotty-1.2.0/snmp/tcl.c"
[3] Tcl_Eval(0x3, 0xeffff38d, 0x92088, 0x9208c, 0x73302067, 0x0), at 0x47b84
[4] doOneCommand(clientData = 0x81760, mask = 1), line 104 in "/tmp/scotty-1.2.0/scotty.c"
[5] DoFileEvent(interp = 0x81760, fileId = 0x92198 "file0"), line 437 in "/tmp/scotty-1.2.0/event.c"
[6] doOneFileEvent(interp = 0x81760), line 573 in "/tmp/scotty-1.2.0/event.c"
[7] eventLoop(interp = 0x81760), line 623 in "/tmp/scotty-1.2.0/event.c"
[8] main(argc = 1, argv = 0xeffff92c), line 350 in "/tmp/scotty-1.2.0/scotty.c"
(dbx)

=====================================
Jorge A. Osorio
Software Engineer
Business System Division
Cray Research, Inc
San Diego, CA