[asterisk-bugs] [JIRA] (ASTERISK-23319) Segmentation fault (queue rules)

Vadim (JIRA) noreply at issues.asterisk.org
Mon Feb 17 10:01:03 CST 2014


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

Vadim commented on ASTERISK-23319:
----------------------------------

queues.conf
--------------

[callcenter-msk]
...
defaultrules=msk
...


queuerules.conf
---------------

[msk]
penaltychange => 30,8
penaltychange => 60,10


                
> Segmentation fault (queue rules)
> --------------------------------
>
>                 Key: ASTERISK-23319
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-23319
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Applications/app_queue
>    Affects Versions: 1.8.25.0
>         Environment: CentoOS 6.2
>            Reporter: Vadim
>
> gdb /usr/sbin/asterisk /tmp/coreXX.XXX
> ....
> Core was generated by `/usr/sbin/asterisk -f -vvvg -c'.
> Program terminated with signal 11, Segmentation fault.
> #0  0x00007f5abdef4965 in queue_exec (chan=0x7f5a11ac1d18, data=0x7f5aa7aa31b0 "callcenter-msk,t,,,60") at app_queue.c:6282
> 6282			while (qe.pr && ((time(NULL) - qe.start) > qe.pr->time)) {
> Missing separate debuginfos, use: debuginfo-install cyrus-sasl-lib-2.1.23-13.el6.x86_64 glibc-2.12-1.47.el6_2.12.x86_64 gnutls-2.8.5-4.el6_2.2.x86_64 iksemel-1.4-2.el6.x86_64 keyutils-libs-1.4-3.el6.x86_64 krb5-libs-1.9-22.el6_2.1.x86_64 libcom_err-1.41.12-11.el6.x86_64 libcurl-7.19.7-26.el6_2.4.x86_64 libgcc-4.4.6-3.el6.x86_64 libgcrypt-1.4.5-9.el6_2.2.x86_64 libgpg-error-1.7-4.el6.x86_64 libidn-1.18-2.el6.x86_64 libselinux-2.0.94-5.3.el6.x86_64 libssh2-1.2.2-7.el6_2.3.x86_64 libtasn1-2.3-3.el6_2.1.x86_64 libxml2-2.7.6-4.el6_2.4.x86_64 mysql-libs-5.1.61-1.el6_2.1.x86_64 ncurses-libs-5.7-3.20090208.el6.x86_64 nspr-4.8.9-3.el6_2.x86_64 nss-3.13.1-7.el6_2.x86_64 nss-softokn-freebl-3.12.9-11.el6.x86_64 nss-util-3.13.1-3.el6_2.x86_64 openldap-2.4.23-20.el6.x86_64 openssl-1.0.0-20.el6_2.5.x86_64 zlib-1.2.3-27.el6.x86_64
> (gdb) bt full
> #0  0x00007f5abdef4965 in queue_exec (chan=0x7f5a11ac1d18, data=0x7f5aa7aa31b0 "callcenter-msk,t,,,60") at app_queue.c:6282
>         res = 0
>         ringing = 0
>         user_priority = 0x0
>         max_penalty_str = 0x7f5a104e8e52 "0"
>         min_penalty_str = 0x0
>         prio = 0
>         qcontinue = 0
>         max_penalty = 5
>         min_penalty = 0
>         reason = QUEUE_LEAVEEMPTY
>         tries = 0
>         noption = 0
>         parse = 0x7f5aa7a9fcc0 "callcenter-msk"
>         makeannouncement = 1
>         position = 0
>         args = {argc = 5, argv = 0x7f5aa7aa0ed0, queuename = 0x7f5aa7a9fcc0 "callcenter-msk", options = 0x7f5aa7a9fccf "t", 
>           url = 0x7f5aa7a9fcd1 "", announceoverride = 0x7f5aa7a9fcd2 "", queuetimeoutstr = 0x7f5aa7a9fcd3 "60", agi = 0x0, 
>           macro = 0x0, gosub = 0x0, rule = 0x0, position = 0x0}
>         qe = {parent = 0x3632538, moh = "default", '\000' <repeats 72 times>, announce = '\000' <repeats 4095 times>, 
>           context = "callback-queue-quest", '\000' <repeats 59 times>, digits = '\000' <repeats 79 times>, valid_digits = 0, pos = 1, 
>           prio = 0, last_pos_said = 0, ring_when_ringing = 0, last_periodic_announce_time = 1392578446, 
>           last_periodic_announce_sound = 0, last_pos = 0, opos = 1, handled = 0, pending = 0, max_penalty = 0, min_penalty = 0, 
>           linpos = 0, linwrapped = 0, start = 1392578446, expire = 1392578506, cancel_answered_elsewhere = 0, chan = 0x7f5a11ac1d18, 
>           qe_rules = {first = 0x0, last = 0x0}, pr = 0x544c414e45505f4e, next = 0x0}
>         __PRETTY_FUNCTION__ = "queue_exec"
> #1  0x0000000000502758 in pbx_exec (c=0x7f5a11ac1d18, app=0x3677850, data=0x7f5aa7aa31b0 "callcenter-msk,t,,,60") at pbx.c:1479
>         res = 32602
>         u = 0x7f5a10e92840
>         saved_c_appl = 0x325a040 "Macro"
>         saved_c_data = 0x7f5aa7aa8470 "auto-system,1100"
>         __PRETTY_FUNCTION__ = "pbx_exec"
> #2  0x000000000050cf7f in pbx_extension_helper (c=0x7f5a11ac1d18, con=0x0, context=0x7f5a11ac2270 "macro-auto-system", 
>     exten=0x7f5a11ac22c0 "s", priority=3, label=0x0, callerid=0x7f5a107c6860 "79224541482", action=E_SPAWN, found=0x7f5aa7aa57bc, 
>     combined_find_spawn=1) at pbx.c:4746
>         e = 0x7f5a11cf7dd0
>         app = 0x3677850
> ---Type <return> to continue, or q <return> to quit---
>         res = 296493760
>         q = {incstack = {0x0 <repeats 128 times>}, stacklen = 0, status = 5, swo = 0x0, data = 0x0, 
>           foundcontext = 0x7f5a11ac2270 "macro-auto-system"}
>         passdata = "callcenter-msk,t,,,60", '\000' <repeats 740 times>"\262, \315\331Z\177\000\000\071\000\000\000\000\000\000\000\220=\252\247Z\177\000\000\300\067\252\247Z\177\000\000\a\312\315\331Z\177", '\000' <repeats 11 times>"\262, \315\331Z\177\000\000\060\000\000\000\000\000\000\000\220=\252\247Z\177\000\000\300\067\252\247Z\177\000\000\a\312\315\331Z\177\000\000\060\000\000\000\060\000\000\000\060\000\000\000\060\000\000\000\060\000\000\000\060\000\000\000\060\000\000\000.\000\000\000\060\000\000\000\060\000\000\000\060\000\000\000\060\000\000\000\060\000\000\000\060\000\000\000\060\000\000\000\060\000\000\000\060\000\000\000\060\000\000\000\060\000\000\000\060\000\000\000\060\000\000\000\060\000\000\000\060\000\000\000\060\000\000\000\060\000\000\000\000\000\000\000\240<\252\247Z\177"...
>         matching_action = 0
>         __PRETTY_FUNCTION__ = "pbx_extension_helper"
> #3  0x000000000050ebb7 in ast_spawn_extension (c=0x7f5a11ac1d18, context=0x7f5a11ac2270 "macro-auto-system", 
>     exten=0x7f5a11ac22c0 "s", priority=3, callerid=0x7f5a107c6860 "79224541482", found=0x7f5aa7aa57bc, combined_find_spawn=1)
>     at pbx.c:5384
> No locals.
> #4  0x00007f5abe10abb8 in _macro_exec (chan=0x7f5a11ac1d18, data=0x7f5aa7aa8470 "auto-system,1100", exclusive=0) at app_macro.c:413
>         c = 0x7f5a11b66790
>         e = 0x7f5a11cf7dd0
>         foundx = 1
>         s = 0x0
>         tmp = 0x7f5aa7aa56e0 "auto-system"
>         cur = 0x0
>         rest = 0x0
>         macro = 0x7f5aa7aa56e0 "auto-system"
>         fullmacro = "macro-auto-system\000\000\000\000\000\000\000\f\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000dialplan,all\000\177\000\000R\204N\000\000\000\000\000\320a\252\247Z\177\000\000\320(}\020Z\177\000"
>         varname = "ARG1\000\000\000\000\001\000\000\000\002\000\000\000\260`\252\247Z\177\000\000^2D\000\000\000\000\000\320`\252\247\377\377\377\377(bT\002\000\000\000\000\320`\252\247Z\177\000\000\030DD", '\000' <repeats 13 times>"\320, a\252\247Z\177\000"
>         runningapp = "Queue\000\000\000(bT\002\000\000\000\000\240`\252\247\377\377\377\377\bbT\002\000\000\000\000\220`\252\247Z\177\000\000\267\062D\000\000\000\000\000\300`\252\247\253\003\000\000\260\253Y\000\000\000\000\000\344\251Y\000\377\377\377\377(bT\002\000\000\000"
>         runningdata = "${Q_NAME},t,,,60\000{ARG1}\000\000\001\000\000\000\000\000\000\320\\\252\247Z\177\000\000\260c\252\247Z\177\000\000\030\000\000\000\060\000\000\000\260`\252\247Z\177\000\000\340_\252\247Z\177\000\000\202^V\000\000\000\000\000\000\000\000\000\377\377\377\377\000\001\000\000\000\000\000\000\030\000\000\000\060\000\000\000\340`\252\247Z\177\000\000\020`\252\247Z\177\000\000\000\001\000\000\000\000\000\000`]\252\247Z\177\000\000\260c\252\247Z\177\000\000\300\271\252\247Z\177\000\000\004\000\000\000\000\000\000\000\a\000\000\000\000\000\000\000\365=U\000\000\000\000\000\320\003", '\000' <repeats 14 times>, "0_\252\247Z\177\000\000\350\342\200\000\000\000\000\000\000\001\000\000\000\000\000\000\000^\252\247Z\177\000\000\t\000\000\000\000\000\000\000P\351\343\020Z\177\000\000X\351\34---Type <return> to continue, or q <return> to quit---
> 3\020Z\177\000\000"...
>         oldargs = {0x0 <repeats 81 times>}
>         argc = 2
>         x = 5272347
>         res = 0
>         oldexten = "1100", '\000' <repeats 251 times>
>         oldpriority = 60
>         gosub_level = 0
>         pc = "60\000\247Z\177\000\000\000\000\000\000\000\000\000\000\227\317[\000\000\000\000\000(^\252\247", '\000' <repeats 12 times>, "8^\252\247", '\000' <repeats 12 times>"\200, Y\252\247\000\000\000\000\000\000\000\000Z\177\000\000\220Y\252\247Z\177\000"
>         depthc = "1\000\\\000\000\000\000\000\000\000\000"
>         oldcontext = "callback", '\000' <repeats 71 times>
>         inhangupc = 0x0
>         offset = 32602
>         depth = 0
>         maxdepth = 7
>         setmacrocontext = 1
>         autoloopflag = 512
>         inhangup = 0
>         tmp_subst = 0x7f5a11468970
>         save_macro_exten = 0x0
>         save_macro_context = 0x0
>         save_macro_priority = 0x0
>         save_macro_offset = 0x0
>         macro_store = 0x7f5a1172aec0
>         __PRETTY_FUNCTION__ = "_macro_exec"
> #5  0x00007f5abe10be20 in macro_exec (chan=0x7f5a11ac1d18, data=0x7f5aa7aa8470 "auto-system,1100") at app_macro.c:586
> No locals.
> #6  0x0000000000502758 in pbx_exec (c=0x7f5a11ac1d18, app=0x3259fe0, data=0x7f5aa7aa8470 "auto-system,1100") at pbx.c:1479
>         res = 32602
>         u = 0x7f5a10837910
>         saved_c_appl = 0x0
>         saved_c_data = 0x0
>         __PRETTY_FUNCTION__ = "pbx_exec"
> #7  0x000000000050cf7f in pbx_extension_helper (c=0x7f5a11ac1d18, con=0x0, context=0x7f5a11ac2270 "macro-auto-system", 
>     exten=0x7f5a11ac22c0 "s", priority=60, label=0x0, callerid=0x7f5a107c6860 "79224541482", action=E_SPAWN, found=0x7f5aa7aaab68, 
>     combined_find_spawn=1) at pbx.c:4746
> ---Type <return> to continue, or q <return> to quit---
>         e = 0x7f5a107d2b10
>         app = 0x3259fe0
>         res = 276588640
>         q = {incstack = {0x0 <repeats 128 times>}, stacklen = 0, status = 5, swo = 0x0, data = 0x0, 
>           foundcontext = 0x7f5a11ac2270 "macro-auto-system"}
>         passdata = "auto-system,1100\000/rm /var/spool/asterisk/monitor/^{MONITOR_FILENAME}.wav\000_count+1, `asterix_status`=asterix_status+1 WHERE `id_zv`='17587601'\000\000recall_type,recall_id) VALUES('2014-02-16 23:03:13','7964"...
>         matching_action = 0
>         __PRETTY_FUNCTION__ = "pbx_extension_helper"
> #8  0x000000000050ebb7 in ast_spawn_extension (c=0x7f5a11ac1d18, context=0x7f5a11ac2270 "macro-auto-system", 
>     exten=0x7f5a11ac22c0 "s", priority=60, callerid=0x7f5a107c6860 "79224541482", found=0x7f5aa7aaab68, combined_find_spawn=1)
>     at pbx.c:5384
> No locals.
> #9  0x000000000050f659 in __ast_pbx_run (c=0x7f5a11ac1d18, args=0x0) at pbx.c:5487
>         digit = 0
>         invalid = 0
>         timeout = 0
>         dst_exten = "\000\222\360\314Z\177\000\000\000\000\000\000\002\000\000\000Feb 16 23:20:46", '\000' <repeats 161 times>, "\001\000\000\000\002", '\000' <repeats 55 times>, "\001\000\000"
>         pos = 0
>         found = 1
>         res = 0
>         autoloopflag = 0
>         error = 0
>         __PRETTY_FUNCTION__ = "__ast_pbx_run"
> #10 0x00000000005113a1 in pbx_thread (data=0x7f5a11ac1d18) at pbx.c:5828
>         c = 0x7f5a11ac1d18
> #11 0x0000000000567726 in dummy_start (data=0x7f5a11039fd0) at utils.c:1144
>         __cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {0, -3676897186312675203, 140026939696592, 140027336767936, 4, 7, 
>                 -3676897186287509379, 3624349336098381949}, __mask_was_saved = 0}}, __pad = {0x7f5aa7aaae90, 0x0, 0x7f5aa7aaba10, 
>             0x0}}
>         __cancel_routine = 0x437c3c <ast_unregister_thread>
>         __cancel_arg = 0x7f5aa7aab700
>         not_first_call = 0
>         ret = 0x7f5ada018860
>         a = {start_routine = 0x51137c <pbx_thread>, data = 0x7f5a11ac1d18, 
>           name = 0x7f5a11b5ef30 "pbx_thread", ' ' <repeats 11 times>, "started at [ 5854] pbx.c ast_pbx_start()"}
> ---Type <return> to continue, or q <return> to quit---
> #12 0x00007f5ad908e7f1 in start_thread () from /lib64/libpthread.so.0
> No symbol table info available.
> #13 0x00007f5ad9d77ccd in clone () from /lib64/libc.so.6
> No symbol table info available.
> (gdb) l
> 6277				ast_queue_log(args.queuename, chan->uniqueid, "NONE", "EXITWITHTIMEOUT", "%d", qe.pos);
> 6278				break;
> 6279			}
> 6280	
> 6281			/* see if we need to move to the next penalty level for this queue */
> 6282			while (qe.pr && ((time(NULL) - qe.start) > qe.pr->time)) {
> 6283				update_qe_rule(&qe);
> 6284			}
> 6285	
> 6286			/* Try calling all queue members for 'timeout' seconds */
> (gdb) p qe.pr
> $1 = (struct penalty_rule *) 0x544c414e45505f4e
> (gdb) p qe.start
> $2 = 1392578446
> (gdb) p qe.pr->time
> Cannot access memory at address 0x544c414e45505f4e
> (gdb) p 0x544c414e45505f4e
> $3 = 6074301801842106190
> (gdb) 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.asterisk.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



More information about the asterisk-bugs mailing list