[AGENT++] AgentX++ master agent dumps core

Abil George abil.george at oracle.com
Mon Mar 17 10:45:33 CET 2008


AgentX++ master agent dumps core when multiple (4) AgentX++ sub agents registered (connected) to this master agent are killed simultaneously using kill -9 command. I have pasted the the stack traces for these dumps. For multiple runs of same test, I have got different traces.

Please let me know any one has seen this issue before and know the solution.
The version I am using
SNMP++v3.2.23 

AgentX++ v1.4.16

AGENT++v3.5.29

The traces which I got from the test run.

Trace 1)

t at 3 (l at 3) signal SEGV (no mapping at the fault address) in Oid::nCompare at line 660 in file "oid.cpp"
  660       if (smival.value.oid.ptr[z] < o.smival.value.oid.ptr[z])
(dbx) where                
current thread: t at 3
=>[1] Oid::nCompare(this = 0x10047a230, n = 17238U, o = CLASS), line 660 in "oid.cpp"
  [2] operator<(lhs = CLASS, rhs = CLASS), line 277 in "oid.cpp"
  [3] operator<=(lhs = CLASS, rhs = CLASS), line 199 in "oid.h"
  [4] OidxPtrEntryPtrAVLMap::seek(this = 0x1004ccc40, key = 0x10047a230), line 212 in "avl_map.cpp"
  [5] OidList<AgentXIndexEntry>::find(this = 0x1004d5630, oidptr = 0x10047a230), line 733 in "List.h"
  [6] OidList<AgentXIndexEntry>::remove(this = 0x1004d5630, oidptr = 0x10047a230), line 727 in "List.h"
  [7] AgentXIndex::remove_session(this = 0x1004d55e0, sid = 4U), line 255 in "agentx_index.cpp"
  [8] AgentXIndexDB::remove_session(this = 0x100176f20, sid = 4U), line 357 in "agentx_index.cpp"
  [9] MasterAgentXMib::remove_indexes(this = 0x100133a60, sid = 4U), line 2148 in "agentx_master.cpp"
  [10] MasterAgentXMib::remove_peer(this = 0x100133a60, peer = CLASS), line 763 in "agentx_master.cpp"
  [11] AgentXCloseTask::run(this = 0x1004ef090), line 73 in "agentx_master.cpp"
  [12] TaskManager::run(this = 0x1001745c0), line 783 in "threads.cpp"
  [13] thread_starter(t = 0x1001745f8), line 492 in "threads.cpp"

Trace 2)

t at 3 (l at 3) signal SEGV (no mapping at the fault address) in pthread_mutex_lock at 0x7fffffff7e21436c
0x7fffffff7e21436c: pthread_mutex_lock+0x0014:  ldub     [%i0 + 5], %l1
Current function is Synchronized::lock
  401       pthread_mutex_lock(&monitor);
(dbx) where                
current thread: t at 3
  [1] pthread_mutex_lock(0x1a, 0x0, 0x7fffffff7cc00800, 0xfffffffffffffff8, 0x4, 0x0), at 0x7fffffff7e21436c 
=>[2] Synchronized::lock(this = 0xa), line 401 in "threads.cpp"
  [3] ThreadManager::start_synch(this = 0x2), line 143 in "threads.cpp"
  [4] Mib::remove(this = 0x100133a60, context = CLASS, oid = CLASS), line 2907 in "mib.cpp"
  [5] MasterAgentXMib::remove_entry(this = 0x100133a60, cid = 1U, reg = CLASS), line 2071 in "agentx_master.cpp"
  [6] MasterAgentXMib::remove_entries(this = 0x100133a60, cid = 1U, sid = 1U), line 2187 in "agentx_master.cpp"
  [7] MasterAgentXMib::remove_peer(this = 0x100133a60, peer = CLASS), line 767 in "agentx_master.cpp"
  [8] AgentXCloseTask::run(this = 0x10074db50), line 73 in "agentx_master.cpp"
  [9] TaskManager::run(this = 0x1001745c0), line 783 in "threads.cpp"
  [10] thread_starter(t = 0x1001745f8), line 492 in "threads.cpp"


Trace 3)

t at 3 (l at 3) signal SEGV (access to address exceeded protections) in realfree at 0x7fffffff7dc4f78c
0x7fffffff7dc4f78c: realfree+0x021c:    stx      %l1, [%g4 + 16]
Current function is Oid::Oid
  154       smival.value.oid.ptr = (SmiLPUINT32) new unsigned long[oid_len];
(dbx) where                
current thread: t at 3
  [1] realfree(0x10041dc10, 0x7fffffff7ddb6f78, 0x7fffffff7cd00000, 0x37d20, 0x7fffffff7cd40280, 0x7fffffff7c70fa6c), at 0x7fffffff7dc4f78c 
  [2] cleanfree(0x0, 0x1003dce90, 0x20, 0x7fffffff7f42c18c, 0x7fffffff7e10ca70, 0x4), at 0x7fffffff7dc4fedc 
  [3] _malloc_unlocked(0x8, 0x0, 0x7fffffff7cc00800, 0xbbd8, 0x7fffffff7cd41e40, 0x7fffffff7c70fa68), at 0x7fffffff7dc4efbc 
  [4] malloc(0x8, 0x5044, 0x28223fe0, 0x37d20, 0x7fffffff7cd40280, 0x0), at 0x7fffffff7dc4ee94 
  [5] operator new(0x8, 0x7fffffff7e007830, 0x7fffffff7cc00800, 0x104274, 0x7fffffff7e10ca70, 0xfffffffeffc06200), at 0x7fffffff7e008820 
=>[6] Oid::Oid(this = 0x7fffffff7c70f390, raw_oid = 0x7fffffff7c70f3c8, oid_len = 1), line 154 in "oid.cpp"
  [7] Oid::operator+=(this = 0x7fffffff7c70f560, i = 3U), line 393 in "oid.cpp"
  [8] Oidx::operator+=(this = 0x7fffffff7c70f560, i = 3U), line 636 in "snmp_pp_ext.cpp"
  [9] agentxRegistrationEntry::remove(this = 0x100137780, cid = 3U, sid = 3U, rid = 428U), line 328 in "agentx_mib.cpp"
  [10] MasterAgentXMib::remove_entry(this = 0x100133a60, cid = 3U, reg = CLASS), line 2085 in "agentx_master.cpp"
  [11] MasterAgentXMib::remove_entries(this = 0x100133a60, cid = 3U, sid = 3U), line 2187 in "agentx_master.cpp"
  [12] MasterAgentXMib::remove_peer(this = 0x100133a60, peer = CLASS), line 767 in "agentx_master.cpp"
  [13] AgentXCloseTask::run(this = 0x1006726e0), line 73 in "agentx_master.cpp"
  [14] TaskManager::run(this = 0x1001745c0), line 783 in "threads.cpp"
  [15] thread_starter(t = 0x1001745f8), line 492 in "threads.cpp"

Thanks,
Abil.


More information about the AGENTPP mailing list