[asterisk-bugs] [JIRA] (ASTERISK-20433) asterisk seg fault on openwrt with uclibc / eglibc during feature code blind transfer

sun bing (JIRA) noreply at issues.asterisk.org
Thu Jan 31 23:56:58 CST 2013


    [ https://issues.asterisk.org/jira/browse/ASTERISK-20433?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=202471#comment-202471 ] 

sun bing commented on ASTERISK-20433:
-------------------------------------

diff --git a/include/asterisk/utils.h b/include/asterisk/utils.h
index 966d11b..303c8c1 100644
--- a/include/asterisk/utils.h
+++ b/include/asterisk/utils.h
@@ -375,6 +375,7 @@ int ast_careful_fwrite(FILE *f, int fd, const char *s, size_t len, int timeoutms
 #define AST_STACKSIZE (((sizeof(void *) * 8 * 8) - 16) * 1024)
 
 #if defined(LOW_MEMORY)
+//#define AST_BACKGROUND_STACKSIZE (((sizeof(void *) * 8 * 4) - 16) * 1024)
 #define AST_BACKGROUND_STACKSIZE (((sizeof(void *) * 8 * 2) - 16) * 1024)
 #else
 #define AST_BACKGROUND_STACKSIZE AST_STACKSIZE
diff --git a/res/res_rtp_asterisk.c b/res/res_rtp_asterisk.c
index f36fbe4..6bb8e0d 100644
--- a/res/res_rtp_asterisk.c
+++ b/res/res_rtp_asterisk.c
@@ -1759,7 +1759,11 @@ static struct ast_frame *ast_rtcp_read(struct ast_rtp_instance *instance)
 {
 	struct ast_rtp *rtp;
 	struct ast_sockaddr addr;
+#if defined(LOW_MEMORY)
+	unsigned int rtcpdata[4096 + AST_FRIENDLY_OFFSET];
+#else
 	unsigned int rtcpdata[8192 + AST_FRIENDLY_OFFSET];
+#endif
 	unsigned int *rtcpheader = (unsigned int *)(rtcpdata + AST_FRIENDLY_OFFSET);
 	int res, packetwords, position = 0;
 	struct ast_frame *f = &ast_null_frame;

                
> asterisk seg fault on openwrt with uclibc / eglibc during feature code blind transfer
> -------------------------------------------------------------------------------------
>
>                 Key: ASTERISK-20433
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-20433
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Resources/res_features, Resources/res_rtp_asterisk
>    Affects Versions: 1.8.10.1
>         Environment: test1: openwrt r33444, ramips, kernel 3.3.8, uclibc 0.9.33.2, asterisk-1.8.10.1
> test2: openwrt r33444, x86(virtualbox), kernel 3.3.8, eglibc 2.1.5, asterisk-1.8.10.1
> test3: openwrt r33444, ramips, kernel 3.3.8, uclibc 0.9.33.2, asterisk-1.8.15.1
> test4: openwrt r33444, ramips, kernel 2.6.35, uclibc 0.9.33.2, asterisk-1.8.4.4
> test5: openwrt 10.3.1, brcm63xx, kernel 2.6.32.10, uclibc 0.9.30.1, asterisk-1.6.2
>            Reporter: sun bing
>            Assignee: sun bing
>         Attachments: backtrace_fromdesc.txt, backtrace.txt
>
>
> sip.conf:
> [8001]
> type=friend
> secret=123456
> host=dynamic
> context=default
> [8002]
> type=friend
> secret=123456
> host=dynamic
> context=default
> extensions.conf
> exten => _8X.,1,dial(SIP/${EXTEN},40,Tt)
> test follow:
> make call from 8001 to 8002, after answer, press # to blind transfer, system will segementation fault after playback.
> test result:
> test1 segementation fault
> test2 segementation fault
> test3 segementation fault 
> test4 segementation fault
> test5 works fine!!! not segfault!!!
> background information: in uclibc 0.9.33.2 has an NTPL implement
> i test with gdb in test2(x86):
> Unknown RTP codec 126 received from '172.16.0.99:49580'
> Unknown RTP codec 126 received from '172.16.0.99:49580'
> Unknown RTP codec 126 received from '172.16.0.99:49580'
> DTMF begin '#' received on SIP/8002-00000001
> DTMF begin passthrough '#' on SIP/8002-00000001
> DTMF end '#' received on SIP/8002-00000001, duration 120 ms
> DTMF end accepted with begin '#' on SIP/8002-00000001
> DTMF end passthrough '#' on SIP/8002-00000001
>     -- Started music on hold, class 'default', on SIP/8001-00000000
>     -- Stopped music on hold on SIP/8002-00000001
>     -- <SIP/8002-00000001> Playing 'pbx-transfer.alaw' (language 'en')
> [New LWP 14314]

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira



More information about the asterisk-bugs mailing list