On 2017/1/17 17:02, Willy Tarreau wrote:
> Hi Patrick,
>
> On Tue, Jan 17, 2017 at 02:33:44AM +0000, Patrick Hemmer wrote:
>> So on one of my local development machines haproxy started pegging the
>> CPU at 100%
>> `strace -T` on the process just shows:
>>
>> ...
>> epoll_wait(0, {}, 200, 0)               = 0 <0.000003>
>> epoll_wait(0, {}, 200, 0)               = 0 <0.000003>
>> epoll_wait(0, {}, 200, 0)               = 0 <0.000003>
>> epoll_wait(0, {}, 200, 0)               = 0 <0.000003>
>> epoll_wait(0, {}, 200, 0)               = 0 <0.000003>
>> epoll_wait(0, {}, 200, 0)               = 0 <0.000003>
>> ...
> Hmm not good.
>
>> Opening it up with gdb, the backtrace shows:
>>
>> (gdb) bt
>> #0  0x00007f4d18ba82a3 in __epoll_wait_nocancel () from /lib64/libc.so.6
>> #1  0x00007f4d1a570ebc in _do_poll (p=<optimized out>, exp=-1440976915)
>> at src/ev_epoll.c:125
>> #2  0x00007f4d1a4d3098 in run_poll_loop () at src/haproxy.c:1737
>> #3  0x00007f4d1a4cf2c0 in main (argc=<optimized out>, argv=<optimized
>> out>) at src/haproxy.c:2097
> Ok so an event is not being processed correctly.
>
>> This is haproxy 1.7.0 on CentOS/7
> Ah, that could be a clue. We've had 2 or 3 very ugly bugs in 1.7.0
> and 1.7.1. One of them is responsible for the few outages on haproxy.org
> (last one happened today, I left it running to get the core to confirm).
> One of them is an issue with the condition to wake up an applet when it
> failed to get a buffer first and it could be what you're seeing. The
> other ones could possibly cause some memory corruption resulting in
> anything.
>
> Thus I'd strongly urge you to update this one to 1.7.2 (which I'm going
> to do on haproxy.org now that I could get a core). Continue to monitor
> it but I'd feel much safer after this update.
>
> Thanks for your report!
> Willy
>
So I just had this issue recur, this time on version 1.7.2.

-Patrick

Reply via email to