go-gitea / gitea

Git with a cup of tea! Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD
https://gitea.com
MIT License
44.93k stars 5.48k forks source link

Docker Registry failing to correctly push manifests even when successful. #31644

Closed DeprecatedLuke closed 2 weeks ago

DeprecatedLuke commented 3 months ago

Description

When pushing an image including amazoncorretto (or eclipse-temurin) docker registry will return very random errors such as: 404 not found, 501 internal server error, but the image is pushed successfully and is working with docker run.

Luckily this is very easy to replicate:

FROM maven:3.9.8-eclipse-temurin-11 AS builder

WORKDIR /app

COPY pom.xml .
RUN mvn dependency:go-offline

COPY src src
RUN mvn package

FROM eclipse-temurin:11

WORKDIR /app

COPY --from=builder /app/target/app.jar exec.jar
COPY resources resources
COPY templates templates

CMD ["java", "-XX:MaxRAMPercentage=95", "-jar", "exec.jar"]

The database errors are: UQE_package_version_s(resulting in 501) and missing entry(resulting in 404). All other layers upload successfully and it seems to be strictly related to pushing the final manifest information.

Gitea Version

4913edaa70a48f7c5a524f680ca921ed515d6ec2

Can you reproduce the bug on the Gitea demo site?

Yes

Log Gist

not applicable

Screenshots

not applicable

Git Version

official gitea docker image with custom dockerfile build.

Operating System

official docker container

How are you running Gitea?

docker container dev environment with postgresql.

Database

PostgreSQL

lunny commented 2 months ago

This should be fixed by #21862 but not. Hm, ~I found a deadlock here.~

DeprecatedLuke commented 2 weeks ago

This appears to be fixed.