hi there,
Just upgraded a production node from 1.4.18 to 1.5-dev22.
Ran fine for a couple of minutes then crashed with the following kernel
messages:
WARNING: at mm/page_alloc.c:2107 __alloc_pages_nodemask+0x1fd/0x790()
Hardware name: X9SRE/X9SRE-3F/X9SRi/X9SRi-3F
Pid: 23190, comm: haproxy Not tainted 3.2.13-grsec-xxxx-grs-ipv6-64 #1
Call Trace:
[<ffffffff810f1ded>] ? __alloc_pages_nodemask+0x1fd/0x790
[<ffffffff81089f3b>] warn_slowpath_common+0x7b/0xc0
[<ffffffff81089f95>] warn_slowpath_null+0x15/0x20
[<ffffffff810f1ded>] __alloc_pages_nodemask+0x1fd/0x790
[<ffffffff8196f7c2>] ? __domain_mapping+0x1a2/0x330
[<ffffffff8196fd38>] ? __intel_map_single+0x108/0x240
[<ffffffff8111dfb7>] alloc_pages_current+0xa7/0x120
[<ffffffff810f0f29>] __get_free_pages+0x9/0x40
[<ffffffff81126347>] __kmalloc+0xf7/0x100
[<ffffffff815f8002>] dma_pin_iovec_pages+0xa2/0x2e0
[<ffffffff81b4bed1>] ? _raw_spin_lock_bh+0x11/0x40
[<ffffffff819e5801>] tcp_recvmsg+0x8b1/0xd40
[<ffffffff810408d8>] ? __switch_to+0x2a8/0x330
[<ffffffff81a08e6b>] inet_recvmsg+0x4b/0x90
[<ffffffff81976597>] sock_recvmsg+0xf7/0x130
[<ffffffff81584f05>] ? timerqueue_del+0x35/0x90
[<ffffffff810ace90>] ? __remove_hrtimer+0x60/0xc0
[<ffffffff810ad911>] ? hrtimer_try_to_cancel+0x41/0x80
[<ffffffff81973ab8>] ? sock_poll+0x18/0x20
[<ffffffff8157b900>] ? gr_search_connectbind+0x50/0x4f0
[<ffffffff81b4be4f>] ? _raw_spin_unlock_bh+0xf/0x20
[<ffffffff8197a0d7>] ? release_sock+0x107/0x110
[<ffffffff81976f5b>] sys_recvfrom+0xbb/0x120
[<ffffffff81977b91>] ? sys_connect+0xd1/0xe0
[<ffffffff81b4c6b6>] system_call_fastpath+0x18/0x1d
---[ end trace fd24420cbf76a64f ]---
Running Ubuntu server 12.04.04 LTS.
Here are the compilation flags:
# /path/to/haproxy/sbin/haproxy -vv
HA-Proxy version 1.5-dev22-653dcd6 2014/02/20
Copyright 2000-2014 Willy Tarreau <[email protected]>
Build options :
TARGET = linux2628
CPU = native
CC = gcc
CFLAGS = -O2 -march=native -g -fno-strict-aliasing -fstack-protector
--param=ssp-buffer-size=4 -Wformat -Werror=format-security
-D_FORTIFY_SOURCE=2
OPTIONS = USE_OPENSSL=1 USE_PCRE=1
Default settings :
maxconn = 2000, bufsize = 16384, maxrewrite = 8192, maxpollevents =
200
Encrypted password support via crypt(3): yes
Built without zlib support (USE_ZLIB not set)
Compression algorithms supported : identity
Built with OpenSSL version : OpenSSL 1.0.1f 6 Jan 2014
Running on OpenSSL version : OpenSSL 1.0.1f 6 Jan 2014
OpenSSL library supports TLS extensions : yes
OpenSSL library supports SNI : yes
OpenSSL library supports prefer-server-ciphers : yes
Built with PCRE version : 8.12 2011-01-15
PCRE library supports JIT : no (USE_PCRE_JIT not set)
Built with transparent proxy support using: IP_TRANSPARENT
IPV6_TRANSPARENT IP_FREEBIND
Available polling systems :
epoll : pref=300, test result OK
poll : pref=200, test result OK
select : pref=150, test result OK
Total: 3 (3 usable), will use epoll.
I have never experienced a single haproxy crash before.
Reverted to 1.4.18 (using the same unchanged haproxy configuration),
everything is running fine again.
Any idea of what is happening here?
Thanks!
Cedric