You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "Leif Hedstrom (JIRA)" <ji...@apache.org> on 2016/08/16 23:18:20 UTC

[jira] [Updated] (TS-3791) Diagnostics can crash in PCRE JIT when there's a bad config

     [ https://issues.apache.org/jira/browse/TS-3791?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Leif Hedstrom updated TS-3791:
------------------------------
    Fix Version/s:     (was: 7.0.0)
                   7.1.0

> Diagnostics can crash in PCRE JIT when there's a bad config 
> ------------------------------------------------------------
>
>                 Key: TS-3791
>                 URL: https://issues.apache.org/jira/browse/TS-3791
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Core
>            Reporter: Leif Hedstrom
>            Assignee: Phil Sorber
>              Labels: crash
>             Fix For: 7.1.0
>
>
> Somewhat strange setup, but basically with a bad parent.config entry, e.g.
> {code}
> dest_domain=. parent="foo.example.com"
> {code}
> (notice the missing :port), and I run traffic_server with a -T option, e.g.
> {code}
> ./bin/traffic_server -T parent
> {code}
> I get a crash with a core of
> {code}
> (gdb) bt
> #0  0x00007ffff52019c8 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:55
> #1  0x00007ffff520365a in __GI_abort () at abort.c:89
> #2  0x00007ffff7bc3fb8 in ink_die_die_die () at ../../../../lib/ts/ink_error.cc:43
> #3  ink_fatal_va (fmt=0x7ffff7bd0820 "ats_malloc: couldn't allocate %zu bytes", ap=ap@entry=0x7ffff3994808) at ../../../../lib/ts/ink_error.cc:65
> #4  0x00007ffff7bc404c in ink_fatal (message_format=message_format@entry=0x7ffff7bd0820 "ats_malloc: couldn't allocate %zu bytes") at ../../../../lib/ts/ink_error.cc:73
> #5  0x00007ffff7bc6f16 in ats_malloc (size=32) at ../../../../lib/ts/ink_memory.cc:56
> #6  0x00007ffff6911694 in sljit_allocate_stack (allocator_data=0x0, max_limit=1048576, limit=8192) at sljit/sljitUtils.c:236
> #7  pcre_jit_stack_alloc (startsize=8192, maxsize=<optimized out>, maxsize@entry=1048576) at pcre_jit_compile.c:10571
> #8  0x00007ffff7bbc656 in get_jit_stack (data=<optimized out>) at ../../../../lib/ts/Regex.cc:44
> #9  0x00007ffff6911358 in _pcre_jit_exec (extra_data=extra_data@entry=0x10aa2d0, subject=subject@entry=0x80ac67 "pmgmt", length=length@entry=5, start_offset=start_offset@entry=0, options=options@entry=0, offsets=offsets@entry=0x7ffff3994be0, offset_count=2) at pcre_jit_compile.c:10420
> #10 0x00007ffff68e9e7e in pcre_exec (argument_re=0x10aa270, extra_data=<optimized out>, subject=subject@entry=0x80ac67 "pmgmt", length=length@entry=5, start_offset=start_offset@entry=0, options=options@entry=0, offsets=0x7ffff3994be0, offsetcount=30) at pcre_exec.c:6483
> #11 0x00007ffff7bbc79e in Regex::exec (this=<optimized out>, str=str@entry=0x80ac67 "pmgmt", length=length@entry=5, ovector=ovector@entry=0x7ffff3994be0, ovecsize=ovecsize@entry=30) at ../../../../lib/ts/Regex.cc:120
> #12 0x00007ffff7bbc7c5 in Regex::exec (this=<optimized out>, str=str@entry=0x80ac67 "pmgmt", length=length@entry=5) at ../../../../lib/ts/Regex.cc:112
> #13 0x00007ffff7bbca1f in DFA::match (this=<optimized out>, str=str@entry=0x80ac67 "pmgmt", length=5) at ../../../../lib/ts/Regex.cc:235
> #14 0x00007ffff7bbca67 in DFA::match (this=<optimized out>, str=str@entry=0x80ac67 "pmgmt") at ../../../../lib/ts/Regex.cc:225
> #15 0x00007ffff7bb0a32 in Diags::tag_activated (this=this@entry=0x10aa140, tag=tag@entry=0x80ac67 "pmgmt", mode=mode@entry=DiagsTagType_Debug) at ../../../../lib/ts/Diags.cc:394
> #16 0x00007ffff7bb1429 in on (mode=DiagsTagType_Debug, tag=0x80ac67 "pmgmt", this=0x10aa140) at ../../../../lib/ts/Diags.h:171
> #17 Diags::log (this=0x10aa140, tag=tag@entry=0x80ac67 "pmgmt", level=level@entry=DL_Debug, file=file@entry=0x80a850 "../../../mgmt/ProcessManager.cc", func=func@entry=0x80acf0 <ProcessManager::processSignalQueue()::__FUNCTION__> "processSignalQueue", line=line@entry=148, format_string=0x80a8f8 "[ProcessManager] ==> Signalling local manager '%d'\n") at ../../../../lib/ts/Diags.cc:513
> #18 0x00000000006979f5 in ProcessManager::processSignalQueue (this=0x10eab30) at ../../../mgmt/ProcessManager.cc:148
> #19 0x0000000000697ffd in startProcessManager (arg=<optimized out>) at ../../../mgmt/ProcessManager.cc:63
> #20 0x00007ffff6039555 in start_thread (arg=0x7ffff3995700) at pthread_create.c:333
> #21 0x00007ffff52cfb9d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)