Date: Tue, 25 Aug 2015 20:17:57 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-ports-bugs@FreeBSD.org Subject: [Bug 202637] www/lighttpd: 1.4.36 has header corruption, and breaks under load Message-ID: <bug-202637-13-LIvDIZwmSk@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-202637-13@https.bugs.freebsd.org/bugzilla/> References: <bug-202637-13@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=202637 --- Comment #3 from Peter Wemm <peter@FreeBSD.org> --- All that's left: # egrep -v '(^#|^$)' lighttpd.conf conf.d/*.conf lighttpd.conf:var.log_root = "/logs" lighttpd.conf:var.server_root = "/data" lighttpd.conf:var.state_dir = "/var/run" lighttpd.conf:var.conf_dir = "/etc" lighttpd.conf:server.chroot = "/usr/local/www" lighttpd.conf:var.vhosts_dir = server_root + "/vhosts" lighttpd.conf:var.cache_dir = "/var/cache/lighttpd" lighttpd.conf:var.socket_dir = "/sockets" lighttpd.conf:include "modules.conf" lighttpd.conf:server.port = 80 lighttpd.conf:server.bind = "149.20.53.26" lighttpd.conf:$SERVER["socket"] == "[2001:4f8:3:ffe0:406a:0:16:1a]:80" { } lighttpd.conf:server.username = "www" lighttpd.conf:server.groupname = "www" lighttpd.conf:server.document-root = "/data/" lighttpd.conf:server.tag = "lighttpd" lighttpd.conf:server.pid-file = state_dir + "/lighttpd.pid" lighttpd.conf:server.errorlog = log_root + "/error.log" lighttpd.conf:include "conf.d/access_log.conf" lighttpd.conf:include "conf.d/debug.conf" lighttpd.conf:server.event-handler = "freebsd-kqueue" lighttpd.conf:server.network-backend = "write" lighttpd.conf:server.max-fds = 40960 lighttpd.conf:server.stat-cache-engine = "simple" lighttpd.conf:server.max-connections = 20480 lighttpd.conf:server.max-keep-alive-idle = 5 lighttpd.conf:server.max-keep-alive-requests = 1024 lighttpd.conf:server.max-request-size = 512 lighttpd.conf:index-file.names += ( lighttpd.conf: "index.xhtml", "index.html", "index.htm", "default.htm", "index.php" lighttpd.conf:) lighttpd.conf:url.access-deny = ( "~", ".inc", ".swp" ) lighttpd.conf:$HTTP["url"] =~ "\.pdf$" { lighttpd.conf: server.range-requests = "disable" lighttpd.conf:} lighttpd.conf:static-file.exclude-extensions = ( ".php", ".pl", ".fcgi", ".scgi" ) lighttpd.conf:include "conf.d/mime.conf" lighttpd.conf:include "conf.d/dirlisting.conf" lighttpd.conf:server.follow-symlink = "disable" lighttpd.conf:server.upload-dirs = ( "/var/tmp/" ) conf.d/dirlisting.conf:dir-listing.activate = "enable" conf.d/dirlisting.conf:dir-listing.hide-dotfiles = "disable" conf.d/dirlisting.conf:dir-listing.exclude = ( "~$" ) conf.d/dirlisting.conf:dir-listing.encoding = "UTF-8" conf.d/dirlisting.conf:dir-listing.hide-header-file = "disable" conf.d/dirlisting.conf:dir-listing.show-header = "disable" conf.d/dirlisting.conf:dir-listing.hide-readme-file = "disable" conf.d/dirlisting.conf:dir-listing.show-readme = "disable" The the conf files not shown here were deleted by 'pkg delete' as they were stock / unmodified. We saw it on the freebsd-update and portsnap servers. They typically have a very very large number of files with long file names. The file names are usually sha256 of the file itself. The easiest way to trigger it was: # find 10.2-RELEASE/amd64/f -type f >/tmp/flist (this generates about 66000 files) somewhere else: xargs -P8 /usr/libexec/phttpget servername.freebsd.org < /tmp/flist and watch the sporadic '400 bad request'. With 1.4.35_05, it runs without the error 400s. /usr/libexec/phttpget is src/usr.sbin/portsnap/phttpget/* - it does pipelined http fetches. If you have debug.conf log failed requests, you can see it reporting what appears to be truncated request headers. -- You are receiving this mail because: You are the assignee for the bug.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-202637-13-LIvDIZwmSk>