user/dev discussion of public-inbox itself
 help / color / mirror / code / Atom feed
* solver: 'BUG {try_gits} empty' error
@ 2021-09-28 23:21 Kyle Meyer
  2021-09-29  0:14 ` [PATCH] inbox: do not vivify {-repo_objs} during cleanup Eric Wong
  0 siblings, 1 reply; 3+ messages in thread
From: Kyle Meyer @ 2021-09-28 23:21 UTC (permalink / raw)
  To: meta

I've been noticing a good number of these error messages:

  E: BUG {try_gits} empty at /usr/local/share/perl/5.28.1/PublicInbox/SolverGit.pm line 80.

I think I started seeing it after a recent upgrade.  (The last revision
bump on my server was from c9c1aabe2 to 840c1c80c, and the one before
that was from c497e38cf.)  It doesn't look like SolverGit.pm has changed
recently, but perhaps some upstream code changed.  Or perhaps I'm
completely wrong about it being new.

It doesn't seem to be particular to my server because I was able to
trigger it on <http://public-inbox.org/meta> too.  Two examples:

* http://public-inbox.org/meta/5ada1f49e4dc/s/?b=lib/PublicInbox/Fetch.pm#n6

  debug log:
  
  solving 5ada1f49e4dc ...
  E: BUG {try_gits} empty at /usr/local/share/perl/5.28.1/PublicInbox/SolverGit.pm line 80.


* http://public-inbox.org/meta/41438cf79b15/s/?b=xt/net_writer-imap.t#n122

  debug log:
  
  solving 41438cf79b15 ...
  E: BUG {try_gits} empty at /usr/local/share/perl/5.28.1/PublicInbox/SolverGit.pm line 80.

Both of those recovered after a bit (first hard refresh?).

Any ideas?

Thanks.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH] inbox: do not vivify {-repo_objs} during cleanup
  2021-09-28 23:21 solver: 'BUG {try_gits} empty' error Kyle Meyer
@ 2021-09-29  0:14 ` Eric Wong
  2021-09-29  0:55   ` Kyle Meyer
  0 siblings, 1 reply; 3+ messages in thread
From: Eric Wong @ 2021-09-29  0:14 UTC (permalink / raw)
  To: Kyle Meyer; +Cc: meta

Kyle Meyer <kyle@kyleam.com> wrote:
> I've been noticing a good number of these error messages:
>
>   E: BUG {try_gits} empty at /usr/local/share/perl/5.28.1/PublicInbox/SolverGit.pm line 80.

Thanks, the following should fix it (though I suppose @INC paths
should be cleaned in WWW):
------8<-----
Subject: [PATCH] inbox: do not vivify {-repo_objs} during cleanup

This caused config->repo_objs to not fill in {-repo_objs}
properly before starting solver.

Reported-by: Kyle Meyer <kyle@kyleam.com>
Link: https://public-inbox.org/meta/87o88cqobd.fsf@kyleam.com/
Fixes: 63d7b8ceee55a34 ("daemons: revamp periodic cleanup task")
---
 lib/PublicInbox/Inbox.pm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/PublicInbox/Inbox.pm b/lib/PublicInbox/Inbox.pm
index c525f4d1..95467d5a 100644
--- a/lib/PublicInbox/Inbox.pm
+++ b/lib/PublicInbox/Inbox.pm
@@ -30,7 +30,7 @@ sub do_cleanup {
 	my ($ibx) = @_;
 	my $live = git_cleanup($ibx);
 	$ibx->cleanup_shards and $live = 1;
-	for my $git (@{$ibx->{-repo_objs}}) {
+	for my $git (@{$ibx->{-repo_objs} // []}) {
 		$live = 1 if $git->cleanup(1);
 	}
 	delete @$ibx{qw(over mm description cloneurl

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] inbox: do not vivify {-repo_objs} during cleanup
  2021-09-29  0:14 ` [PATCH] inbox: do not vivify {-repo_objs} during cleanup Eric Wong
@ 2021-09-29  0:55   ` Kyle Meyer
  0 siblings, 0 replies; 3+ messages in thread
From: Kyle Meyer @ 2021-09-29  0:55 UTC (permalink / raw)
  To: Eric Wong; +Cc: meta

Eric Wong writes:

> Thanks, the following should fix it (though I suppose @INC paths
> should be cleaned in WWW):
> ------8<-----
> Subject: [PATCH] inbox: do not vivify {-repo_objs} during cleanup

Seems to do the trick.  Thank you!

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-09-29  0:55 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-28 23:21 solver: 'BUG {try_gits} empty' error Kyle Meyer
2021-09-29  0:14 ` [PATCH] inbox: do not vivify {-repo_objs} during cleanup Eric Wong
2021-09-29  0:55   ` Kyle Meyer

Code repositories for project(s) associated with this inbox:

	https://80x24.org/public-inbox.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).