This is a bug in JGit (issue 408). TLDR: The newer git client is optimized to send less data on the wire. JGit expects to send complete data, but there are also local git scenarios that can optimize sending objects. By default, all content that JGit requires to be sent is complete and referenceable.
If you encounter this situation, the solution is to temporarily disable the reachability check and push of received packets, and then re-enable the settings.
git.checkReferencedObjectsAreReachable = false
Add the above code to the server configuration of GitBlit to ensure that the push is successful.
After the push is successful, comment this configuration again, using the # comment, so that it can be turned on next time you need it.