mirror of
https://github.com/go-gitea/gitea.git
synced 2026-03-22 14:34:54 -05:00
Some existing and all new PRs for a given repository are broken #12807
Open
opened 2025-11-02 10:21:36 -06:00 by GiteaMirror
·
13 comments
No Branch/Tag Specified
main
release/v1.25
release/v1.24
release/v1.23
release/v1.22
release/v1.21
release/v1.20
release/v1.19
release/v1.18
release/v1.17
release/v1.16
release/v1.15
release/v1.14
release/v1.13
release/v1.12
release/v1.11
release/v1.10
release/v1.9
release/v1.8
v1.25.3
v1.25.2
v1.25.1
v1.25.0
v1.24.7
v1.25.0-rc0
v1.26.0-dev
v1.24.6
v1.24.5
v1.24.4
v1.24.3
v1.24.2
v1.24.1
v1.24.0
v1.23.8
v1.24.0-rc0
v1.25.0-dev
v1.23.7
v1.23.6
v1.23.5
v1.23.4
v1.23.3
v1.23.2
v1.23.1
v1.23.0
v1.23.0-rc0
v1.24.0-dev
v1.22.6
v1.22.5
v1.22.4
v1.22.3
v1.22.2
v1.22.1
v1.22.0
v1.23.0-dev
v1.22.0-rc1
v1.21.11
v1.22.0-rc0
v1.21.10
v1.21.9
v1.21.8
v1.21.7
v1.21.6
v1.21.5
v1.21.4
v1.21.3
v1.21.2
v1.20.6
v1.21.1
v1.21.0
v1.21.0-rc2
v1.21.0-rc1
v1.20.5
v1.22.0-dev
v1.21.0-rc0
v1.20.4
v1.20.3
v1.20.2
v1.20.1
v1.20.0
v1.19.4
v1.21.0-dev
v1.20.0-rc2
v1.20.0-rc1
v1.20.0-rc0
v1.19.3
v1.19.2
v1.19.1
v1.19.0
v1.19.0-rc1
v1.20.0-dev
v1.19.0-rc0
v1.18.5
v1.18.4
v1.18.3
v1.18.2
v1.18.1
v1.18.0
v1.17.4
v1.18.0-rc1
v1.19.0-dev
v1.18.0-rc0
v1.17.3
v1.17.2
v1.17.1
v1.17.0
v1.17.0-rc2
v1.16.9
v1.17.0-rc1
v1.18.0-dev
v1.16.8
v1.16.7
v1.16.6
v1.16.5
v1.16.4
v1.16.3
v1.16.2
v1.16.1
v1.16.0
v1.15.11
v1.17.0-dev
v1.16.0-rc1
v1.15.10
v1.15.9
v1.15.8
v1.15.7
v1.15.6
v1.15.5
v1.15.4
v1.15.3
v1.15.2
v1.15.1
v1.14.7
v1.15.0
v1.15.0-rc3
v1.14.6
v1.15.0-rc2
v1.14.5
v1.16.0-dev
v1.15.0-rc1
v1.14.4
v1.14.3
v1.14.2
v1.14.1
v1.14.0
v1.13.7
v1.14.0-rc2
v1.13.6
v1.13.5
v1.14.0-rc1
v1.15.0-dev
v1.13.4
v1.13.3
v1.13.2
v1.13.1
v1.13.0
v1.12.6
v1.13.0-rc2
v1.14.0-dev
v1.13.0-rc1
v1.12.5
v1.12.4
v1.12.3
v1.12.2
v1.12.1
v1.11.8
v1.12.0
v1.11.7
v1.12.0-rc2
v1.11.6
v1.12.0-rc1
v1.13.0-dev
v1.11.5
v1.11.4
v1.11.3
v1.10.6
v1.12.0-dev
v1.11.2
v1.10.5
v1.11.1
v1.10.4
v1.11.0
v1.11.0-rc2
v1.10.3
v1.11.0-rc1
v1.10.2
v1.10.1
v1.10.0
v1.9.6
v1.9.5
v1.10.0-rc2
v1.11.0-dev
v1.10.0-rc1
v1.9.4
v1.9.3
v1.9.2
v1.9.1
v1.9.0
v1.9.0-rc2
v1.10.0-dev
v1.9.0-rc1
v1.8.3
v1.8.2
v1.8.1
v1.8.0
v1.8.0-rc3
v1.7.6
v1.8.0-rc2
v1.7.5
v1.8.0-rc1
v1.9.0-dev
v1.7.4
v1.7.3
v1.7.2
v1.7.1
v1.7.0
v1.7.0-rc3
v1.6.4
v1.7.0-rc2
v1.6.3
v1.7.0-rc1
v1.7.0-dev
v1.6.2
v1.6.1
v1.6.0
v1.6.0-rc2
v1.5.3
v1.6.0-rc1
v1.6.0-dev
v1.5.2
v1.5.1
v1.5.0
v1.5.0-rc2
v1.5.0-rc1
v1.5.0-dev
v1.4.3
v1.4.2
v1.4.1
v1.4.0
v1.4.0-rc3
v1.4.0-rc2
v1.3.3
v1.4.0-rc1
v1.3.2
v1.3.1
v1.3.0
v1.3.0-rc2
v1.3.0-rc1
v1.2.3
v1.2.2
v1.2.1
v1.2.0
v1.2.0-rc3
v1.2.0-rc2
v1.1.4
v1.2.0-rc1
v1.1.3
v1.1.2
v1.1.1
v1.1.0
v1.0.2
v1.0.1
v1.0.0
v0.9.99
Labels
Clear labels
$20
$250
$50
$500
backport/done
💎 Bounty
docs-update-needed
good first issue
hacktoberfest
issue/bounty
issue/confirmed
issue/critical
issue/duplicate
issue/needs-feedback
issue/not-a-bug
issue/regression
issue/stale
issue/workaround
lgtm/need 2
modifies/api
modifies/translation
outdated/backport/v1.18
outdated/theme/markdown
outdated/theme/timetracker
performance/bigrepo
performance/cpu
performance/memory
performance/speed
pr/breaking
proposal/accepted
proposal/rejected
pr/wip
pull-request
reviewed/wontfix
💰 Rewarded
skip-changelog
status/blocked
topic/accessibility
topic/api
topic/authentication
topic/build
topic/code-linting
topic/commit-signing
topic/content-rendering
topic/deployment
topic/distribution
topic/federation
topic/gitea-actions
topic/issues
topic/lfs
topic/mobile
topic/moderation
topic/packages
topic/pr
topic/projects
topic/repo
topic/repo-migration
topic/security
topic/theme
topic/ui
topic/ui-interaction
topic/ux
topic/webhooks
topic/wiki
type/bug
type/deprecation
type/docs
type/enhancement
type/feature
type/miscellaneous
type/proposal
type/question
type/refactoring
type/summary
type/testing
type/upstream
Mirrored from GitHub Pull Request
No Label
type/bug
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/gitea#12807
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Chippit on GitHub (Apr 9, 2024).
Description
One of our Gitea repositories has found itself in a strange state where:
Some supplementary information based on a minor investigation I did:
refs/pulldirectory.refs/pulldirectory but it is empty.info/refsrefs/pulldirectory with no change in behaviour.refs/pull.The attached logs were captured in trace mode and are all entries printed around when a new PR was opened (and the user receives a 500 error)
Gitea Version
1.21.1
Can you reproduce the bug on the Gitea demo site?
No
Log Gist
https://gist.github.com/Chippit/be5a1616958d74a4aa61954bd520e32b
Screenshots
No response
Git Version
git version 2.25.1
Operating System
Ubuntu 20.04.6 LTS
How are you running Gitea?
Our instance is deployed from binary distributions retrieved via github, and is managed via a Systemd unit, on virtualised hardware.
Database
MySQL/MariaDB
@lunny commented on GitHub (Apr 9, 2024):
Push failed because of some reason. Can you check whether the repository is normal?
/var/lib/gitea/data/gitea-repositories/<redacted>/<redacted project name>.git@Chippit commented on GitHub (Apr 9, 2024):
Yeah, I don't see anything wrong with it. Pushing and pulling from clients works fine too. All the expected bare repo files are intact at that path, and I can execute stuff like
git logfrom within it and it works as expected. File permissions are all okay, as well.Is there anything else I should check?
@lunny commented on GitHub (Apr 9, 2024):
Maybe you can check the permission of
refs/pull/*.*.@Chippit commented on GitHub (Apr 9, 2024):
Unfortunately, as I mentioned in my description above,
refs/pullis completely empty. (Though corresponding items still existed ininfo/refs)@lunny commented on GitHub (Apr 9, 2024):
So maybe you can check the permission of
refs/pullMaybe the dirs/files cannot be created under that directory.@Chippit commented on GitHub (Apr 10, 2024):
Permissions all seem fine:
It also seems like this issue has now extended to another repository as well. That one still has all its prior entries in
refs/pullbut now presents this new issue. Some existing PRs there are broken, and no new ones can be made, with the same error in the log and the same 500 error in the frontend.@lunny commented on GitHub (Apr 10, 2024):
How does your Gitea instance run? With docker or systemd?
@Chippit commented on GitHub (Apr 10, 2024):
As mentioned in the ticket, we are running with systemd.
I think I have solved the problem however.
I tried running the command from the trace log interactively. It fails the same way.
However, executing it with
--no-verifyworked fine.I went to check and the failing repos all contained git-lfs hook files. These are not present in other repos.
After removing them, it seems the PRs once again work correctly.
This ticket and this one made me a bit suspicious of the hooks. While I did try reset all the hooks from the admin interface when this issue first came up, as prompted by the first issue, I didn't scrutinize the ones present inside the broken repos particularly. (I'm not that familiar with which ones are expected and which ones aren't so I'm not sure I'd have spotted anything wrong at first glance anyway). But it seems the lfs hooks were causing the pushes to fail.
After doing this, we are once again able to open new ones. And previously broken ones work again after new commits are pushed to their branches.
It does raise the question, though: how did these get here? Are they SUPPOSED to be there? We have been using this gitea instance for about a year now with no issues, until yesterday, so something must have triggered this behaviour.
Our system runs the latest available git-lfs from the debian/ubuntu repositories, but it does seem like there is a much newer version of git lfs available via packagecloud repos. Should we install those instead?
@lunny commented on GitHub (Apr 11, 2024):
From the design of Gitea, those hooks should not be there.
@Chippit commented on GitHub (Apr 11, 2024):
Okay, well it seems this is a valid resolution then.
While I am concerned about how this happened in the first place, and it would be nice to know how to ensure that it doesn't happen again both for us and for other users, I suppose it's okay to close this issue. Thank you for your help.
@Chippit commented on GitHub (Apr 12, 2024):
Okay, I have figured out how to reproduce this.
If I use this feature to download an archive of a repository as a zip file, then those hooks are recreated in the repo. Afterwards, this issue recurs.

@lenianiva commented on GitHub (Aug 4, 2024):
I have a similar problem, but the hooks mentioned above don't exist:
@lunny commented on GitHub (Aug 29, 2024):
Maybe fixed by #31931