[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