From b80dccff433cc529040e3c11604d76f669570511 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Thu, 27 Aug 2020 07:51:25 +0000 Subject: [PATCH] git: show more context info on failures I'm seeing "read: Connection timed out" from in my syslog from -httpd. The fail() calls in PublicInbox::Git seems to be the only code path of ours which could trigger it... ETIMEDOUT shouldn't happen on pipes, only sockets; and all of our socket operations are non-blocking. So this could be cgit-wwwhighlight-filter.lua, but that's connecting over localhost, though on fairly loaded HW. --- lib/PublicInbox/Git.pm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/PublicInbox/Git.pm b/lib/PublicInbox/Git.pm index 7b2ada24..181026c7 100644 --- a/lib/PublicInbox/Git.pm +++ b/lib/PublicInbox/Git.pm @@ -17,6 +17,7 @@ use File::Glob qw(bsd_glob GLOB_NOSORT); use Time::HiRes qw(stat); use PublicInbox::Spawn qw(popen_rd); use PublicInbox::Tmpfile; +use Carp qw(croak); our @EXPORT_OK = qw(git_unquote git_quote); our $PIPE_BUFSIZ = 65536; # Linux default our $in_cleanup; @@ -319,7 +320,7 @@ sub cat_async_abort ($) { sub fail { my ($self, $msg) = @_; $self->{inflight} ? cat_async_abort($self) : cleanup($self); - die $msg; + croak("git $self->{git_dir}: $msg"); } sub popen { -- 2.44.0