Summary: | ASTERISK-11555: Asterisk Crash | ||
Reporter: | Thiago Garcia (thiagarcia) | Labels: | |
Date Opened: | 2008-03-01 17:21:48.000-0600 | Date Closed: | 2008-03-04 12:51:40.000-0600 |
Priority: | Critical | Regression? | No |
Status: | Closed/Complete | Components: | Core/Channels |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) bt_full_second.txt ( 1) bt_full.txt ( 2) deadlock.txt ( 3) malloc_debug_second.txt ( 4) malloc_debug.txt ( 5) thread_apply_all_bt_second.txt ( 6) thread_apply_all_bt.txt ( 7) valgrind_second.txt ( 8) valgrind.txt | |
Description: | After updated Asterisk from SVN-branch-1.4-r80601 to SVN-branch-1.4-r105409, the asterisk crashes. I suspect the autoservice.c. ****** ADDITIONAL INFORMATION ****** ------------- Our scenario: ------------- extensions prococol: IAX2 softphone: IDEFISK softphone codec: ALAW/GSM/ULAW * Server are compiled with DONT_OPTIMIZE, DEBUG_THREADS and MALLOC_DEBUG options. ------------- --------------------- Hardware Description: --------------------- Server : -Intel(R) Core(TM)2 Duo CPU -Digium TE110P card -Digium TDM2400 (with 6 FXS modules) -Digium TDM400P (with 4 FXO modules) --------------------- Software Description: --------------------- Slackware 12 kernel 2.6.24.3 Asterisk SVN-branch-1.4-r105409. Zaptel SVN-branch-1.4-r3904 Libpri SVN-branch-1.4-r528 | ||
Comments: | By: Thiago Garcia (thiagarcia) 2008-03-01 18:20:22.000-0600 The console of first crash. -- Executing [5633@pode-testes:1] Set("IAX2/5660-10", "TEMP=") in new stack -- Executing [5633@pode-testes:2] GotoIf("IAX2/5660-10", "0?3:5") in new stack -- Goto (pode-testes,5633,5) -- Executing [5633@pode-testes:5] Set("IAX2/5660-10", "NRAMAL=5633") in new stack -- Executing [5633@pode-testes:6] NoOp("IAX2/5660-10", "Finish if-ramais-101") in new stack -- Executing [5633@pode-testes:7] GotoIf("IAX2/5660-10", "1?8:11") in new stack -- Goto (pode-testes,5633,8) -- Executing [5633@pode-testes:8] Set("IAX2/5660-10", "INTERFACE=IAX2") in new stack -- Executing [5633@pode-testes:9] Set("IAX2/5660-10", "RAMAL=5633") in new stack -- Executing [5633@pode-testes:10] Goto("IAX2/5660-10", "24") in new stack -- Goto (pode-testes,5633,24) -- Executing [5633@pode-testes:24] NoOp("IAX2/5660-10", "Finish if-ramais-102") in new stack -- Executing [5633@pode-testes:25] GotoIf("IAX2/5660-10", "1?26:37") in new stack -- Goto (pode-testes,5633,26) -- Executing [5633@pode-testes:26] Set("IAX2/5660-10", "NPERTURBE=5633") in new stack -- Executing [5633@pode-testes:27] ChanIsAvail("IAX2/5660-10", "IAX2/5633|s") in new stack -- Hungup 'IAX2/5633-11' -- Executing [5633@pode-testes:28] GotoIf("IAX2/5660-10", "0?29:32") in new stack -- Goto (pode-testes,5633,32) -- Executing [5633@pode-testes:32] Dial("IAX2/5660-10", "IAX2/5633|40|tT") in new stack [Mar 1 19:25:01] DEBUG[31941]: chan_iax2.c:2938 create_addr: prepending 2 to prefs -- Called 5633 -- Call accepted by 10.9.15.96 (format gsm) -- Format for call is gsm -- IAX2/5633-25 is ringing -- IAX2/5633-25 answered IAX2/5660-10 [Mar 1 19:25:08] DEBUG[31946]: func_db.c:70 function_db_read: DB: CFIM/5660 not found in database. -- Executing [5660@pode-testes:1] Set("IAX2/5633-25", "TEMP=") in new stack == Spawn extension (pode-testes, 5633, 32) exited non-zero on 'IAX2/5660-10' -- Executing [5660@pode-testes:2] GotoIf("IAX2/5633-25", "0?3:5") in new stack Killed By: Thiago Garcia (thiagarcia) 2008-03-01 18:53:27.000-0600 After some hours, also I had deadlock in the asterisk. See deadlock.txt By: Thiago Garcia (thiagarcia) 2008-03-01 18:58:36.000-0600 I upload the second crash files. The console in second crash. -- Stopped music on hold on Zap/42-1 [Mar 1 21:30:13] DEBUG[2548]: chan_zap.c:3450 zt_fixup: New owner for channel 42 is Zap/42-1 [Mar 1 21:30:13] DEBUG[2589]: func_db.c:70 function_db_read: DB: CFIM/5633 not found in database. -- Executing [5633@pode-testes:1] Set("Zap/42-1", "TEMP=") in new stack -- Executing [5633@pode-testes:2] GotoIf("Zap/42-1", "0?3:5") in new stack -- Goto (pode-testes,5633,5) -- Executing [5633@pode-testes:5] Set("Zap/42-1", "NRAMAL=5633") in new stack -- Executing [5633@pode-testes:6] NoOp("Zap/42-1", "Finish if-ramais-101") in new stack -- Executing [5633@pode-testes:7] GotoIf("Zap/42-1", "1?8:11") in new stack -- Goto (pode-testes,5633,8) -- Executing [5633@pode-testes:8] Set("Zap/42-1", "INTERFACE=IAX2") in new stack -- Executing [5633@pode-testes:9] Set("Zap/42-1", "RAMAL=5633") in new stack -- Executing [5633@pode-testes:10] Goto("Zap/42-1", "24") in new stack -- Goto (pode-testes,5633,24) -- Executing [5633@pode-testes:24] NoOp("Zap/42-1", "Finish if-ramais-102") in new stack -- Executing [5633@pode-testes:25] GotoIf("Zap/42-1", "1?26:37") in new stack -- Goto (pode-testes,5633,26) -- Executing [5633@pode-testes:26] Set("Zap/42-1", "NPERTURBE=5633") in new stack -- Executing [5633@pode-testes:27] ChanIsAvail("Zap/42-1", "IAX2/5633|s") in new stack == Spawn extension (pode-testes, 5666, 32) exited non-zero on 'IAX2/5660-1' Killed By: Thiago Garcia (thiagarcia) 2008-03-01 20:42:49.000-0600 In mmlog WARNING: Freeing unused memory at (nil), in ast_yyfree of ast_expr2f.c, line 3089 WARNING: Freeing unused memory at (nil), in ast_yyfree of ast_expr2f.c, line 3089 WARNING: Freeing unused memory at (nil), in ast_yyfree of ast_expr2f.c, line 3089 WARNING: Freeing unused memory at (nil), in ast_yyfree of ast_expr2f.c, line 3089 WARNING: Freeing unused memory at (nil), in ast_yyfree of ast_expr2f.c, line 3089 WARNING: Freeing unused memory at (nil), in ast_yyfree of ast_expr2f.c, line 3089 WARNING: Freeing unused memory at (nil), in ast_yyfree of ast_expr2f.c, line 3089 WARNING: Freeing unused memory at (nil), in ast_yyfree of ast_expr2f.c, line 3089 WARNING: Freeing unused memory at (nil), in ast_yyfree of ast_expr2f.c, line 3089 WARNING: Freeing unused memory at (nil), in ast_yyfree of ast_expr2f.c, line 3089 WARNING: Freeing unused memory at (nil), in ast_yyfree of ast_expr2f.c, line 3089 WARNING: Freeing unused memory at (nil), in ast_yyfree of ast_expr2f.c, line 3089 By: Digium Subversion (svnbot) 2008-03-02 03:38:15.000-0600 Repository: asterisk Revision: 105553 U team/russell/autoservice-nochans-1.4/include/asterisk.h U team/russell/autoservice-nochans-1.4/main/asterisk.c U team/russell/autoservice-nochans-1.4/main/autoservice.c ------------------------------------------------------------------------ r105553 | russell | 2008-03-02 03:38:12 -0600 (Sun, 02 Mar 2008) | 6 lines Previously, if there were no channels in autoservice, the AS thread would run in a loop calling ast_waitfor_n() twice a second, with no channels to poll on. This makes the code more sane and has it use a thread condition. (inspired by and related to issue ASTERISK-11555) ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=105553 By: Digium Subversion (svnbot) 2008-03-03 09:13:41.000-0600 Repository: asterisk Revision: 105559 U team/russell/autoservice-nochans-1.4/main/channel.c ------------------------------------------------------------------------ r105559 | russell | 2008-03-03 09:13:39 -0600 (Mon, 03 Mar 2008) | 5 lines Don't alloca(0) and pass the result as the first arg to poll() in the case that a waitfor function is called with nothing to actually poll on. (inspired by issue ASTERISK-11555) ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=105559 By: Digium Subversion (svnbot) 2008-03-03 12:14:47.000-0600 Repository: asterisk Revision: 105563 U branches/1.4/include/asterisk.h U branches/1.4/main/asterisk.c U branches/1.4/main/autoservice.c U branches/1.4/main/channel.c ------------------------------------------------------------------------ r105563 | russell | 2008-03-03 09:50:43 -0600 (Mon, 03 Mar 2008) | 26 lines Merge in some changes from team/russell/autoservice-nochans-1.4 These changes fix up some dubious code that I came across while auditing what happens in the autoservice thread when there are no channels currently in autoservice. 1) Change it so that autoservice thread doesn't keep looping around calling ast_waitfor_n() on 0 channels twice a second. Instead, use a thread condition so that the thread properly goes to sleep and does not wake up until a channel is put into autoservice. This actually fixes an interesting bug, as well. If the autoservice thread is already running (almost always is the case), then when the thread goes from having 0 channels to have 1 channel to autoservice, that channel would have to wait for up to 1/2 of a second to have the first frame read from it. 2) Fix up the code in ast_waitfor_nandfds() for when it gets called with no channels and no fds to poll() on, such as was the case with the previous code for the autoservice thread. In this case, the code would call alloca(0), and pass the result as the first argument to poll(). In this case, the 2nd argument to poll() specified that there were no fds, so this invalid pointer shouldn't actually get dereferenced, but, this code makes it explicit and ensures the pointers are NULL unless we have valid data to put there. (related to issue ASTERISK-11555) ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=105563 By: Digium Subversion (svnbot) 2008-03-03 12:15:24.000-0600 Repository: asterisk Revision: 105564 _U trunk/ U trunk/include/asterisk/_private.h U trunk/main/asterisk.c U trunk/main/autoservice.c U trunk/main/channel.c ------------------------------------------------------------------------ r105564 | russell | 2008-03-03 09:59:50 -0600 (Mon, 03 Mar 2008) | 40 lines 3) In addition to merging the changes below, change trunk back to a regular LIST instead of an RWLIST. The way this list works makes it such that a RWLIST provides no additional benefit. Also, a mutex is needed for use with the thread condition. Merged revisions 105563 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r105563 | russell | 2008-03-03 09:50:43 -0600 (Mon, 03 Mar 2008) | 24 lines Merge in some changes from team/russell/autoservice-nochans-1.4 These changes fix up some dubious code that I came across while auditing what happens in the autoservice thread when there are no channels currently in autoservice. 1) Change it so that autoservice thread doesn't keep looping around calling ast_waitfor_n() on 0 channels twice a second. Instead, use a thread condition so that the thread properly goes to sleep and does not wake up until a channel is put into autoservice. This actually fixes an interesting bug, as well. If the autoservice thread is already running (almost always is the case), then when the thread goes from having 0 channels to have 1 channel to autoservice, that channel would have to wait for up to 1/2 of a second to have the first frame read from it. 2) Fix up the code in ast_waitfor_nandfds() for when it gets called with no channels and no fds to poll() on, such as was the case with the previous code for the autoservice thread. In this case, the code would call alloca(0), and pass the result as the first argument to poll(). In this case, the 2nd argument to poll() specified that there were no fds, so this invalid pointer shouldn't actually get dereferenced, but, this code makes it explicit and ensures the pointers are NULL unless we have valid data to put there. (related to issue ASTERISK-11555) ........ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=105564 By: Russell Bryant (russell) 2008-03-03 12:38:52.000-0600 I have fixed multiple issues related to the things you have reported here. However, I do not thing I have addressed the deadlock that you had. But, since that was not what this report was about, let's handle that separately. Please open a new issue for the deadlock. By: Digium Subversion (svnbot) 2008-03-04 11:13:38.000-0600 Repository: asterisk Revision: 105602 _U team/group/multiparking/ U team/group/multiparking/CHANGES U team/group/multiparking/channels/chan_local.c U team/group/multiparking/channels/chan_sip.c U team/group/multiparking/channels/chan_zap.c U team/group/multiparking/funcs/func_version.c U team/group/multiparking/include/asterisk/_private.h U team/group/multiparking/main/asterisk.c U team/group/multiparking/main/autoservice.c U team/group/multiparking/main/channel.c U team/group/multiparking/main/hashtab.c U team/group/multiparking/main/pbx.c U team/group/multiparking/res/snmp/agent.c ------------------------------------------------------------------------ r105602 | mvanbaak | 2008-03-04 11:13:33 -0600 (Tue, 04 Mar 2008) | 196 lines Merged revisions 105558,105561,105564,105566,105569,105571,105573-105574,105589-105590,105592-105595,105597 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r105558 | file | 2008-03-03 16:16:57 +0100 (Mon, 03 Mar 2008) | 14 lines Merged revisions 105557 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r105557 | file | 2008-03-03 11:15:39 -0400 (Mon, 03 Mar 2008) | 6 lines Add a comment to describe some logic. (closes issue ASTERISK-11558) Reported by: flefoll Patches: chan_sip.c.br14.patch-just-a-comment uploaded by flefoll (license 244) ........ ................ r105561 | file | 2008-03-03 16:30:29 +0100 (Mon, 03 Mar 2008) | 15 lines Merged revisions 105560 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r105560 | file | 2008-03-03 11:28:59 -0400 (Mon, 03 Mar 2008) | 7 lines It is possible for no audio to pass between the current digit and next digit so expand logic that clears emulation to AST_FRAME_NULL. (closes issue ASTERISK-11364) Reported by: edgreenberg Patches: v1-11911.patch uploaded by dimas (license 88) Tested by: tbsky ........ ................ r105564 | russell | 2008-03-03 16:59:50 +0100 (Mon, 03 Mar 2008) | 40 lines 3) In addition to merging the changes below, change trunk back to a regular LIST instead of an RWLIST. The way this list works makes it such that a RWLIST provides no additional benefit. Also, a mutex is needed for use with the thread condition. Merged revisions 105563 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r105563 | russell | 2008-03-03 09:50:43 -0600 (Mon, 03 Mar 2008) | 24 lines Merge in some changes from team/russell/autoservice-nochans-1.4 These changes fix up some dubious code that I came across while auditing what happens in the autoservice thread when there are no channels currently in autoservice. 1) Change it so that autoservice thread doesn't keep looping around calling ast_waitfor_n() on 0 channels twice a second. Instead, use a thread condition so that the thread properly goes to sleep and does not wake up until a channel is put into autoservice. This actually fixes an interesting bug, as well. If the autoservice thread is already running (almost always is the case), then when the thread goes from having 0 channels to have 1 channel to autoservice, that channel would have to wait for up to 1/2 of a second to have the first frame read from it. 2) Fix up the code in ast_waitfor_nandfds() for when it gets called with no channels and no fds to poll() on, such as was the case with the previous code for the autoservice thread. In this case, the code would call alloca(0), and pass the result as the first argument to poll(). In this case, the 2nd argument to poll() specified that there were no fds, so this invalid pointer shouldn't actually get dereferenced, but, this code makes it explicit and ensures the pointers are NULL unless we have valid data to put there. (related to issue ASTERISK-11555) ........ ................ r105566 | russell | 2008-03-03 17:02:19 +0100 (Mon, 03 Mar 2008) | 11 lines Merged revisions 105565 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r105565 | russell | 2008-03-03 10:01:50 -0600 (Mon, 03 Mar 2008) | 3 lines Update the copyright information for autoservice. Most of the code in this file now is stuff that I have written recently ... ........ ................ r105569 | russell | 2008-03-03 18:06:35 +0100 (Mon, 03 Mar 2008) | 11 lines Merged revisions 105568 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r105568 | russell | 2008-03-03 11:05:16 -0600 (Mon, 03 Mar 2008) | 3 lines Fix a potential memory leak of the local_pvt struct when ast_channel allocation fails. Also, in passing, centralize the code necessary to destroy a local_pvt. ........ ................ r105571 | russell | 2008-03-03 18:17:27 +0100 (Mon, 03 Mar 2008) | 11 lines Merged revisions 105570 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r105570 | russell | 2008-03-03 11:16:53 -0600 (Mon, 03 Mar 2008) | 3 lines In the case of an ast_channel allocation failure, take the local_pvt out of the pvt list before destroying it. ........ ................ r105573 | qwell | 2008-03-03 19:08:05 +0100 (Mon, 03 Mar 2008) | 15 lines Merged revisions 105572 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r105572 | qwell | 2008-03-03 12:06:52 -0600 (Mon, 03 Mar 2008) | 7 lines Fix types for astNumChannels and astConfigCallsProcessed. (closes issue ASTERISK-11553) Reported by: jeffg Patches: 12114.patch uploaded by jeffg (license 192) ........ ................ r105574 | russell | 2008-03-03 19:49:34 +0100 (Mon, 03 Mar 2008) | 4 lines Fix some code that was improperly changed in revision 104866 from issue ASTERISK-11520. (closes issue ASTERISK-11566, reported by elguero, patched by me) ................ r105589 | russell | 2008-03-04 05:26:39 +0100 (Tue, 04 Mar 2008) | 3 lines Use ast_copy_string() instead of strncpy(), and use sizeof() instead of a magic number ................ r105590 | russell | 2008-03-04 05:28:48 +0100 (Tue, 04 Mar 2008) | 3 lines - Add curly braces around the while loop - Properly break out of the loop on error when an included context is not found ................ r105592 | russell | 2008-03-04 05:31:53 +0100 (Tue, 04 Mar 2008) | 11 lines Blocked revisions 105591 via svnmerge ........ r105591 | russell | 2008-03-03 22:31:29 -0600 (Mon, 03 Mar 2008) | 4 lines Backport a minor bug fix from trunk that I found while doing random code cleanup. Properly break out of the loop when a context isn't found when verify that includes are valid. ........ ................ r105593 | russell | 2008-03-04 05:44:28 +0100 (Tue, 04 Mar 2008) | 2 lines remove unnecessary casts ................ r105594 | russell | 2008-03-04 05:47:32 +0100 (Tue, 04 Mar 2008) | 2 lines Make it so you don't have to cast away const in a couple places ................ r105595 | russell | 2008-03-04 05:57:29 +0100 (Tue, 04 Mar 2008) | 2 lines Simplify a trivial snprintf() with ast_copy_string() ................ r105597 | russell | 2008-03-04 17:55:17 +0100 (Tue, 04 Mar 2008) | 2 lines Update CHANGES heading ................ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=105602 By: Digium Subversion (svnbot) 2008-03-04 12:51:40.000-0600 Repository: asterisk Revision: 105728 _U team/murf/bug6002/ U team/murf/bug6002/CHANGES U team/murf/bug6002/channels/chan_local.c U team/murf/bug6002/channels/chan_sip.c U team/murf/bug6002/channels/chan_zap.c U team/murf/bug6002/funcs/func_version.c U team/murf/bug6002/include/asterisk/_private.h U team/murf/bug6002/include/asterisk/rtp.h U team/murf/bug6002/main/asterisk.c U team/murf/bug6002/main/autoservice.c U team/murf/bug6002/main/channel.c U team/murf/bug6002/main/hashtab.c U team/murf/bug6002/main/pbx.c U team/murf/bug6002/main/rtp.c U team/murf/bug6002/res/snmp/agent.c ------------------------------------------------------------------------ r105728 | murf | 2008-03-04 12:51:34 -0600 (Tue, 04 Mar 2008) | 228 lines Merged revisions 105558,105561,105564,105566,105569,105571,105573-105574,105589-105590,105592-105595,105597,105675,105677 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ................ r105558 | file | 2008-03-03 08:16:57 -0700 (Mon, 03 Mar 2008) | 14 lines Merged revisions 105557 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r105557 | file | 2008-03-03 11:15:39 -0400 (Mon, 03 Mar 2008) | 6 lines Add a comment to describe some logic. (closes issue ASTERISK-11558) Reported by: flefoll Patches: chan_sip.c.br14.patch-just-a-comment uploaded by flefoll (license 244) ........ ................ r105561 | file | 2008-03-03 08:30:29 -0700 (Mon, 03 Mar 2008) | 15 lines Merged revisions 105560 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r105560 | file | 2008-03-03 11:28:59 -0400 (Mon, 03 Mar 2008) | 7 lines It is possible for no audio to pass between the current digit and next digit so expand logic that clears emulation to AST_FRAME_NULL. (closes issue ASTERISK-11364) Reported by: edgreenberg Patches: v1-11911.patch uploaded by dimas (license 88) Tested by: tbsky ........ ................ r105564 | russell | 2008-03-03 08:59:50 -0700 (Mon, 03 Mar 2008) | 40 lines 3) In addition to merging the changes below, change trunk back to a regular LIST instead of an RWLIST. The way this list works makes it such that a RWLIST provides no additional benefit. Also, a mutex is needed for use with the thread condition. Merged revisions 105563 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r105563 | russell | 2008-03-03 09:50:43 -0600 (Mon, 03 Mar 2008) | 24 lines Merge in some changes from team/russell/autoservice-nochans-1.4 These changes fix up some dubious code that I came across while auditing what happens in the autoservice thread when there are no channels currently in autoservice. 1) Change it so that autoservice thread doesn't keep looping around calling ast_waitfor_n() on 0 channels twice a second. Instead, use a thread condition so that the thread properly goes to sleep and does not wake up until a channel is put into autoservice. This actually fixes an interesting bug, as well. If the autoservice thread is already running (almost always is the case), then when the thread goes from having 0 channels to have 1 channel to autoservice, that channel would have to wait for up to 1/2 of a second to have the first frame read from it. 2) Fix up the code in ast_waitfor_nandfds() for when it gets called with no channels and no fds to poll() on, such as was the case with the previous code for the autoservice thread. In this case, the code would call alloca(0), and pass the result as the first argument to poll(). In this case, the 2nd argument to poll() specified that there were no fds, so this invalid pointer shouldn't actually get dereferenced, but, this code makes it explicit and ensures the pointers are NULL unless we have valid data to put there. (related to issue ASTERISK-11555) ........ ................ r105566 | russell | 2008-03-03 09:02:19 -0700 (Mon, 03 Mar 2008) | 11 lines Merged revisions 105565 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r105565 | russell | 2008-03-03 10:01:50 -0600 (Mon, 03 Mar 2008) | 3 lines Update the copyright information for autoservice. Most of the code in this file now is stuff that I have written recently ... ........ ................ r105569 | russell | 2008-03-03 10:06:35 -0700 (Mon, 03 Mar 2008) | 11 lines Merged revisions 105568 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r105568 | russell | 2008-03-03 11:05:16 -0600 (Mon, 03 Mar 2008) | 3 lines Fix a potential memory leak of the local_pvt struct when ast_channel allocation fails. Also, in passing, centralize the code necessary to destroy a local_pvt. ........ ................ r105571 | russell | 2008-03-03 10:17:27 -0700 (Mon, 03 Mar 2008) | 11 lines Merged revisions 105570 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r105570 | russell | 2008-03-03 11:16:53 -0600 (Mon, 03 Mar 2008) | 3 lines In the case of an ast_channel allocation failure, take the local_pvt out of the pvt list before destroying it. ........ ................ r105573 | qwell | 2008-03-03 11:08:05 -0700 (Mon, 03 Mar 2008) | 15 lines Merged revisions 105572 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r105572 | qwell | 2008-03-03 12:06:52 -0600 (Mon, 03 Mar 2008) | 7 lines Fix types for astNumChannels and astConfigCallsProcessed. (closes issue ASTERISK-11553) Reported by: jeffg Patches: 12114.patch uploaded by jeffg (license 192) ........ ................ r105574 | russell | 2008-03-03 11:49:34 -0700 (Mon, 03 Mar 2008) | 4 lines Fix some code that was improperly changed in revision 104866 from issue ASTERISK-11520. (closes issue ASTERISK-11566, reported by elguero, patched by me) ................ r105589 | russell | 2008-03-03 21:26:39 -0700 (Mon, 03 Mar 2008) | 3 lines Use ast_copy_string() instead of strncpy(), and use sizeof() instead of a magic number ................ r105590 | russell | 2008-03-03 21:28:48 -0700 (Mon, 03 Mar 2008) | 3 lines - Add curly braces around the while loop - Properly break out of the loop on error when an included context is not found ................ r105592 | russell | 2008-03-03 21:31:53 -0700 (Mon, 03 Mar 2008) | 11 lines Blocked revisions 105591 via svnmerge ........ r105591 | russell | 2008-03-03 22:31:29 -0600 (Mon, 03 Mar 2008) | 4 lines Backport a minor bug fix from trunk that I found while doing random code cleanup. Properly break out of the loop when a context isn't found when verify that includes are valid. ........ ................ r105593 | russell | 2008-03-03 21:44:28 -0700 (Mon, 03 Mar 2008) | 2 lines remove unnecessary casts ................ r105594 | russell | 2008-03-03 21:47:32 -0700 (Mon, 03 Mar 2008) | 2 lines Make it so you don't have to cast away const in a couple places ................ r105595 | russell | 2008-03-03 21:57:29 -0700 (Mon, 03 Mar 2008) | 2 lines Simplify a trivial snprintf() with ast_copy_string() ................ r105597 | russell | 2008-03-04 09:55:17 -0700 (Tue, 04 Mar 2008) | 2 lines Update CHANGES heading ................ r105675 | file | 2008-03-04 11:08:42 -0700 (Tue, 04 Mar 2008) | 16 lines Merged revisions 105674 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r105674 | file | 2008-03-04 14:05:28 -0400 (Tue, 04 Mar 2008) | 8 lines When a new source of audio comes in (such as music on hold) make sure the marker bit gets set. (closes issue ASTERISK-10000) Reported by: wdecarne Patches: 10355.diff uploaded by file (license 11) (closes issue ASTERISK-10992) Reported by: kanderson ........ ................ r105677 | file | 2008-03-04 11:11:38 -0700 (Tue, 04 Mar 2008) | 10 lines Merged revisions 105676 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r105676 | file | 2008-03-04 14:10:34 -0400 (Tue, 04 Mar 2008) | 2 lines In addition to setting the marker bit let's change our ssrc so they know for sure it is a different source. ........ ................ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=105728 |