[asterisk-bugs] [JIRA] (ASTERISK-18708) func_curl hangs channel under load

Joshua Colp (JIRA) noreply at issues.asterisk.org
Fri Mar 13 21:02:34 CDT 2015


     [ https://issues.asterisk.org/jira/browse/ASTERISK-18708?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Joshua Colp closed ASTERISK-18708.
----------------------------------

    Resolution: Fixed

> func_curl hangs channel under load
> ----------------------------------
>
>                 Key: ASTERISK-18708
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-18708
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Functions/func_curl
>    Affects Versions: 1.8.5.0
>         Environment: CentOS 5.2 
>            Reporter: Dave Cabot
>            Assignee: Dave Cabot
>         Attachments: backtrace.txt, core-show-locks.txt, func_curl.patch
>
>
> Developing an IVR using pbx_lua.  Using func_curl to solicit info from a http server.  Load testing using sipp up to 100 concurrent calls.  Channels are getting stuck while waiting for curl to return.  http app is a simple dummy app that returns a response in 2 secs.
> stack trace from gdb shows func_curl is stuck at a mutex.
> #0  0x0078f402 in __kernel_vsyscall ()
> #1  0x00a36a4e in __lll_mutex_lock_wait () from /lib/libpthread.so.0
> #2  0x00a328c4 in _L_mutex_lock_760 () from /lib/libpthread.so.0
> #3  0x00a32768 in pthread_mutex_lock () from /lib/libpthread.so.0
> #4  0x009325d6 in pthread_mutex_lock () from /lib/libc.so.6
> #5  0x00b95c7c in acf_curl_helper (chan=0x801504b8, cmd=<value optimized out>, info=<value optimized out>, buf=0x93454b90 "", input_str=0x0, len=4096) at func_curl.c:486
> #6  0x0812d7bf in ast_func_read (chan=0x801504b8, 
>     function=0x93454a90 "CURL(http://192.168.35.43:8200,<?xml version=\"1.0\" encoding=\"UTF-8\"?><OTA><AuthenticationToken>ODod923i5kLk9s01Lkd0hnczii</AuthenticationToken><Action method=\"AttachRequest\"><TRN>9070000995</TRN><CSR>"..., workspace=0x93454b90 "", len=4096) at pbx.c:3515
> #7  0x00371cc2 in lua_get_variable_value (L=0xd337518) at pbx_lua.c:303
> #8  0x0072a4e3 in luaD_precall (L=0xd337518, func=0xe63fe58, nresults=1) at ldo.c:319
> #9  0x00734cc0 in luaV_execute (L=0xd337518, nexeccalls=3) at lvm.c:587
> #10 0x0072a960 in luaD_call (L=0xd337518, func=0xe63fdf8, nResults=0) at ldo.c:377
> #11 0x00725fd1 in f_call (L=0xd337518, ud=0x93455e74) at lapi.c:800
> #12 0x0072a023 in luaD_rawrunprotected (L=0xd337518, f=0x725fb0 <f_call>, ud=0x93455e74) at ldo.c:116
> #13 0x0072a088 in luaD_pcall (L=0xd337518, func=0x725fb0 <f_call>, u=0x93455e74, old_top=24, ef=12) at ldo.c:463
> #14 0x00725e24 in lua_pcall (L=0xd337518, nargs=2, nresults=0, errfunc=1) at lapi.c:821
> #15 0x003707b3 in exec (chan=0x801504b8, context=0x80150824 "incoming", exten=0x80150874 "400", priority=1, callerid=0x807f4f40 "9070000995", data=0x9406968 "") at pbx_lua.c:1307
> #16 0x081339d9 in pbx_extension_helper (c=0x801504b8, con=0x0, context=0x0, exten=0x80150874 "400", priority=1, label=0x0, callerid=0x807f4f40 "9070000995", action=E_SPAWN, found=0x9345a264, 
>     combined_find_spawn=1) at pbx.c:4115
> #17 0x081364ac in __ast_pbx_run (c=0x801504b8, args=0x0) at pbx.c:4723
> #18 0x08138420 in pbx_thread (data=0x801504b8) at pbx.c:5058
> #19 0x0817455a in dummy_start (data=0x80d3b578) at utils.c:1004
> #20 0x00a3046b in start_thread () from /lib/libpthread.so.0
> #21 0x00925dbe in clone () from /lib/libc.so.6



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list