https://bugs.exim.org/show_bug.cgi?id=1803
--- Comment #18 from Nish Aravamudan <[email protected]> --- (In reply to Zoltan Herczeg from comment #17) > > Neither am I :) I appreciate your help! > > Me too. And you are good at gdb, and that is rare :) > > It seems we really get an offset pair before start_offset: > > > (gdb) print start_offset > > $62 = 4 > > > (gdb) print offsets[0] > > $66 = 2 > > (gdb) print offsets[1] > > $67 = 4 > > It is not impossible, a pattern like this can do that: > > /(?<=\K.)/ > > But such patterns are rare. > > Do you know what is the pattern here: > > {{ baz|split('')|join('-') }} > > An empty string? But that cannot match from 2-4. I would expect that would be the pattern, based upon my understanding of twig. > And there is one more thing, the interpreters fills the offset[0] and [1] > with -1 in case of a failed match, but JIT does not do it. It can be a > problem if the application expects the former behavior, but that code does > not seem to rely on this. > > However, this part somehow contradicts to this: > > > (gdb) print offsets[0] > > $52 = -1 > > (gdb) print offsets[1] > > $53 = -1 > > Anyway, I think we need to figure out which pattern causes the problem. The > pce->re member is set somewhere, you could capture that with a write > watchpoint: > > p &pce->re > -> prints the absolute address > watch *(long*)address > > rerun the application again with r. > > You might capture some unwanted breakpoint hits (sometimes thousands :) ), > but just set a big ignore count to the watchpoint: > > ignore 1 100000 > > When the crash happens type "info breakpoints" and check the hit count. Set > the ignore count just one (or two) below to that number and rerun the > application again. This time gdb will stop where the pattern is compiled > (since that is the last write to this address), and just check the pattern > string. Please send it to me. So I attempted to do this a few times, but the failing &pce->re value kept changing between runs. Is that expected? That made the write watchpoint fail to trip. Any advice? Agreed we need to figure out what the pattern actually is. -- You are receiving this mail because: You are on the CC list for the bug. -- ## List details at https://lists.exim.org/mailman/listinfo/pcre-dev
