[AGENT++] Core dump on AIX 5.3
赵军伟163
touchzhao at 163.com
Wed Jan 25 01:52:17 CET 2006
Hi,
A snmpmanager based on snmp++ is running well on HP-UX platform.
But when I migrate it to AIX 5.3 platform, it crashs often.
Here is the debug information:
$ dbx snmpdau core
Type 'help' for help.
[using memory image in core]
reading symbolic information ...
Type 'help' for help.
[using memory image in core]
reading symbolic information ...
Segmentation fault in . at 0xe098 ($t43)
(dbx) where
0x0000e098 warning: Unable to access address 0xe098 from core
.() at 0xe098
msgqueue.memset(void*,int,unsigned long)(0x20343968, 0x0, 0x2000), line 127
in "string.h"
HandleEvents(int,const fd_set&,const fd_set&,const fd_set&)(0x20cc4578,
0x2a, 0x20347a38, 0x20349a38, 0x2034ba38), line 468 in "msgqueue.cpp"
unnamed block in HandleEvents(int,const fd_set&,const fd_set&,const
fd_set&)(0x20cc54b8, 0x2a, 0x20347a38, 0x20349a38, 0x2034ba38), line 183 in
"eventlist.cpp"
unnamed block in HandleEvents(int,const fd_set&,const fd_set&,const
fd_set&)(0x20cc54b8, 0x2a, 0x20347a38, 0x20349a38, 0x2034ba38), line 183 in
"eventlist.cpp"
HandleEvents(int,const fd_set&,const fd_set&,const fd_set&)(0x20cc54b8,
0x2a, 0x20347a38, 0x20349a38, 0x2034ba38), line 183 in "eventlist.cpp"
SNMPProcessPendingEvents()(0x20cc54a8), line 213 in "eventlistholder.cpp"
SNMPProcessEvents(int)(0x20cc54a8, 0x3e8), line 266 in "eventlistholder.cpp"
SNMPBlockForResponse(unsigned long,Pdu&)(0x20cc54a8, 0x2372, 0x20354f30),
line 161 in "eventlistholder.cpp"
snmp_engine(Pdu&,long,long,const
SnmpTarget&,void(*)(int,Snmp*,Pdu&,SnmpTarget&,void*),const
void*,int)(0x20cc5348, 0x20354f30, 0x0, 0x0, 0x2136cf28, 0x0, 0x0,
0xffffffff), line 1757 in "uxsnmp.cpp"
uxsnmp.get_next(Pdu&,const SnmpTarget&)(0x20cc5348, 0x20354f30, 0x2136cf28),
line 1008 in "uxsnmp.cpp"
unnamed block in run()(0x2136ca18), line 67 in "snmpwalk.cpp"
run()(0x2136ca18), line 67 in "snmpwalk.cpp"
run()(0x203426c8), line 466 in "thread.cpp"
start(void*)(0x2034272c), line 183 in "thread.cpp"
(dbx) thread current
thread state-k wchan state-u k-tid mode held scope function
>$t43 run running 2773067 k no pro
(dbx) thread info 43
thread state-k wchan state-u k-tid mode held scope function
>$t43 run running 2773067 k no pro
general:
pthread addr = 0x203bbc1c size = 0x290
vp addr = 0x20fe5950 size = 0x2d8
thread errno = 0
start pc = 0x2001a6a8
joinable = yes
pthread_t = 2a2b
scheduler:
kernel =
user = 1 (other)
nice = 60
event :
event = 0x0
cancel = enabled, deferred, not pending
stack storage:
base = 0x203ab000 size = 0x10000
limit = 0x203bbc1c
sp = 0x203a75e0
(dbx) up 0
.() at 0xe098
(dbx) up
msgqueue.memset(void*,int,unsigned long)(0x203a9968, 0x0, 0x2000), line 127
in "string.h"
(dbx) up
CSNMPMessageQueue::HandleEvents(int,const fd_set&,const fd_set&,const
fd_set&)(this = 0x20d73858, maxfds = 48, readfds = &(...), = &(...), =
&(...)), line 468 in "msgqueue.cpp"
(dbx) l
468 FD_ZERO(&snmp_writefds);
469 FD_ZERO(&snmp_errfds);
470 GetFdSets(tmp_maxfds, snmp_readfds, snmp_writefds, snmp_errfds);
471
472 for (int fd = 0; fd < maxfds; fd++)
473 {
474 if ((FD_ISSET(fd, &snmp_readfds)) &&
475 (FD_ISSET(fd, &readfds)))
476 {
477 tmppdu.set_request_id(0);
(dbx)
the compile and link options are the same:
CPP = xlC_r
OPTIONS
= -g -bdynamic -qchars=signed -qrtti=all -brtl -DAIX -D_XPG4_EXTENDED -D__un
ix -DRWSTD_MULTI_THREAD -D_REENTRANT
thanks ahead.
moore
More information about the AGENTPP
mailing list