
Hello,
There is a pretty major bug in the jax output for smidump in the dumpNotifications() function. Basically, for each variable in the notification, the constructor of the notification class does the following:
oid = var_OID; oid.appendImplied(...) varBind = new AgentXVarBind(oid, ...);
However, each of the var_OID member variables are declared as static, so additional values are continuously appended to them as more notifications are sent.
The easiest fix for this is to remove the static declaration of these variables, I think. That way, a new set of variables will be instantiated with each notification class.
Needless to say, this leads to many problems after a lot of notifications have been sent. The AgentXReader in the jax code begins to throw exceptions, since the OIDs become extremely long.
Thanks, Brian Remick University of Utah

Hi!
Brian> There is a pretty major bug in the jax output for smidump in the Brian> dumpNotifications() function. Basically, for each variable in the Brian> notification, the constructor of the notification class does the Brian> following:
Brian> oid = var_OID; Brian> oid.appendImplied(...) Brian> varBind = new AgentXVarBind(oid, ...);
Brian> However, each of the var_OID member variables are declared as Brian> static, so additional values are continuously appended to them Brian> as more notifications are sent.
Brian> The easiest fix for this is to remove the static declaration of Brian> these variables, I think. That way, a new set of variables will Brian> be instantiated with each notification class.
Brian> Needless to say, this leads to many problems after a lot of Brian> notifications have been sent. The AgentXReader in the jax code Brian> begins to throw exceptions, since the OIDs become extremely Brian> long.
Thank you, Brian. So you're suggested patch is this?
diff -u -b -B -r1.37 dump-jax.c --- dump-jax.c 11 Jun 2001 13:34:34 -0000 1.37 +++ dump-jax.c 28 Jan 2002 08:52:21 -0000 @@ -1218,7 +1218,7 @@ } fprintf(f, "};\n" - " private final static AgentXOID %s_OID = " + " private final AgentXOID %s_OID = " "new AgentXOID(OID%d", elementNode->name, cnt); fprintf(f,");\n");
I've applied this change to the CVS repository.
-frank
participants (2)
-
Brian Remick
-
Frank Strauss