"John Dlugosz" [off-list ref] writes:
Developer B runs git fsck --full, gets no errors but one dangling blob.
Does a push. No errors.
Now, on the upstream repo, I run fsck, and find a bunch of danglings (as
always) and a missing blob.
Any fetch from that repo will fail, due to that missing blob.
What's going on? How can I fix his local repository, other than...
It sounds like there is nothing to fix in "his local repository"; the
error is in your "upstream repo".
The dangling objects can happen if you push over dumb transport and
interrupt in the middle, or you force a push of a rewound branch, so it
does not necessarily indicate any errors, but a missing object is always
an error.