Summary: | ASTERISK-03618: App_queue/chan_agent blocks after redirect | ||
Reporter: | mhaigh (mhaigh) | Labels: | |
Date Opened: | 2005-03-02 07:42:32.000-0600 | Date Closed: | 2011-06-07 14:00:31 |
Priority: | Blocker | Regression? | No |
Status: | Closed/Complete | Components: | Applications/app_queue |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) putty.txt | |
Description: | ACD call is connected. Redirect both channels to a MeetMe room (via Manager redirect command). Once the agent hangs up, app_queue is now blocking. This seems to be fairly repeatable on my test system. Attached is the output of "thread apply all bt" from gdb. | ||
Comments: | By: mhaigh (mhaigh) 2005-03-02 09:08:20.000-0600 Couple of things I forgot to mention. In the redirect command I'm using the agent channel (Agent/1001) to redirect to the MeetMe, not the SIP (in my case) channel. Also - at agent hangup, the console shows: chan_agent.c line 697 (agent_hangup): Error releasing mutex: Operation not permitted By: Mark Spencer (markster) 2005-03-02 15:14:48.000-0600 This doesn't have any kind of backtrace. Did you send th ewrong file? By: mhaigh (mhaigh) 2005-03-03 02:52:15.000-0600 Hmm - God knows how I managed that. Proper backtrace attached now. Backtrace is against Asterisk CVS-HEAD-03/02/05-16:43:36 edited on: 03-03-05 02:56 By: mhaigh (mhaigh) 2005-03-03 13:09:47.000-0600 Ok - it looks like when I issue the redirect, the thread that was looking after the agent channel (and holds the app_lock lock) is ending without releasing the lock. When the agent leaves the conference I guess a new thread starts and tries to run agent_hangup and release the lock. Since the new thread doesn't own the lock, the unlock fails. By: Mark Spencer (markster) 2005-03-12 12:45:26.000-0600 Can you please test this on latest CVS and also if it is still a problem, please find me on IRC. I will need to be able to login and poke around with gdb with the system *in the deadlocked state*. Also, please compile with -DDEBUG_THREADS and do "make clean ; make valgrind ; make install". Thanks! By: Mark Spencer (markster) 2005-03-26 18:18:34.000-0600 Suspended due to inactivity. |