Summary: | ASTERISK-13327: do_monitor crash | ||
Reporter: | jangjun21 (jangjun21) | Labels: | |
Date Opened: | 2009-01-09 00:42:13.000-0600 | Date Closed: | 2011-06-07 14:00:51 |
Priority: | Critical | Regression? | No |
Status: | Closed/Complete | Components: | Channels/chan_sip/General |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) bt.txt ( 1) bt2.txt ( 2) file.txt | |
Description: | there is no call but crash! warning: Can't read pathname for load map: ??/????. Core was generated by `/usr/sbin/asterisk -f -U asterisk -G asterisk -vvgc -vvvg -c'. Program terminated with signal 11, Segmentation fault. #0 0x002d58d0 in pthread_mutex_trylock () from /lib/libpthread.so.0 (gdb) bt #0 0x002d58d0 in pthread_mutex_trylock () from /lib/libpthread.so.0 #1 0x006dbf83 in ast_mutex_trylock (pmutex=0x6573752c) at /root/yuxiaobo/asterisk-1.4.23-rc3/include/asterisk/lock.h:760 #2 0x0071f853 in do_monitor (data=0x0) at chan_sip.c:16145 #3 0x08106009 in dummy_start (data=0x9fe1378) at utils.c:856 #4 0x002d343b in start_thread () from /lib/libpthread.so.0 ASTERISK-1 0x0022afde in clone () from /lib/libc.so.6 (gdb) bt full #0 0x002d58d0 in pthread_mutex_trylock () from /lib/libpthread.so.0 No symbol table info available. #1 0x006dbf83 in ast_mutex_trylock (pmutex=0x6573752c) at /root/yuxiaobo/asterisk-1.4.23-rc3/include/asterisk/lock.h:760 No locals. #2 0x0071f853 in do_monitor (data=0x0) at chan_sip.c:16145 res = 0 sip = (struct sip_pvt *) 0x6573752c peer = (struct sip_peer *) 0x0 t = 1231379496 fastrestart = 0 lastpeernum = -1 curpeernum = 74 reloading = 0 __PRETTY_FUNCTION__ = "do_monitor" #3 0x08106009 in dummy_start (data=0x9fe1378) at utils.c:856 __cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {3022836, 0, 10312592, 10310600, 1059984012, 933436981}, __mask_was_saved = 0}}, __pad = {0x9d5480, 0x0, 0x0, 0x0}} __cancel_routine = (void (*)(void *)) 0x806a974 <ast_unregister_thread> __cancel_arg = (void *) 0x9d5b90 not_first_call = 0 ret = (void *) 0x0 a = {start_routine = 0x71f690 <do_monitor>, data = 0x0, name = 0x9fe13f8 "do_monitor", ' ' <repeats 11 times>, "started at [16281] chan_sip.c restart_monitor()"} __PRETTY_FUNCTION__ = "dummy_start" #4 0x002d343b in start_thread () from /lib/libpthread.so.0 No symbol table info available. ASTERISK-1 0x0022afde in clone () from /lib/libc.so.6 No symbol table info available. (gdb) | ||
Comments: | By: Leif Madsen (lmadsen) 2009-01-09 07:33:37.000-0600 Assigned to Corydon76 because he's so good at looking at backtraces! By: Tilghman Lesher (tilghman) 2009-01-09 13:03:48.000-0600 Please enter the following information from gdb: frame 2 list p *sip p sip->lock By: jangjun21 (jangjun21) 2009-01-11 19:28:53.000-0600 (gdb) frame 2 #2 0x0071f853 in do_monitor (data=0x0) at chan_sip.c:16145 16145 if (ast_mutex_trylock(&sip->lock)) (gdb) list 16140 /*! \note If we can't get a lock on an interface, skip it and come 16141 * back later. Note that there is the possibility of a deadlock with 16142 * sip_hangup otherwise, because sip_hangup is called with the channel 16143 * locked first, and the iface lock is attempted second. 16144 */ 16145 if (ast_mutex_trylock(&sip->lock)) 16146 continue; 16147 16148 /* Check RTP timeouts and kill calls if we have a timeout set and do not get RTP */ 16149 if (sip->rtp && sip->owner && (gdb) p *sip Cannot access memory at address 0x6573752c (gdb) p sip->lock Cannot access memory at address 0x6573752c By: Tilghman Lesher (tilghman) 2009-01-12 14:48:19.000-0600 This is memory corruption. You'll need to follow the instructions in doc/valgrind.txt. By: Leif Madsen (lmadsen) 2009-01-13 12:26:28.000-0600 Waiting on valgrind results. Status changed to Feedback. By: Tilghman Lesher (tilghman) 2009-02-09 14:31:30.000-0600 No response from reporter. If you have the required valgrind output, please feel free to reopen this issue. |