Hi Pieter,

On Sat, Jan 12, 2019 at 01:00:33AM +0100, PiBa-NL wrote:
> Thanks for this 'change in behavior' ;). Indeed the mailbomb is fixed, and
> it seems the expected mails get generated and delivered, but a segfault also
> happens on occasion. Not with the regtest as it was, but with a few minor
> modifications (adding a unreachable mailserver, and giving it a little more
> time seems to be the most reliable reproduction a.t.m.) it will crash
> consistently after 11 seconds.. So i guess the patch needs a bit more
> tweaking.
> 
> Regards,
> PiBa-NL (Pieter)
> 
> Core was generated by `haproxy -d -f /tmp/vtc.37274.4b8a1a3a/h1/cfg'.
> Program terminated with signal SIGSEGV, Segmentation fault.
> #0  0x0000000000500955 in chk_report_conn_err (check=0x802616a10,
> errno_bck=0, expired=1) at src/checks.c:689
> 689 dns_trigger_resolution(check->server->dns_requester);
> (gdb) bt full
> #0  0x0000000000500955 in chk_report_conn_err (check=0x802616a10,
> errno_bck=0, expired=1) at src/checks.c:689

Indeed, this function should not have any special effect in this case,
it is needed to prepend this at the beginning of chk_report_conn_err() :

        if (!check->server)
                return;

We need to make sure that check->server is properly tested everywhere.
With a bit of luck this one was the only remnant.

Thanks!
Willy

Reply via email to