mirror of
https://github.com/go-gitea/gitea.git
synced 2026-03-12 02:24:21 -05:00
Debian 9.6 AMD64: Segfault on start at os/user.Current (1.7.0+) #3287
Closed
opened 2025-11-02 05:06:40 -06:00 by GiteaMirror
·
19 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
topic/build
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#3287
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 @hendrikbl on GitHub (May 3, 2019).
[x]):Description
After upgrading from gitea version 1.6.4 to 1.7.0 (replacing gitea binary with new one) I'm unable to start gitea. The gitea service fails with the following message (
service gitea status):If I try to run it directly via
gitea webI get the following:Gist
More logs:
I get this error with every version greater than 1.6.4. All permissions were set the same with every version I tried. I haven't tried building gitea myself since this is something I only want to do if there really is no other way.
@zeripath commented on GitHub (May 3, 2019):
Are you running Gitea on a raspberry pi? If so there is a known problem with the arm7 binary and you need to use arm6.
If not what kernel version do you have? If it's very old you're likely to need to build Gitea yourself as we build on Ubuntu 18.04.
Finally, please don't run 1.7.0 there are a number of security issues in that version and we recommend 1.8 if not at least 1.7.6 (there are fixes in 1.8 that cannot be ported back to 1.7.6)
@hendrikbl commented on GitHub (May 6, 2019):
I'm on a virtual machine running Debian 9.6 x86_64 with kernel version 4.9.0-4-amd64.
I tried version 1.7.0, 1.7.6 and 1.8. They all give me the same error.
@zeripath commented on GitHub (May 6, 2019):
Ok.
Under what user are you trying to run Gitea?
And where? Things don't make sense.
The segfault looks like it's happening when Gitea tries to get the current username. That implies that you're running Gitea as a weird user.
Although you state:
/usr/local/bin/gitea web -c /etc/gitea/app.iniGitea seems to be trying get its config:
/usr/local/bin/custom/conf/app.iniNot in
/etc...What does your service file look like?
Does Gitea run when you just run it as a normal user from a normal directory?
@hendrikbl commented on GitHub (May 6, 2019):
I followed the documentation when first installing gitea. So gitea service is running as git user:
The binary is located at
/usr/local/bin. The working directory is/var/lib/gitea/. As seen in the documentation.Here's my service file: gitea.service
I tried running gitea as root and git from the corresponding home directory but i still get a segfault.
Thats my fault. The log I gave you was from running gitea without the
-cargument. Here are the three things I tried:git, Directory:/usr/local/bin- Gistgit, Directory:/home/git- Gistroot, Directory:home/root- GistSo the answer to this question is: No, I can't run gitea anywhere. The strange thing is that version 1.6.4 runs everytime on every circumstance. Everything thats newer than that fails.
Edit: Everything here was tested with version 1.8 of gitea.
@sapk commented on GitHub (May 6, 2019):
This thread on discourse seem related: https://discourse.gitea.io/t/solved-segfault-due-to-misconfigured-unix-user/1104
@zeripath commented on GitHub (May 6, 2019):
Hmm. It looks like this is:
https://github.com/golang/go/issues/24787
Which if I'm reading correctly causes panic on os/user.Current or Lookup for uid <1000.
Now it seems like it's suggested that we need to add more flags to our static build:
https://github.com/golang/go/issues/24787#issuecomment-387611691
But I bet a simple workaround is to have a uid>=1000. Now you may actually need that in any case because of the SSH requirements - in that if you want to clone over SSH you need to be able to login as that user and run authorized_keys or an authorized keys command which I'm not certain you can do as a uid <1000.
@sapk commented on GitHub (May 6, 2019):
@zeripath It is a pity that we need an other tag (
osusergo) likenetgobut if it ensure consistency across env we should add it.@hendrikbl commented on GitHub (May 6, 2019):
I tried running gitea with a new user with a uid>1000:
Still no luck. I get exactly the same. Current version 1.6.4 runs perfectly, everything above that fails.
Can I use the
gitea dumpcommand on my current version, create a fresh install of version 1.8 somewhere else and restore the dump? If that's the case I will try that.@lunny commented on GitHub (May 6, 2019):
@hendrikbl That's dump and restore are not guaranteed.
@zeripath commented on GitHub (May 6, 2019):
@hendrikbl I assume that by a uid > 1000 you haven't marked the user as a system user?
OK, so I wonder how we test this. I've just downloaded the docker debian:latest and that doesn't replicate the issue with 1.8.0
@zeripath commented on GitHub (May 6, 2019):
and I've just tried docker pull debian:9.6 and haven't got this issue either and 1.8 and 1.7.6
@hendrikbl commented on GitHub (May 6, 2019):
@zeripath correct, I just used
adduserand followed the setup without setting a password.Hmm, have you done everything according to the installation guide? Because that's what I did. I'll see if I can try this on a fresh debian install this week. I'm not sure when I have time for that though.
@zeripath commented on GitHub (May 6, 2019):
OK, I mean I can start from the command line - I think getting systemd started on a debian docker is fairly difficult.
@zeripath commented on GitHub (May 6, 2019):
Oh I did add a password though...Nope that doesn't seem to matter@zeripath commented on GitHub (May 6, 2019):
@zeripath commented on GitHub (May 6, 2019):
Damn if we can't replicate this we can't be sure that osusergo will actually fix it.
@zeripath commented on GitHub (May 6, 2019):
Hmm what's the result of:
mine is:
2.24-11+deb9u3and on my ubuntu box it's2.27-3ubuntu, on unstable it's 2.28 or so.@zeripath commented on GitHub (May 6, 2019):
So we're fairly certain that #6862 will fix this. We'll get it backported to the 1.8 line but that won't fix the other releases at present.
@hendrikbl commented on GitHub (May 7, 2019):
@zeripath @sapk You're all a bunch of geniuses! The new 1.8 build works perfectly. Thank you for solving this in only one day :)