[Asterisk-Users] SIP hanging
Mark Spencer
markster at digium.com
Mon Apr 14 16:04:19 MST 2003
Can you please cvs update and give me a new line number off-list? Thanks!
Mark
On Mon, 14 Apr 2003, Skuse, Phil wrote:
> I too am having this problem reported by Frank Hoonhout. Asterisk runs fine
> for a few minutes and then stops accepting new calls. (I have a standalone
> server with SIP phones and I'm not doing any external registration).
>
> Asterisk CVS-04/07/03-09:28:50
>
> 0x420e0037 in poll () from /lib/i686/libc.so.6
> (gdb) info threads
> 16 Thread 14351 (LWP 7258) 0x420e187e in select () from
> /lib/i686/libc.so.6
> 15 Thread 16398 (LWP 7371) 0x420292e5 in sigsuspend ()
> from /lib/i686/libc.so.6
> 14 Thread 12301 (LWP 7256) 0x420e0037 in poll () from /lib/i686/libc.so.6
> 13 Thread 11276 (LWP 7255) 0x420b4b31 in nanosleep ()
> from /lib/i686/libc.so.6
> 12 Thread 10251 (LWP 7254) 0x420b4b31 in nanosleep ()
> from /lib/i686/libc.so.6
> 11 Thread 9226 (LWP 7253) 0x420dabd4 in open () from /lib/i686/libc.so.6
> 10 Thread 8201 (LWP 7252) 0x420e187e in select () from
> /lib/i686/libc.so.6
> 9 Thread 7176 (LWP 7251) 0x420e0037 in poll () from /lib/i686/libc.so.6
> 8 Thread 6151 (LWP 7248) 0x420292e5 in sigsuspend ()
> from /lib/i686/libc.so.6
> 7 Thread 5126 (LWP 7247) 0x420e0037 in poll () from /lib/i686/libc.so.6
> 6 Thread 4101 (LWP 7246) 0x420e187e in select () from /lib/i686/libc.so.6
> 5 Thread 3076 (LWP 7236) 0x420e187e in select () from /lib/i686/libc.so.6
> 4 Thread 2051 (LWP 7235) 0x420e7fc2 in accept () from /lib/i686/libc.so.6
> 3 Thread 1026 (LWP 7234) 0x420e7fc2 in accept () from /lib/i686/libc.so.6
> 2 Thread 2049 (LWP 7233) 0x420e0037 in poll () from /lib/i686/libc.so.6
> 1 Thread 1024 (LWP 7232) 0x420daca4 in read () from /lib/i686/libc.so.6
> (gdb) thread 8
> [Switching to thread 8 (Thread 6151 (LWP 7248))]#0 0x420292e5 in sigsuspend
> ()
> from /lib/i686/libc.so.6
> (gdb) bt
> #0 0x420292e5 in sigsuspend () from /lib/i686/libc.so.6
> #1 0x4003d679 in __pthread_wait_for_restart_signal ()
> from /lib/i686/libpthread.so.0
> #2 0x4003f4b9 in __pthread_alt_lock () from /lib/i686/libpthread.so.0
> #3 0x4003c116 in pthread_mutex_lock () from /lib/i686/libpthread.so.0
> #4 0x41ac3af5 in __sip_destroy (p=0x80e30a8, lockowner=1) at chan_sip.c:758
> #5 0x41ad0834 in handle_request (p=0x80e30a8, req=0x4393425c,
> sin=0x4393424c)
> at chan_sip.c:793
> #6 0x41ad1139 in sipsock_read (id=0x80d5f30, fd=11, events=1, ignore=0x0)
> at chan_sip.c:4383
> #7 0x08050c6e in ast_io_wait (ioc=0x80d8e48, howlong=1000) at io.c:268
> #8 0x41ad14ef in do_monitor (data=0x0) at chan_sip.c:4474
> #9 0x4003afef in pthread_start_thread () from /lib/i686/libpthread.so.0
> (gdb) thread 15
> [Switching to thread 15 (Thread 16398 (LWP 7371))]#0 0x420292e5 in
> sigsuspend
> () from /lib/i686/libc.so.6
> (gdb) bt
> #0 0x420292e5 in sigsuspend () from /lib/i686/libc.so.6
> #1 0x4003d679 in __pthread_wait_for_restart_signal ()
> from /lib/i686/libpthread.so.0
> #2 0x4003f4b9 in __pthread_alt_lock () from /lib/i686/libpthread.so.0
> #3 0x4003c116 in pthread_mutex_lock () from /lib/i686/libpthread.so.0
> #4 0x08056029 in ast_hangup (chan=0x80e5ce8) at channel.c:601
> #5 0x08060bd8 in ast_pbx_run (c=0x80e5ce8) at pbx.c:1731
> #6 0x08065ddf in pbx_thread (data=0x80e5ce8) at pbx.c:1743
> #7 0x4003afef in pthread_start_thread () from /lib/i686/libpthread.so.0
>
> -----Original Message-----
> From: Mark Spencer [mailto:markster at digium.com]
> Sent: 12 April 2003 02:12
> To: asterisk-users at lists.digium.com
> Subject: RE: [Asterisk-Users] Outgoing SIP Registration Fixed
>
>
> > But now *, seems to be hung up after a few hours. It no longer responds
> to
> > certain commands. SIP devices are no longer communicating with *, even
> > though they are listed in the "sip show peers" command.
>
> Try running gdb on the stuck process like this:
>
> ps ax | grep asterisk
>
> the lowest level pid, say it's 123, do this:
>
> gdb asterisk 123
> .
> .
> .
> (gdb) info threads
>
> Look for a thread that is *not* in poll() or select(). Highly suspect
> functions are sigsuspend() or being somewhere that *isn't* a blocking
> function call. Then switch to that thread like this:
>
> (gdb) thread 17
> (gdb) bt
>
> and look at the backtrace. Even if it's not helpful for you, you can
> e-mail me the backtrace of any suspicious thread (off-list) and I can look
> and try to determine what the problem might be.
>
> Mark
>
> _______________________________________________
> Asterisk-Users mailing list
> Asterisk-Users at lists.digium.com
> http://lists.digium.com/mailman/listinfo/asterisk-users
> _______________________________________________
> Asterisk-Users mailing list
> Asterisk-Users at lists.digium.com
> http://lists.digium.com/mailman/listinfo/asterisk-users
>
More information about the asterisk-users
mailing list