[Asterisk-Dev] Deadlock ? app_queue / chan_agent
NRB
nrb at dantronic-engineering.dk
Mon Feb 7 06:15:07 MST 2005
update:
Another incident: same symptomps - Queue seems to be dead until * is restarted
According til gdb dump2 (attached file), * is hanging in app_queue line 939
>From app_queue.c:
static int update_queue(struct ast_call_queue *q, struct member *member)
{
struct member *cur;
/* Since a reload could have taken place, we have to traverse the list to
be sure it's still valid */
ast_mutex_lock(&q->lock); <-----------------line 939
cur = q->members;
while(cur) {
if (member == cur) {
time(&cur->lastcall);
cur->calls++;
break;
}
cur = cur->next;
}
q->callscompleted++;
ast_mutex_unlock(&q->lock);
return 0;
}
I´ve tried to compile with the -DDEBUG_THREADS option (to be able to trace who isn't unlockin properly) but it does not seem go give me extra debugentries in the log - have I missed something?
By the way: what does this message fom gdb tell me?:
"Previous frame identical to this frame (corrupt stack?)"
/NRB
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dump2
Type: application/octet-stream
Size: 11064 bytes
Desc: not available
Url : http://lists.digium.com/pipermail/asterisk-dev/attachments/20050207/f6d145ba/dump2.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dump1.dat
Type: application/octet-stream
Size: 14934 bytes
Desc: not available
Url : http://lists.digium.com/pipermail/asterisk-dev/attachments/20050207/f6d145ba/dump1.obj
More information about the asterisk-dev
mailing list