Thanks to Wes & Aferjes, I did some further investigating regarding my table 
subagent null ptr on the table registration - it turned out that in our upgrade 
from 5.6 to 5.8 we were pulling in headers from 5.6 but linking against 5.8!  
Oops.
Now, our agent can register:
handler:inject: injecting table before table_iterator
trace: netsnmp_register_handler(): agent_handler.c, 269:
handler::register: Registering chAsinHwSbcNtpTable 
(::table::table_iterator::chAsinHwSbcNtpTable) at 
iso.3.6.1.4.1.25228.3.3.1.9.6.6
trace: netsnmp_inject_handler_before(): agent_handler.c, 444:
handler:inject: injecting bulk_to_next before table
trace: netsnmp_register_mib(): agent_registry.c, 1155:
register_mib: registering "chAsinHwSbcNtpTable" at 
iso.3.6.1.4.1.25228.3.3.1.9.6.6 with context "(null)"
 However it crashes after the 1st query:chAsinHwSbcNtpTable: Processing request 
(160)
trace: netsnmp_call_handler(): agent_handler.c, 549:
handler:returned: handler chAsinHwSbcNtpTable returned 0
trace: netsnmp_call_handler(): agent_handler.c, 549:
handler:returned: handler table_iterator returned 0
trace: netsnmp_call_handler(): agent_handler.c, 549:
handler:returned: handler table returned 0
trace: handle_getnext_loop(): snmp_agent.c, 3499:
results:summary: gathered 0/2 varbinds
trace: netsnmp_handle_request(): snmp_agent.c, 3684:
results: request results (status = 0):
trace: netsnmp_handle_request(): snmp_agent.c, 3687:
results:        trace: sprint_realloc_by_type(): mib.c, 2032:
output: sprint_by_type, type 4
iso.3.6.1.4.1.25228.3.3.1.9.6.6.1.1.10.65.49.0.0.0.0.0.0.0.0 = STRING: "A1"
trace: netsnmp_handle_request(): snmp_agent.c, 3687:
results:        trace: sprint_realloc_by_type(): mib.c, 2032:
output: sprint_by_type, type 4
iso.3.6.1.4.1.25228.3.3.1.9.6.6.1.2.10.65.49.0.0.0.0.0.0.0.0 = STRING: 
"{\"data\":[{... JSON DATA DELETED ... SNIP! ..."}]}"
trace: netsnmp_callback_hook_build(): transports/snmpCallbackDomain.c, 460:
transport_callback: hook_build enter
trace: netsnmp_callback_hook_build(): transports/snmpCallbackDomain.c, 534:
transport_callback: hook_build exit
trace: _build_initial_pdu_packet(): snmp_api.c, 5151:
sess_async_send: final pktbuf_len after building packet 484
trace: _sess_async_send(): snmp_api.c, 5288:
sess_process_packet: sending message id#0 reqid#1419 len 1
transport:send: 1 bytes to callback: 1 on fd 3
trace: netsnmp_callback_send(): transports/snmpCallbackDomain.c, 241:
transport_callback: hook_send enter
trace: callback_debug_pdu(): transports/snmpCallbackDomain.c, 94:
dump_send_callback_transport: PDU: command = 162, errstat = 0, errindex = 0
trace: callback_debug_pdu(): transports/snmpCallbackDomain.c, 96:
dump_send_callback_transport:   var 2:trace: sprint_realloc_by_type(): mib.c, 
2032:
output: sprint_by_type, type 4
iso.3.6.1.4.1.25228.3.3.1.9.6.6.1.1.10.65.49.0.0.0.0.0.0.0.0 = STRING: "A1"
trace: callback_debug_pdu(): transports/snmpCallbackDomain.c, 96:
dump_send_callback_transport:   var 4:trace: sprint_realloc_by_type(): mib.c, 
2032:
output: sprint_by_type, type 4
iso.3.6.1.4.1.25228.3.3.1.9.6.6.1.2.10.65.49.0.0.0.0.0.0.0.0 = STRING: 
"{\"data\":[{ ... JSON DATA DELETED ... SNIP! ..."}]}"
trace: netsnmp_callback_send(): transports/snmpCallbackDomain.c, 322:
transport_callback: hook_send exit
trace: netsnmp_remove_and_free_agent_snmp_session(): snmp_agent.c, 2128:
snmp_agent: REMOVE session ==  806e0a8
trace: free_agent_snmp_session(): snmp_agent.c, 1601:
snmp_agent: agent_session  806e0a8 released
trace: free_agent_snmp_session(): snmp_agent.c, 1606:
verbose:asp: asp 806e0a8 reqinfo 80721b8 freed
free malloc object that is not 
allocated:/builds/workspace/BC700_6762_sdp704/build_dir/lib/c/alloc/dlist.c:1129
ABORT HANDLER signal: 6

If anyone has any theoughts, as usual, they'd be greatly appreciated.
Cheers,Ian
_______________________________________________
Net-snmp-coders mailing list
Net-snmp-coders@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/net-snmp-coders

Reply via email to