[exim-dev] [Bug 1661] New: infinite loop in expand.c, tree …

Top Page
Delete this message
Reply to this message
Author: admin
Date:  
To: exim-dev
New-Topics: [exim-dev] [Bug 1661] infinite loop in expand.c, tree structure loops back on itself.
Subject: [exim-dev] [Bug 1661] New: infinite loop in expand.c, tree structure loops back on itself.
https://bugs.exim.org/show_bug.cgi?id=1661

            Bug ID: 1661
           Summary: infinite loop in expand.c,  tree structure loops back
                    on itself.
           Product: Exim
           Version: 4.85
          Hardware: x86-64
                OS: Linux
            Status: NEW
          Severity: bug
          Priority: medium
         Component: String expansion
          Assignee: nigel@???
          Reporter: jasen@???
                CC: exim-dev@???


symptom: exim process hangs

during expansion it hit an infinite loop

(gdb) print *p
$3 = {left = 0x2249492d6f433130, right = 0x7fc03354f100, data = {ptr =
0x70726f6370746d73, val = 1886678387}, balance = 0 '\000', name = "e"}
(gdb) print p
$5 = (tree_node *) 0x7fc03354f100

note: p == p->right

I thinkk "msg:completed" is a home-grown delivery event patched into deliver.c,
but that shouldn't cause this, should it?

(gdb) where
#0  tree_search (p=0x7fc03354f100, name=0x7fffee4398e4 "m_xferred") at
tree.c:335
#1  0x00007fc03243a5d6 in find_variable (name=<optimized out>,
name@entry=0x7fffee4398e0 "acl_m_xferred", exists_only=exists_only@entry=1,
skipping=0, 
    newsize=newsize@entry=0x0) at expand.c:1687
#2  0x00007fc032445052 in eval_condition (s=0x7fc032e76d06 " }",
s@entry=0x7fc032e76cf5 "def:acl_m_xferred }",
resetok=resetok@entry=0x7fffee439b5c, 
    yield=yield@entry=0x7fffee439b98) at expand.c:2166
#3  0x00007fc03243c3eb in expand_string_internal (string=<optimized out>,
ket_ends=ket_ends@entry=0, left=left@entry=0x0, skipping=skipping@entry=0, 
    honour_dollar=honour_dollar@entry=1, resetok_p=resetok_p@entry=0x0) at
expand.c:4010
#4  0x00007fc03243b331 in expand_string (string=<optimized out>) at
expand.c:7017
#5  0x00007fc0324235e1 in acl_check_condition (basic_errno=0x7fffee43a8ac,
log_msgptr=0x7fffee43abd8, user_msgptr=0x7fffee43ad78, epp=<synthetic pointer>, 
    level=0, addr=0x0, where=19, cb=0x7fc032e76cd0, verb=0) at acl.c:3025
#6  acl_check_internal (log_msgptr=0x7fffee43abd8, user_msgptr=0x7fffee43ad78,
level=0, s=<optimized out>, addr=0x0, where=19) at acl.c:4077
#7  acl_check_internal (where=19, addr=0x0, s=<optimized out>, level=0,
user_msgptr=0x7fffee43ad78, log_msgptr=0x7fffee43abd8) at acl.c:3930
#8  0x00007fc03242511d in acl_eval (where=19, s=0x7fc03354f0c8
"foo_org_event_mux", user_msgptr=user_msgptr@entry=0x7fffee43ad78, 
    log_msgptr=log_msgptr@entry=0x7fffee43abd8) at acl.c:4308
#9  0x00007fc03243ae59 in eval_acl (sub=sub@entry=0x7fffee43aed0,
user_msgp=user_msgp@entry=0x7fffee43ad78, nsub=9) at expand.c:2046
#10 0x00007fc03243e2e4 in expand_string_internal (string=<optimized out>,
ket_ends=ket_ends@entry=0, left=left@entry=0x0, skipping=skipping@entry=0, 
    honour_dollar=honour_dollar@entry=1, resetok_p=resetok_p@entry=0x0) at
expand.c:3979
#11 0x00007fc03243b331 in expand_string (string=string@entry=0x7fc032e730b8
"${acl{foo_org_event_mux}}") at expand.c:7017
#12 0x00007fc03242d710 in event_raise (action=0x7fc032e730b8
"${acl{foo_org_event_mux}}", event=event@entry=0x7fc0324d700f "msg:complete",
ev_data=0x0, 
    ev_data@entry=0x7fc03271a110 "") at deliver.c:736
#13 0x00007fc032431a68 in deliver_message (id=0x7fffee47d8ed
"1ZDfSA-4gfFsc-Np", forced=forced@entry=0, give_up=846307600, give_up@entry=0)
at deliver.c:7465
#14 0x00007fc03241bb38 in main (argc=3, cargv=<optimized out>) at exim.c:4524


--
You are receiving this mail because:
You are on the CC list for the bug.