mirror of
https://github.com/go-gitea/gitea.git
synced 2026-03-11 17:46:29 -05:00
Sqlite3 err: disk I/O error: invalid argument in Linux 2.6.36.4brcmarm armv7l GNU/Linux ARM Cortex-A9 #13855
Closed
opened 2025-11-02 10:55:09 -06:00 by GiteaMirror
·
17 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#13855
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 @LipsonX on GitHub (Dec 19, 2024).
Description
Dears.
I use gogs 0.13.x + postgres before and want update to gitea for security in my device ARM5 Cortex-A9 Linux 2.6.36.4brcmarm.
then it makes some troblue in sqlite with
disk I/O error: invalid argument. maybe pr 32628 pr 20614 would help???env
operators 1
step:
/home/git/gitea/with./gitea web --port 3001 --verboseInitial Configuration, db change intosqliteand just clickInstall Giteabutton with other defualt settingsThe database settings are invalid: disk I/O error: invalid argumentls /home/git/gitea/data/gitea.dbexist, but 0 sizeoperators 2
and I try next:
customdata) into this ARM5 device../gitea web --port 3001 --verbosethen can see log bellow:Gitea Version
1.22.0 - 1.22.6 and v1.23.0-rc0
Can you reproduce the bug on the Gitea demo site?
No
Log Gist
No response
Screenshots
Git Version
git version 2.39.2
Operating System
Linux XXX 2.6.36.4brcmarm armv7l GNU/Linux
How are you running Gitea?
su - git -c "cd /home/git/gitea && ./gitea-1.23.0-rc0-linux-arm-5 web --verbose"
Database
SQLite
@hiifong commented on GitHub (Dec 19, 2024):
I think this problem may be related to the old Linux kernel, but I can't confirm it yet.
@LipsonX commented on GitHub (Dec 20, 2024):
thanks reply. I really need help.
older versions like 1.21.x or 1.18.x can not be run in my device. see:
@lunny commented on GitHub (Dec 20, 2024):
Linux kernel 2.6.36.4 should be supported by Golang v1.23, but will not be in Golang v1.24.
@techknowlogick commented on GitHub (Dec 20, 2024):
I believe Gitea only supports down to kernel version 3.0 due to how we compile our binaries for CGO
@LipsonX commented on GitHub (Dec 20, 2024):
it's so sad... it seems well but only sqlite currently.
@lunny commented on GitHub (Dec 20, 2024):
Maybe #32628 can resolve this.
@LipsonX commented on GitHub (Dec 20, 2024):
I found gitea hard to set up cross-compilation env. especially the gcc. is there a docker or some way for me to build with #32628.
Or some help?
@lunny commented on GitHub (Dec 20, 2024):
#32628 will not depend on CGO. So you can cross-compile easily.
GOOS=linux CGO_ENABLED=0 GOARCH=arm5 TAGS="bindata" make build.@LipsonX commented on GitHub (Dec 20, 2024):
I try branch master merge #32628
run
GOOS=linux CGO_ENABLED=0 GOARCH=arm5 TAGS="bindata" make buildand out put:
I try
GOOS=linux CGO_ENABLED=0 GOARCH=arm TAGS="bindata" make build. it builds success but it may be a arm64. Binary cannot be run.do i miss something.
gois not my major.@eeyrjmr commented on GitHub (Dec 20, 2024):
GOARM=5 GOARCH=arm
That should select the correct architecture
@hiifong commented on GitHub (Dec 20, 2024):
You can use the file command to view the format information of the executable file.

@LipsonX commented on GitHub (Dec 20, 2024):
Thanks to eeyrjmr. it's right. I have been build a arm5 version with go pure sqlite and it can be run in my device. And, "disk I/O error" happend again.
I also write a demo only use ncruces/go-sqlite3 and it also cause "disk I/O error". I maybe figure it out next time.
it's a well try, at least. #32628 so good for droping cgo. However, makefile need some modify, like gcc flags.
@ncruces commented on GitHub (Dec 20, 2024):
On Linux my SQLite driver uses OFD locks, which showed up in Linux 3.15 (2017, all currently supported versions have it).
Given the complexity of supporting POSIX advisory locks, this is unlikely to change.
On other systems, my advice would be to try the
sqlite3_dotlkbuild tag which should work everywhere Go does.Just be careful that, if you use build tags, don't do database maintenance while gitea is running (no Litestream, no online backups, no vacuuming the database using the
sqlite3shell, etc), or you will corrupt your data.@LipsonX commented on GitHub (Dec 21, 2024):
thanks bro. it works in my ncruces go-sqlite demo and gitea.
gitea build with #32628:
GOOS=linux CGO_ENABLED=0 GOARM=5 GOARCH=arm TAGS="bindata sqlite sqlite3_dotlk" make build. it can run. but some other problem. it runs seriously slow. see below:I'll try next. maybe with cgo version sqlite or postgresql.
@ncruces commented on GitHub (Dec 21, 2024):
It's possible the SQLite driver is to blame. The performance depends on the JIT compiler which only supports amd64 and arm64. See the support matrix:
https://github.com/ncruces/go-sqlite3/wiki/Support-matrix
@LipsonX commented on GitHub (Dec 22, 2024):
hi everyone. I try more case. flow is my result
Linux 2.6.36.4 armv7l with Pure Go Lite solutions, There is some data race maybe:
And. gitea cost lost of memory likely 200+MB. I think that maybe many one like me to see a low cost self-host git server. so Gogs could be better. Gogs cost like 20~30MB. Is't better to create a new issue for this resource cost? Maybe some build tagsis better for poor device building?
So. I fork gogs and fix some security problems waiting gitea to be better. thanks bro.
gitea + glebarez/sqlite result:

@LipsonX commented on GitHub (Dec 23, 2024):
I think #20614 maybe a good choice. this issue would be closed. I build my own Gogs. thanks.