The latest patch sometimes causes segfault. For instance, with ADSL2-LINE-MIB:
Program received signal SIGSEGV, Segmentation fault. 0xb7de0004 in _IO_default_xsputn_internal () from /lib/libc.so.6 (gdb) where #0 0xb7de0004 in _IO_default_xsputn_internal () from /lib/libc.so.6 #1 0xb7dd4499 in _IO_padn_internal () from /lib/libc.so.6 #2 0xb7dbbcf6 in vfprintf () from /lib/libc.so.6 #3 0xb7dd540b in vsprintf () from /lib/libc.so.6 #4 0xb7dc185e in sprintf () from /lib/libc.so.6 #5 0x08066305 in getValueString (valuePtr=0xbfabd4f0, typePtr=0x80d9f58) at dump-python.c:241 #6 0x08066f3c in fprintTypedef (f=0xb7eba4c0, indent=16, smiType=0x80d9f58) at dump-python.c:408 #7 0x080682f6 in dumpPython (modc=1, modv=0x809e060, flags=0, output=0x0) at dump-python.c:808 #8 0x0804a6bd in main (argc=808464416, argv=0xbfabd784) at smidump.c:396 (gdb) frame 5 #5 0x08066305 in getValueString (valuePtr=0xbfabd4f0, typePtr=0x80d9f58) at dump-python.c:241 241 sprintf(s, "0x%*s", 2 * valuePtr->len, ""); (gdb) p *valuePtr $2 = {basetype = 4222451713, len = 134855840, value = { unsigned64 = 579201422609464480, integer64 = 579201422609464480, unsigned32 = 134855840, integer32 = 134855840, float32 = 4.14486655e-34, float64 = 6.0895994962384466e-270, float128 = <invalid float value>, oid = 0x809bca0, ptr = 0x809bca0 "0x", ' ' <repeats 198 times>...}}
Also, smidump reports a handful of:
smidump: unhandled SMI basetype
messages when running against almost any MIB text, not sure how critical it is.
When completing successfully, smidump seems to sometimes produce empty "ranges" (TCP-MIB::tcpConnState).
thanks, ilya
This patch seems to use a SMI_BASETYPE_POINTER cpp macro, which is not defined or used in SVN sources. Or am I missing something?
Sorry, some stuff went into the patch that should not have been there... Here is the smaller version of it.
/js