Uploaded image for project: 'OpenShift Pipelines'
  1. OpenShift Pipelines
  2. SRVKP-10436

S2I Go pipeline intermittently fails during Git clone with fsync/write I/O errors (exit status 128) on P

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • None
    • None
    • Tekton Ecosystem
    • None
    • False
    • Hide

      None

      Show
      None
    • False

      Description of problem:

      The s2i-go-pipeline-run fails during the Git clone phase when fetching the repository https://github.com/chmouel/go-simple-uploader.git using the Tekton git-init container. The failure occurs while running git fetch with --depth=1 and submodules enabled.

      The error manifests as low-level filesystem I/O failures such as:

      • fatal: fsync error on '.git/objects/pack/...': Input/output error
      • fatal: write error: Bad file descriptor
      • fatal: fetch-pack: invalid index-pack output

      The failure has been observed across different base images (ubi7 and ubi9) and multiple pipeline runs using the same commit SHA, indicating a likely infrastructure or storage-related issue rather than a repository-specific problem.

      Workaround:

      • Re-running the pipeline sometimes succeeds.
      • No permanent workaround identified. Disabling shallow clone or submodules may reduce frequency but is not validated.

      Prerequisites (if any, like setup, operators/versions):

      • OpenShift cluster with Tekton Pipelines installed
      • Tekton git-clone task (tektoncd-catalog)
      • S2I Go pipeline (s2i-go)
      • Base images tested: s2i-go-1.18-ubi7, s2i-go-1.18-ubi9

      Steps to Reproduce

      •  Trigger s2i-go-pipeline-run with Git source https://github.com/chmouel/go-simple-uploader.git
      • Use commit SHA: e8e751f5e189ee493a43948b667f665f8d7e1057
      • Allow pipeline to reach the Git clone phase
      • Observe pipeline logs during git-init execution

      Actual results:

      The PipelineRun fails with logs showing errors during the Git clone phase. The failure occurs while fetching the repository and results in a fatal exit status.

      Logs observed during the failure:

       

      fatal: fsync error on '.git/objects/pack/tmp_pack_YOA5xB': Input/output error
      fatal: fetch-pack: invalid index-pack output
      exit status 128
      
      fatal: write error: Bad file descriptor
      fatal: fetch-pack: invalid index-pack output
      exit status 128

      The git-init container terminates with:

      Error fetching git repository: failed to fetch [<commit-sha>]: exit status 128

       

      Expected results:

      • Git repository should clone successfully
      • Pipeline should proceed to subsequent build steps without failure

      Reproducibility (Always/Intermittent/Only Once):

      Acceptance criteria: 

       

      Definition of Done:

      Build Details:

      Additional info (Such as Logs, Screenshots, etc):

      fatal: fsync error on '.git/objects/pack/tmp_pack_YOA5xB': Input/output error
      fatal: fetch-pack: invalid index-pack output
      exit status 128
      
      
      fatal: write error: Bad file descriptor
      fatal: fetch-pack: invalid index-pack output
      exit status 128 
      clone-git-repo
      STEP-PREPARE-AND-RUN
      2026-01-19T06:12:55.295139534Z Running Script /scripts/prepare.sh
      2026-01-19T06:12:55.387758495Z ---> Phase: Preparing the filesystem before cloning the repository...
      2026-01-19T06:12:55.387955730Z ---> Phase: Deleting all contents of checkout-dir '/workspace/output/s2i-go-1.18-ubi9'...
      2026-01-19T06:12:55.388634127Z Running Script /scripts/git-run.sh
      2026-01-19T06:12:55.395389336Z ---> Phase: Setting output workspace as safe directory ('/workspace/output')...
      2026-01-19T06:12:55.488390483Z ---> Phase: Setting up HTTP_PROXY=''...
      2026-01-19T06:12:55.488447433Z ---> Phase: Settting up HTTPS_PROXY=''...
      2026-01-19T06:12:55.488447433Z ---> Phase: Setting up NO_PROXY=''...
      2026-01-19T06:12:55.488581634Z ---> Phase: Cloning 'https://github.com/chmouel/go-simple-uploader.git' into '/workspace/output/s2i-go-1.18-ubi9'...
      2026-01-19T06:12:55.488667011Z + exec git-init -url=https://github.com/chmouel/go-simple-uploader.git -revision=e8e751f5e189ee493a43948b667f665f8d7e1057 -refspec= -path=/workspace/output/s2i-go-1.18-ubi9 -sslVerify=true -submodules=true -depth=1 -sparseCheckoutDirectories=
      2026-01-19T06:12:55.894084808Z {"level":"info","ts":1768803175.8939614,"caller":"git/git.go:384","msg":"Retrying operation (attempt 1)"}
      2026-01-19T06:12:58.294842278Z {"level":"error","ts":1768803178.2947364,"caller":"git/git.go:56","msg":"Error running git [fetch --recurse-submodules=yes --depth=1 origin --update-head-ok --force e8e751f5e189ee493a43948b667f665f8d7e1057]: exit status 128\nfatal: fsync error on '.git/objects/pack/tmp_pack_ZoQntA': Input/output error\nfatal: fetch-pack: invalid index-pack output\n","stacktrace":"github.com/tektoncd-catalog/git-clone/git-init/git.run\n\t/go/src/github.com/tektoncd-catalog/git-clone/image/git-init/git/git.go:56\ngithub.com/tektoncd-catalog/git-clone/git-init/git.Fetch.func1\n\t/go/src/github.com/tektoncd-catalog/git-clone/image/git-init/git/git.go:192\ngithub.com/tektoncd-catalog/git-clone/git-init/git.retryWithBackoff[...]\n\t/go/src/github.com/tektoncd-catalog/git-clone/image/git-init/git/git.go:385\ngithub.com/tektoncd-catalog/git-clone/git-init/git.Fetch\n\t/go/src/github.com/tektoncd-catalog/git-clone/image/git-init/git/git.go:191\nmain.main\n\t/go/src/github.com/tektoncd-catalog/git-clone/image/git-init/main.go:76\nruntime.main\n\t/usr/lib/golang/src/runtime/proc.go:283"}
      2026-01-19T06:12:58.294842278Z {"level":"fatal","ts":1768803178.2948122,"caller":"git-init/main.go:77","msg":"Error fetching git repository: failed to fetch [e8e751f5e189ee493a43948b667f665f8d7e1057]: exit status 128","stacktrace":"main.main\n\t/go/src/github.com/tektoncd-catalog/git-clone/image/git-init/main.go:77\nruntime.main\n\t/usr/lib/golang/src/runtime/proc.go:283"} 

       *

              rhn-support-sselvan Sri Vignesh Selvan
              sdongre@redhat.com Sanskruti Dongre
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: