[asterisk-bugs] [Asterisk 0012744]: AGI 100% CPU utilization (deadlock?)

noreply at bugs.digium.com noreply at bugs.digium.com
Fri May 30 11:50:55 CDT 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=12744 
====================================================================== 
Reported By:                reallost1
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   12744
Category:                   Core/General
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     feedback
Asterisk Version:           1.6.0-beta8 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             05-28-2008 14:56 CDT
Last Modified:              05-30-2008 11:50 CDT
====================================================================== 
Summary:                    AGI 100% CPU utilization (deadlock?)
Description: 
Asterisk threads use 100% CPU when trying to spawn an AGI process.
It happens with multple different AGI scripts.
It happens several times per hour and has multiple threads that need to be
killed manually.

>core show channels
SIP/67.55..xxx-08 4352941645 at default:9 Up      AGI(agirunner)             
  
SIP/xxx..xxx-0894f000  8 at podcast-menu:1     Up      AGI(bored)   

When the threads are killed, the channels hangup.
====================================================================== 

---------------------------------------------------------------------- 
 reallost1 - 05-30-08 11:50  
---------------------------------------------------------------------- 
I recompiled asterisk with DONTOPTIMIZE and here is a new backtrace.

(gdb) bt full
http://bugs.digium.com/view.php?id=0  0x283574f7 in pthread_testcancel () from
/lib/libpthread.so.2
No symbol table info available.
http://bugs.digium.com/view.php?id=1  0x28358525 in __error () from
/lib/libpthread.so.2
No symbol table info available.
http://bugs.digium.com/view.php?id=2  0x2834470e in sigaction () from
/lib/libpthread.so.2
No symbol table info available.
http://bugs.digium.com/view.php?id=3  0x283be8d2 in signal () from
/lib/libc.so.6
No symbol table info available.
http://bugs.digium.com/view.php?id=4  0x28473ab0 in launch_script
(chan=0x8cfd800, script=0xbed4be60
"/var/lib/asterisk/agi-bin/agirunner", argv=0xbed4bfd4, fds=0xbed4c1f0,
efd=0x0, opid=0xbed4c1e8) at res_agi.c:694
        tmp = "/var/lib/asterisk/agi-bin/agirunner", '\0' <repeats 189
times>,
"???!H(P@?(8\016\006\b??\000\000\000\000\000\002\000\000\000\000\000"
        pid = 0
        toast = {64, 65}
        fromast = {66, 67}
        audio = {0, 0}
        x = 0
        res = 0
        signal_set = {__bits = {4294967295, 4294967295, 4294967295,
4294967295}}
        old_set = {__bits = {134238211, 0, 0, 0}}
        st = {st_dev = 80, st_ino = 1202355, st_mode = 33261, st_nlink =
1, st_uid = 0, st_gid = 0, st_rdev = 4801574, st_atimespec = {tv_sec =
1212165507, tv_nsec = 0}, st_mtimespec = {tv_sec = 1212080860, 
    tv_nsec = 0}, st_ctimespec = {tv_sec = 1212080860, tv_nsec = 0},
st_size = 1295, st_blocks = 4, st_blksize = 4096, st_flags = 0, st_gen =
943077444, st_lspare = 0, st_birthtimespec = {
    tv_sec = 1212080860, tv_nsec = 0}}
        __PRETTY_FUNCTION__ = "launch_script"
http://bugs.digium.com/view.php?id=5  0x28479af8 in agi_exec_full
(chan=0x8cfd800, data=0xbed4eb60,
enhanced=0, dead=0) at res_agi.c:2902
        res = 135755924
        buf = "agirunner", '\0' <repeats 2038 times>
        tmp = 0xbed4c200 "agirunner"
        fds = {0, 9}
        efd = -1
        pid = 47
        args = {argc = 1, argv = 0xbed4bfd4, arg = {0xbed4c200
"agirunner", 0x0 <repeats 127 times>}}
        agi = {fd = 0, audio = 0, ctrl = 0, fast = 0, speech = 0x0}
        __PRETTY_FUNCTION__ = "agi_exec_full"
http://bugs.digium.com/view.php?id=6  0x28479cd8 in agi_exec (chan=0x8cfd800,
data=0xbed4eb60) at
res_agi.c:2945
No locals.
http://bugs.digium.com/view.php?id=7  0x080ec98e in pbx_exec (c=0x8cfd800,
app=0x81ffbc0, data=0xbed4eb60)
at strings.h:33
        res = 9
        u = (struct ast_module_user *) 0x81d6720
        saved_c_appl = 0x0
        saved_c_data = 0x0
http://bugs.digium.com/view.php?id=8  0x080f2788 in pbx_extension_helper
(c=0x8cfd800, con=0x0,
context=0x8cfda1c "default", exten=0x8cfda6c "4153767253", priority=9,
label=0x0, callerid=0x8bcdbf0 "3019450316", action=E_SPAWN, 
    found=0xbed50f3c, combined_find_spawn=1) at pbx.c:2904
        e = (struct ast_exten *) 0x8c54a80
        app = (struct ast_app *) 0x81ffbc0
        res = 675462528
        q = {incstack = {0x0 <repeats 128 times>}, stacklen = 0, status =
5, swo = 0x0, data = 0x0, foundcontext = 0x8cfda1c "default"}
        passdata = "agirunner\000wait\00053\0007253", '\0' <repeats 1058
times>,
"8\000?\032\036\017\b????a?)\000\000\000\000\000\000\000\000CDR(userfield)\000)",
'\0' <repeats 3644 times>, "?\2035(", '\0' <repeats 12 times>,
"\001\000\000\000??5(\000&?\bh??\005?4(\000?\032\bH&?\b\017\000\000\000??5(\000\000\000\000\000\000\000\000\000?\032\b",
'\0' <repeats 16 times>,
"?\2035(\000\000\000\000\001\000\000\000??5(\001\000\000\000\000&?\b??5(?????4(\000?\032\bH&?\b??"...
        matching_action = 0
        __PRETTY_FUNCTION__ = "pbx_extension_helper"
http://bugs.digium.com/view.php?id=9  0x080f4669 in ast_spawn_extension
(c=0x8cfd800, context=0x8cfda1c
"default", exten=0x8cfda6c "4153767253", priority=9, callerid=0x8bcdbf0
"3019450316", found=0xbed50f3c, combined_find_spawn=1)
    at pbx.c:3395
---Type <return> to continue, or q <return> to quit---
No locals.
http://bugs.digium.com/view.php?id=10 0x080f4b59 in __ast_pbx_run (c=0x8cfd800)
at pbx.c:3494
        dst_exten =
"\000&?\b??5(h\016???4(\000?\032\bH&?\bh\016???4((?\031\b\200?B(\b\017???5(",
'\0' <repeats 12 times>,
"??5(\000\b\000\000???\b\210\016?\03234(??5(\000\000\000\000\000\020\000\000\000\000\000\000\020\000\000\000\200?B(H\017??};(@)C(???\bH\017?i};(\000&?\b\f??\b\000\000\000\000D\000\000\000\200??\bH&?\b\000\000\000\000>\000\000\000\000\000\000\000P@?(\000\000\000\000?\2035(",
'\0' <repeats 12 times>, "\001\000\000\000`?\031\b\000&?\b8\017?"...
        pos = 0
        digit = 0
        found = 1
        res = 0
        autoloopflag = 0
        error = 0
        __PRETTY_FUNCTION__ = "__ast_pbx_run"
http://bugs.digium.com/view.php?id=11 0x080f5d23 in pbx_thread (data=0x8cfd800)
at pbx.c:3760
        c = (struct ast_channel *) 0x8cfd800
http://bugs.digium.com/view.php?id=12 0x08139153 in dummy_start (data=0x8d0e040)
at utils.c:872
        ret = (void *) 0x0
        a = {start_routine = 0x80f5d0c <pbx_thread>, data = 0x8cfd800,
name = 0x8cefc00 "pbx_thread", ' ' <repeats 11 times>, "started at [ 3781]
pbx.c ast_pbx_start()"}
        lock_info = (struct thr_lock_info *) 0x8d0d000
        mutex_attr = 0x0
http://bugs.digium.com/view.php?id=13 0x283483a5 in pthread_create () from
/lib/libpthread.so.2
No symbol table info available.
http://bugs.digium.com/view.php?id=14 0x28405137 in _ctx_start () from
/lib/libc.so.6
No symbol table info available. 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
05-30-08 11:50  reallost1      Note Added: 0087560                          
======================================================================




More information about the asterisk-bugs mailing list