"GOT", but the "O" is a cute, smiling pufferfish. Index | Thread | Search

From:
Stefan Sperling <stsp@stsp.name>
Subject:
Re: got send failure
To:
Christian Weisgerber <naddy@mips.inka.de>
Cc:
gameoftrees@openbsd.org
Date:
Sat, 28 Aug 2021 18:03:27 +0200

Download raw body.

Thread
On Sat, Aug 28, 2021 at 05:20:24PM +0200, Christian Weisgerber wrote:
> $ got send
> Connecting to "origin" stsp_gitolite@git.gameoftrees.org
> packing 1 reference; 10 objects; deltify: 100%; uploading pack:   23.6K 100%fatal: missing blob object '7de2767444a19ea67be04143f1677a1e6e9a08d7'
> fatal: missing blob object '7de2767444a19ea67be04143f1677a1e6e9a08d7'
> got-send-pack: unexpected message from server
> 
> got: bad packet received
> 
> 
> The blob in question does exist...
> 
> $ got tree -i regress/cmdline
> [...]
> 7de2767444a19ea67be04143f1677a1e6e9a08d7 histedit.sh*
> [...]
> 
> ... and should be part of the commit I'm trying to send.
> 
> What do I do now?

This will require some debugging.
Can you repeat this with the following patch applied?
Does it print anything regarding the missing blob or tree objects
that this blob depends on being included?

Any object to be included in the pack should pass through add_meta()
with a non-NULL v pointer.

diff 27b75514d9b1c8e9f188ef9c483760647a8c1b72 /home/stsp/src/got
blob - 1455b6df378eb19d397ce2e3d3588af5a0256490
file + lib/pack_create.c
--- lib/pack_create.c
+++ lib/pack_create.c
@@ -318,6 +318,14 @@ add_meta(struct got_pack_metavec *v, struct got_object
 	if (err)
 		return err;
 
+	{
+	char *id_str;
+	got_object_id_str(&id_str, id);
+	fprintf(stderr, "%s: v=%p id=%s type=%d path=%s\n", __func__,
+	    v, id_str, obj_type, path);
+	free(id_str);
+	}
+
 	if (v == NULL)
 		return NULL;