From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 17257 invoked from network); 21 Dec 2020 19:31:35 -0000 Received: from krantz.zx2c4.com (192.95.5.69) by inbox.vuxu.org with ESMTPUTF8; 21 Dec 2020 19:31:35 -0000 Received: by krantz.zx2c4.com (ZX2C4 Mail Server) with ESMTP id ea101581; Mon, 21 Dec 2020 19:22:28 +0000 (UTC) Return-Path: Received: from sdaoden.eu (sdaoden.eu [217.144.132.164]) by krantz.zx2c4.com (ZX2C4 Mail Server) with ESMTPS id 5317eb47 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO) for ; Mon, 21 Dec 2020 19:22:25 +0000 (UTC) Received: by sdaoden.eu (Postfix, from userid 1000) id C6B0F16057; Mon, 21 Dec 2020 20:31:28 +0100 (CET) Date: Mon, 21 Dec 2020 20:31:27 +0100 From: Steffen Nurpmeso To: John Keeping Cc: cgit@lists.zx2c4.com Subject: Re: cgit 1.2.3: lighttpd 1.4.57, AlpineLinux [edge]: using cache breaks delivery Message-ID: <20201221193127.zbZeP%steffen@sdaoden.eu> In-Reply-To: References: <20201221162619.wYrRU%steffen@sdaoden.eu> User-Agent: s-nail v14.9.20-84-g7268a84d OpenPGP: id=EE19E1C1F2F7054F8D3954D8308964B51883A0DD; url=https://ftp.sdaoden.eu/steffen.asc; preference=signencrypt BlahBlahBlah: Any stupid boy can crush a beetle. But all the professors in the world can make no bugs. X-BeenThere: cgit@lists.zx2c4.com X-Mailman-Version: 2.1.30rc1 Precedence: list List-Id: List for cgit developers and users List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: cgit-bounces@lists.zx2c4.com Sender: "CGit" Hi. John Keeping wrote in : |On Mon, Dec 21, 2020 at 05:26:19PM +0100, Steffen Nurpmeso wrote: |> I discovered today that cgit no longer delivers pages, and it must |> have been like that for some time. The server looks show |> successful delivery, the cgit cache is populated and rotated just |> correctly, but all cgit delivers is that final error of main() as |> |>
Error processing page: Invalid argument (22)
|> |> (surely a misconfiguration that this is not a real HTML page, |> i recall it took some time to figure out about about-filter, just |> "doing it" (
cat(1)
)). |> |> If i set "cache-size=0" then the desired page is delivered. |> Note the cache itself is managed as usual with the default |> cache-size=1999. |> |> The files in the cache are 0600, i thought maybe that was it, but |> the setting is actively reverted to this mask (i never looked at |> cgit code except grepping the error). It has always been so, the |> oldest cache entry was |> |> -rw------- 1 lighttpd lighttpd 3023 Mar 18 2018 d2200000 |> |> I am pretty sure cgit delivered some weeks ago, the most notable |> difference is that AlpineLinux switched to Lighttpd 1.4.56 then |> .57, which seems to have brought tremendous changes under the |> hood, like HTTP/2 support and OCSP as well as support for all the |> different TLS libraries, whereas before it only was OpenSSL and |> compatibles, i think. We have HTTP/2 not enabled yet. |> |> Anything i can do about this? | |Have you looked at the log output? Yes, sorry, terrible mess above. Monday and no end. - Logs show nothing. I enabled debug.log-request-handling = "enable" but that showed nothing. But wait, there was server.breakagelog that was needed .. as below! |This error comes from cgit.c::cmd_main() as a result of |cache.c::cache_process() returning an error. It looks like all of the Yes. |error paths there will write a more detailed error message to stderr. Unfortunately nothing .. but with breakaglog there is [cgit] error printing cache /var/lib/lighttpd/cgit/b1000000: Invalid argument (22) But the file was generated normally: # ll /var/lib/lighttpd/cgit/b1000000 -rw------- 1 lighttpd lighttpd 23417 Dec 21 20:22 /var/lib/lighttpd/cgit/b1000000 |I don't use lighttpd so I don't know whether that output is captured, |but normally output written to stderr will end up in a log file. Was server.breakagelog i had forgotten about. |>From a quick look at the code, given that the problem seems to be caused |by updating the web server, my guess is that you'll see the error: | | [cgit] error printing cache ...: Invalid argument (22) | |and this may be caused by sendfile(2) failing due to some difference in |how the web server is setting up the output file descriptor. You may |want to rebuild CGit without HAVE_LINUX_SENDFILE and see if that works. I did not know about 'cgi.x-sendfile = "enable"' yet, but setting it does not matter from cgit's point of view. |(If it does, we should add better fallback handling for the case where |stdout is not a valid output for sendfile().) Ok, i will hm do that mirroring the ArchLinux recipe and report back. Thanks! |John --End of --steffen | |Der Kragenbaer, The moon bear, |der holt sich munter he cheerfully and one by one |einen nach dem anderen runter wa.ks himself off |(By Robert Gernhardt)