On Tue, Jan 12, 2021 at 08:31:46PM +0100, Sebastian Benoit wrote: > Florian Obser([email protected]) on 2021.01.12 17:56:28 +0100: > > On Tue, Jan 12, 2021 at 09:52:03AM -0700, Bob Beck wrote: > > > > > > > > > > > > On Tue, Jan 12, 2021 at 05:47:36PM +0100, Florian Obser wrote: > > > > On Tue, Jan 12, 2021 at 09:40:51AM -0700, Bob Beck wrote: > > > > > > > > > > On Tue, Jan 12, 2021 at 04:45:32PM +0100, Solene Rapenne wrote: > > > > > > Hello, > > > > > > > > > > > > it seems www.openbsd.org is down since 14h46 UTC > > > > > > If I remember correctly you are the right person to tell about it. > > > > > > > > > > > > Regards > > > > > > Sol??ne > > > > > > > > > > Yes, It appears that httpd ran low on file descriptors, and decided > > > > > to fix > > > > > that by exiting rather than murdering connections or refusing to > > > > > service more. > > > > > I'd probably say that's not optimal behaviour for httpd. (even > > > > > closing all active > > > > > connections and restarting is preferable to just exiting). > > > > > > > > > > ... > > > > > Jan 12 07:35:01 r230-1 httpd[57093]: ftp.openbsd.org 64.62.252.163 - > > > > > - [12/Jan/2021:07:35:01 -0700] "GET > > > > > /pub/OpenBSD/snapshots/packages/mips64/vlorb-1.2p0.tgz HTTP/1.1" 200 > > > > > 13103 "" "The Knowledge AI" > > > > > Jan 12 07:35:01 r230-1 httpd[57093]: ftp.openbsd.org 64.62.252.163 - > > > > > - [12/Jan/2021:07:35:01 -0700] "GET > > > > > /pub/OpenBSD/snapshots/packages/mips64/vmdktool-1.4.tgz HTTP/1.1" 200 > > > > > 15583 "" "The Knowledge AI" > > > > > > > > What happened between 07:35:01 and 07:36:19? > > > > > > Aha. well spotted.. > > > > > > This: > > > > > > # Tuesday 7:35 AM reboot > > > 35 7 * * 2 /sbin/reboot > > > > > > which I have had to resort to since moving to 6.8 because of the > > > previously > > > reported issues with the kernel. > > > > > > So that failure was on startup.. interesting. > > > > Not really :( > > It's that stupid thing where it creates O(n^2) amount of FDs to pass > > between the children to create a full mesh. > > I thought that was fixed a long time ago: (cvs log proc.c) > > revision 1.34 > date: 2016/10/12 10:57:30; author: reyk; state: Exp; lines: +25 -6; > commitid: bwf7lQ6uLNV5t > Xt6; > Prevent fd exhaustion in the parent when loading the listening server > sockets by sending the fd one-by-one. This allows to start httpd with > max 32 server instances and many server sockets without changing the > default rlimits in any way. > > OK rzalamena@ > ---------------------------- > revision 1.33 > date: 2016/10/10 21:53:46; author: rzalamena; state: Exp; lines: +74 -67; > commitid: BQZEgC72oHV7PZWc; > Modify httpd(8)'s proc.c to use less file descriptors during the daemon > start up. To achieve this proc_init() initiates only the necessary pipes > between child and parent, allocate and distribute fds in proc_connect(). > > In case of configuration checks ('-n') we do nothing in proc_init() and > proc_connect(). > > ok reyk@ >
Maybe the fix is not good enough. I assume that openbsd.org is reasonably busy and that on startup the accept queue could be reasonably long. So maybe the system starts acception connections while the setup imsg are still in flight and this is why the limit is hit. This is just speculation and I will now walk away from this trap :) -- :wq Claudio
