From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.2 required=3.0 tests=ALL_TRUSTED,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 47A991F54E for ; Tue, 2 Aug 2022 06:54:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=80x24.org; s=selector1; t=1659423276; bh=uU1A1QyfGO7X8U/mDj51r8gQdrhkhZLqEqu4V0mXNTI=; h=Date:From:To:Subject:From; b=X4QT5oANfUvakzO3t/0D6oEwEgc8vvwJ7JKI937wBFPoSYG8bqvLZIMenUwlqnHwR me8rYr1hlBaUtiF2stuxAQPfXE8b7qVNKjv3Ld98ETRmlfPdIU2XStLQdODIFiauxu 8qfAE9Kn3EQj4OC/N9Ta3kVYOrlliyPXovhZwP4g= Date: Tue, 2 Aug 2022 06:54:36 +0000 From: Eric Wong To: meta@public-inbox.org Subject: httpd GzipFilter::zflush error, anyone else seen this? Message-ID: <20220802065436.GA13935@dcvr> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline List-Id: I'm getting this from inside the PublicInbox::GzipFilter::zflush error: forward ->close error: Can't call method "flush" on an undefined value at ../PublicInbox/GzipFilter.pm I'm not concerned for the error itself, really; it's that I'm more surprised I haven't seen it in the past. A backtrace confirms it's triggered by a DS->write failure, which is common for network servers facing the Internet. Of course, I haven't paid much attention to syslog in ages and don't store logs for long; so I just noticed it a few times since I've started running -netd (and moving away from separate -httpd/-imapd/-pop3d/-imapd). Anyways, I think the following should quiet the error message: diff --git a/lib/PublicInbox/GzipFilter.pm b/lib/PublicInbox/GzipFilter.pm index e37f1f76..6a25fb8d 100644 --- a/lib/PublicInbox/GzipFilter.pm +++ b/lib/PublicInbox/GzipFilter.pm @@ -153,6 +153,7 @@ sub zflush ($;$) { $err = $gz->deflate($_[1], $zbuf); die "gzip->deflate: $err" if $err != Z_OK; } + $gz // return; # recursing on DS->write failure $err = $gz->flush($zbuf); die "gzip->flush: $err" if $err != Z_OK; $zbuf;