I created a subagent, which got dynamically linked with snmp agent.
During stop and start, I noticed the following crash in snmpd service.
The module snmp was trying to unregister was in fact compiled/linked
properly with subagent (as you can see in 'nm' output). Could anyone let me
know what could have happened that caused the crash here?


(gdb) bt
#0  0x000000381e8091eb in check_match.12440 () from
/lib64/ld-linux-x86-64.so.2
#1  0x000000381e809b87 in do_lookup_x () from /lib64/ld-linux-x86-64.so.2
#2  0x000000381e809e1a in _dl_lookup_symbol_x () from
/lib64/ld-linux-x86-64.so.2
#3  0x000000381ed238d6 in do_sym () from /lib64/libc.so.6
#4  0x000000381f0010c4 in dlsym_doit () from /lib64/libdl.so.2
#5  0x000000381e80e176 in _dl_catch_error () from
/lib64/ld-linux-x86-64.so.2
#6  0x000000381f00129c in _dlerror_run () from /lib64/libdl.so.2
#7  0x000000381f00107a in dlsym () from /lib64/libdl.so.2
#8  0x00007f6be6aa9074 in dlmod_unload_module (dlm=0x8fe6c0) at
ucd-snmp/dlmod.c:159
#9  0x00007f6be6aa9506 in dlmod_free_config () at ucd-snmp/dlmod.c:245
#10 0x00007f6be67dd557 in unregister_config_handler (type_param=<value
optimized out>, token=<value optimized
out>)
    at read_config.c:425
#11 0x00007f6be6aa8040 in shutdown_dlmod () at ucd-snmp/dlmod.c:612
#12 0x00007f6be6b49b7d in _shutdown_mib_modules (majorID=<value optimized
out>, minorID=<value optimized out>,
    serve=<value optimized out>, client=<value optimized out>) at
../agent/mibgroup/mib_module_shutdown.h:7
#13 0x00007f6be67e7a96 in snmp_call_callbacks (major=0, minor=2,
caller_arg=0x0) at callback.c:363
#14 0x00007f6be67c0767 in snmp_shutdown (type=<value optimized out>) at
snmp_api.c:908
#15 0x00000000004037e1 in main (argc=<value optimized out>, argv=<value
optimized out>) at snmpd.c:1096
(gdb) f 8
#8  0x00007f6be6aa9074 in dlmod_unload_module (dlm=0x8fe6c0) at
ucd-snmp/dlmod.c:159
159     dl_deinit = dlsym(dlm->handle, sym_deinit);
(gdb) p *dlm
$1 = {next = 0x909950, index = 14, name = "exampleTable", '\000' <repeats
34 times>,
  path = "/usr/lib/snmp/dlmod/exampleStats.so", '\000' <repeats 211 times>,

  error = '\000' <repeats 255 times>, handle = 0x8fe970, status = 1}
(gdb) p sym_deinit
$2 =
"deinit_exampleTable\000\000\000PMk\177\377\177\000\000\325\033\201\346k\177\000\000\300Mk\177\377\177\000\000\377\001\000\000\000\000\000\000p\243"
(gdb)

bash$ nm /usr/lib/snmp/dlmod/exampleStats.so | grep deinit
0000000000002c65 T deinit_exampleStatsTable2
00000000000043de T deinit_exampleTable
bash$
------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122912
_______________________________________________
Net-snmp-users mailing list
Net-snmp-users@lists.sourceforge.net
Please see the following page to unsubscribe or change other options:
https://lists.sourceforge.net/lists/listinfo/net-snmp-users

Reply via email to