Both under OpenBSD 5.0 and
OpenBSD foo 5.1 GENERIC.MP#188 i386
relayd dies under load.
The setup is very simple:
redirect http.quotes.netfonds.dk {
listen on 192.168.0.10 port http interface em0
tag RELAYD
forward to <webhosts> port 9204 check http "/foo" code 200
}
relayd comes up as normal:
host 80.91.234.141, check http code (37ms), state unknown -> up, availability
100.00%
host 80.91.234.142, check http code (37ms), state unknown -> up, availability
100.00%
and I can run apache-bench successfully:
$ ab -n 1000 -c 20 http://192.168.0.10/foo
But after doing this a few times, relayd invariably dies, first saying
that the web servers are down:
host 80.91.234.141, check http code (0ms), state up -> down, availability 83.33%
host 80.91.234.142, check http code (0ms), state up -> down, availability 83.33%
relayd in free(): error: bogus pointer (double free?) 0x7d716800
lost child: hce terminated; signal 6
pfe exiting, pid 9938
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog http://lars.ingebrigtsen.no/