Solaris ioctl +"unexpected end of file"
In high throughput scenarios, lighttpd very often (200000/1000000 requests - 20%) resets connections with the message in the error log:
2009-05-25 19:17:30: (../../../lighttpd-1.4.20/src/connections.c.334) unexpected end-of-file: 14
I looked in the web for Solaris, and found out from Sun that ioctl is not very reliable, it can return error on a correct read, and instead read should handle its own errors.
Client is a custom multithreaded benchmarking tool, gw, which loads/rates HTTP & WAP gateways & servers. Lighttpd is 1.4.20, 64bit, for Solaris 10.5 amd, compiled with:
CFLAGS="-O6 -m64 -s -Wall" CPPFLAGS="-I/usr/local/64/include" ../../lighttpd-1.4.20/configure --with-openssl=/usr/local/64/ssl --prefix=/usr/local/64 --disable-ipv6 --without-ldap --without-valgrind --without-kerberos5 --without-attr --enable-cgi --disable-rrdtool --enable-ssi --with-gnu-ld --disable-pcre --disable-setenv --disable-trigger_b4_dl
A quick search in your fora and tickets, didn't reveal anything about this issue. Lighttpd configuration attached.
Also available in: Atom