Hi Thomas,
> This was somewhat complex. I am using OpenWrt for HAProxy with eglibc.
I see. Are you using local gdb on this box or are you transferring
executable and core to another box and backtracing there?
> So HAProxy crashes as soon as acl tries to use
> acl ex_de hdr_reg(host) -i www\.example\.de
Ok, so its probably about the modifications in src/pattern.c.
> (gdb) bt full
> #0 0x00006448acdbfceb in regexec (preg=0x2f737e0, string=0x2fe7b44
> "Host: www.example.de", nmatch=10, pmatch=0x6a0600, eflags=0) at
> pcreposix.c:194
> rc = <value optimized out>
> so = <value optimized out>
> eo = <value optimized out>
> options = Unhandled dwarf expression opcode 0x9f
Mmmmh, I think there is a problem with gdb here [1].
Anyway, since you confirmed it works when reverting Dirkjan's 07fcaaa4cd8
("MINOR: fix a few memory usage errors"), lets CC him and Willy.
I just hope we didn't uncover some sleeping bugs in eglibc or pcre.
Btw, does it work when you compile without PCRE (using libc's regexp
implementation instead)?
Regards,
Lukas
[1] http://stackoverflow.com/questions/608361/unhandled-dwarf-expression