On Fri, 2008-01-04 at 15:39 +0300, Alexander Chemeris wrote:
> We need to know exact name of class of this
> OsServerTask object. OsServerTask itself is an abstract base class,
> used in many places in sipX libs. We should know which task exactly
> is causing this error. Simplest way to identify the task is to look for
> type of OsServerTask object.
One way to do this is to go to the frame that executes OsServerTask::run
and get the value of mName, which is the task name. For example:
(gdb) bt
#0 0x0056fb68 in UtlString::data (this=0x0) at utl/UtlString.cpp:737
#1 0x004abd27 in PublishContentContainer::dumpState (this=0x0)
at net/SipPublishContentMgr.cpp:99
#2 0x004ac051 in SipPublishContentMgr::dumpState (this=0xbf9fb27c)
at net/SipPublishContentMgr.cpp:743
#3 0x004cb091 in SipSubscribeServer::dumpState (this=0xbf9fbb74)
at net/SipSubscribeServer.cpp:520
#4 0x080598e3 in ResourceListServer::dumpState (this=0xbf9f89e0)
at ResourceListServer.cpp:264
#5 0x0805e383 in ResourceListTask::debugDumpState (this=0xbf9fca5c,
[EMAIL PROTECTED]) at ResourceListTask.cpp:208
#6 0x0805e4cf in ResourceListTask::handleMessageRequest (this=0xbf9fca5c,
[EMAIL PROTECTED]) at ResourceListTask.cpp:181
#7 0x0805ea8a in ResourceListTask::handleMessage (this=0xbf9fca5c,
[EMAIL PROTECTED]) at ResourceListTask.cpp:141
#8 0x0059614c in OsServerTask::run (this=0xbf9fca5c, pArg=0x0)
at os/OsServerTask.cpp:156
#9 0x005b4cdc in OsTaskLinux::taskEntry (arg=0xbf9fca5c)
at os/linux/OsTaskLinux.cpp:657
#10 0x00c5e482 in start_thread () from /lib/i686/nosegneg/libpthread.so.0
#11 0x007e52ae in clone () from /lib/i686/nosegneg/libc.so.6
(gdb) frame 8
#8 0x0059614c in OsServerTask::run (this=0xbf9fca5c, pArg=0x0)
at os/OsServerTask.cpp:156
(gdb) p mName.mBuiltIn
$3 = "ResourceListTask-19", '\0' <repeats 80 times>
(gdb)
Thus we see that the selected thread is an instance of ResourceListTask.
Dale
_______________________________________________
sipxtapi-dev mailing list
[email protected]
List Archive: http://list.sipfoundry.org/archive/sipxtapi-dev/