opendevstack / opendevstack/ods-quickstarters

be-python-flask and be-java-springboot: fatal: cannot pread pack file: Cannot allocate memory

Open
#825 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Shell
Stars
39
Forks
50
PR merge metrics
No merged PRs in 30d

Description

Describe the bug
A clear and concise description of what the bug is.

When running ods box creation Jenkins pipeline script, in step

git fetch --no-tags --progress http://bitbucket.odsbox.lan:7990/scm/opendevstack/ods-jenkins-shared-library.git +refs/heads/:refs/remotes/origin/

we get

fatal: cannot pread pack file: Cannot allocate memory

for quickstarters be-python-flask and be-java-springboot

To Reproduce
Steps to reproduce the behavior:
Run the Jenkins pipeline that creates the ODS boxes.
NOTE: Sometimes it happens and sometimes it does not happen.

Expected behavior
A clear and concise description of what you expected to happen.

Should not fail in that step.

Screenshots
N/A

Affected version (please complete the following information):

  • OpenDevStack [4.x, master, experimental]

Log Output (ensure to remove any confidential information like tokens, project names, etc.

NOTE: Log for the other quick starter is analogous.

01:13:07      amazon-ebs: Starting pipeline prov-be-java-springboot-opendevstack
01:13:07      amazon-ebs: Pipeline: prov-be-java-springboot-opendevstack, response: {"kind":"Build","apiVersion":"build.openshift.io/v1","metadata":{"name":"prov-be-java-springboot-opendevstack-experimental-1","namespace":"unitt-cd","selfLink":"/apis/build.openshift.io/v1/namespaces/unitt-cd/buildconfigs/prov-be-java-springboot-opendevstack-experimental-1/instantiate","uid":"b268e015-fb25-11ec-b799-0a6c6e4f9127","resourceVersion":"65509","creationTimestamp":"2022-07-03T23:13:06Z","labels":{"buildconfig":"prov-be-java-springboot-opendevstack-experimental","openshift.io/build-config.name":"prov-be-java-springboot-opendevstack-experimental","openshift.io/build.start-policy":"Serial"},"annotations":{"openshift.io/build-config.name":"prov-be-java-springboot-opendevstack-experimental","openshift.io/build.number":"1"},"ownerReferences":[{"apiVersion":"build.openshift.io/v1","kind":"BuildConfig","name":"prov-be-java-springboot-opendevstack-experimental","uid":"b26456db-fb25-11ec-b799-0a6c6e4f9127","controller":true}]},"spec":{"serviceAccount":"builder","source":{"type":"Git","git":{"uri":"http://bitbucket.odsbox.lan:7990/scm/opendevstack/ods-quickstarters.git","ref":"experimental"},"sourceSecret":{"name":"cd-user-with-password"}},"strategy":{"type":"JenkinsPipeline","jenkinsPipelineStrategy":{"jenkinsfilePath":"be-java-springboot/Jenkinsfile","env":[{"name":"ODS_NAMESPACE","value":"ods"},{"name":"ODS_GIT_REF","value":"experimental"},{"name":"ODS_IMAGE_TAG","value":"latest"},{"name":"ODS_BITBUCKET_PROJECT","value":"opendevstack"},{"name":"AGENT_IMAGE_TAG","value":"latest"},{"name":"SHARED_LIBRARY_REF","value":"latest"},{"name":"PROJECT_ID","value":"unitt"},{"name":"COMPONENT_ID","value":"springboot"},{"name":"GIT_URL_HTTP","value":"http://bitbucket.odsbox.lan:7990/scm/unitt/unitt-springboot.git"}]}},"output":{},"resources":{},"postCommit":{},"nodeSelector":{},"triggeredBy":[{"message":"Generic WebHook","genericWebHook":{"secret":"\u003csecret\u003e"}}]},"status":{"phase":"New","config":{"kind":"BuildConfig","namespace":"unitt-cd","name":"prov-be-java-springboot-opendevstack-experimental"},"output":{}}}
01:13:07      amazon-ebs: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Success","message":"no git information found in payload, ignoring and continuing with build","code":200}
01:13:07      amazon-ebs:
01:13:07      amazon-ebs: Pipeline: prov-be-java-springboot-opendevstack, build name from response: prov-be-java-springboot-opendevstack-experimental-1
01:13:07      amazon-ebs: Verifying Jenkins stages of prov-be-java-springboot-opendevstack-experimental-1 ...
01:13:07      amazon-ebs: Getting stages for build: prov-be-java-springboot-opendevstack-experimental-1 in project: unitt-cd
01:13:19      amazon-ebs: buildlog: prov-be-java-springboot-opendevstack-experimental-1
01:13:19      amazon-ebs:
01:13:19      amazon-ebs: Jenkins log url: [https://jenkins-unitt-cd.ocp.odsbox.lan/job/unitt-cd/job/unitt-cd-prov-be-java-springboot-opendevstack-experimental/1/consoleText](https://jenkins-unitt-cd.ocp.odsbox.lan/job/unitt-cd/job/unitt-cd-prov-be-java-springboot-opendevstack-experimental/1/consoleText%1B[0m)
01:13:19      amazon-ebs:
01:13:19      amazon-ebs: OpenShift Build unitt-cd/prov-be-java-springboot-opendevstack-experimental-1 from [http://bitbucket.odsbox.lan:7990/scm/opendevstack/ods-quickstarters.git](http://bitbucket.odsbox.lan:7990/scm/opendevstack/ods-quickstarters.git%1B[0m)
01:13:19      amazon-ebs: Checking out git http://bitbucket.odsbox.lan:7990/scm/opendevstack/ods-quickstarters.git into /var/lib/jenkins/jobs/unitt-cd/jobs/unitt-cd-prov-be-java-springboot-opendevstack-experimental/workspace@script to read be-java-springboot/Jenkinsfile
01:13:19      amazon-ebs: using credential unitt-cd-cd-user-with-password
01:13:19      amazon-ebs: Cloning the remote Git repository
01:13:19      amazon-ebs: Cloning repository [http://bitbucket.odsbox.lan:7990/scm/opendevstack/ods-quickstarters.git](http://bitbucket.odsbox.lan:7990/scm/opendevstack/ods-quickstarters.git%1B[0m)
01:13:19      amazon-ebs:  > git init /var/lib/jenkins/jobs/unitt-cd/jobs/unitt-cd-prov-be-java-springboot-opendevstack-experimental/workspace@script # timeout=10
01:13:19      amazon-ebs: Fetching upstream changes from [http://bitbucket.odsbox.lan:7990/scm/opendevstack/ods-quickstarters.git](http://bitbucket.odsbox.lan:7990/scm/opendevstack/ods-quickstarters.git%1B[0m)
01:13:19      amazon-ebs:  > git --version # timeout=10
01:13:19      amazon-ebs: using GIT_ASKPASS to set credentials unitt-cd-cd-user-with-password
01:13:19      amazon-ebs:  > git fetch --tags --progress http://bitbucket.odsbox.lan:7990/scm/opendevstack/ods-quickstarters.git +refs/heads/*:refs/remotes/origin/*
01:13:19      amazon-ebs:  > git config remote.origin.url http://bitbucket.odsbox.lan:7990/scm/opendevstack/ods-quickstarters.git # timeout=10
01:13:19      amazon-ebs:  > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
01:13:19      amazon-ebs:  > git config remote.origin.url http://bitbucket.odsbox.lan:7990/scm/opendevstack/ods-quickstarters.git # timeout=10
01:13:19      amazon-ebs: Fetching upstream changes from [http://bitbucket.odsbox.lan:7990/scm/opendevstack/ods-quickstarters.git](http://bitbucket.odsbox.lan:7990/scm/opendevstack/ods-quickstarters.git%1B[0m)
01:13:19      amazon-ebs: using GIT_ASKPASS to set credentials unitt-cd-cd-user-with-password
01:13:19      amazon-ebs:  > git fetch --tags --progress http://bitbucket.odsbox.lan:7990/scm/opendevstack/ods-quickstarters.git +refs/heads/*:refs/remotes/origin/*
01:13:19      amazon-ebs:  > git rev-parse origin/experimental^{commit} # timeout=10
01:13:19      amazon-ebs: Checking out Revision 0d846ac049b870cb1ef27b40325630059a907cd1 (origin/experimental)
01:13:19      amazon-ebs:  > git config core.sparsecheckout # timeout=10
01:13:19      amazon-ebs:  > git checkout -f 0d846ac049b870cb1ef27b40325630059a907cd1
01:13:19      amazon-ebs: Commit message: "Wrong way. Linux User and Group are created by oc."
01:13:19      amazon-ebs: First time build. Skipping changelog.
01:13:19      amazon-ebs: Running in Durability level: MAX_SURVIVABILITY
01:13:19      amazon-ebs: [Pipeline] Start of Pipeline
01:13:19      amazon-ebs: [Pipeline] node
01:13:19      amazon-ebs: Running on Jenkins in /var/lib/jenkins/jobs/unitt-cd/jobs/unitt-cd-prov-be-java-springboot-opendevstack-experimental/workspace
01:13:19      amazon-ebs: [Pipeline] {
01:13:19      amazon-ebs: [Pipeline] }
01:13:19      amazon-ebs: [Pipeline] // node
01:13:19      amazon-ebs: [Pipeline] library
01:13:19      amazon-ebs: Loading library ods-jenkins-shared-library@latest
01:13:19      amazon-ebs: Attempting to resolve latest from remote references...
01:13:19      amazon-ebs:  > git --version # timeout=10
01:13:19      amazon-ebs: using GIT_ASKPASS to set credentials unitt-cd-cd-user-with-password
01:13:19      amazon-ebs:  > git ls-remote -h http://bitbucket.odsbox.lan:7990/scm/opendevstack/ods-jenkins-shared-library.git # timeout=10
01:13:19      amazon-ebs: Found match: refs/heads/latest revision 629fd7c1d97d168aa87ddb22a87be7e24e46bd22
01:13:19      amazon-ebs: using credential unitt-cd-cd-user-with-password
01:13:19      amazon-ebs: Cloning the remote Git repository
01:13:19      amazon-ebs: Cloning with configured refspecs honoured and without tags
01:13:19      amazon-ebs: Cloning repository [http://bitbucket.odsbox.lan:7990/scm/opendevstack/ods-jenkins-shared-library.git](http://bitbucket.odsbox.lan:7990/scm/opendevstack/ods-jenkins-shared-library.git%1B[0m)
01:13:19      amazon-ebs:  > git init /var/lib/jenkins/jobs/unitt-cd/jobs/unitt-cd-prov-be-java-springboot-opendevstack-experimental/workspace@libs/ods-jenkins-shared-library # timeout=10
01:13:19      amazon-ebs: Fetching upstream changes from [http://bitbucket.odsbox.lan:7990/scm/opendevstack/ods-jenkins-shared-library.git](http://bitbucket.odsbox.lan:7990/scm/opendevstack/ods-jenkins-shared-library.git%1B[0m)
01:13:19      amazon-ebs:  > git --version # timeout=10
01:13:19      amazon-ebs: using GIT_ASKPASS to set credentials unitt-cd-cd-user-with-password
01:13:19      amazon-ebs:  > git fetch --no-tags --progress http://bitbucket.odsbox.lan:7990/scm/opendevstack/ods-jenkins-shared-library.git +refs/heads/*:refs/remotes/origin/*
01:13:19      amazon-ebs: ERROR: Error cloning remote repo 'origin'
01:13:19      amazon-ebs: hudson.plugins.git.GitException: Command "git fetch --no-tags --progress http://bitbucket.odsbox.lan:7990/scm/opendevstack/ods-jenkins-shared-library.git +refs/heads/*:refs/remotes/origin/*" returned status code 137:
01:13:19      amazon-ebs: stdout:
01:13:19      amazon-ebs: stderr: remote: Enumerating objects: 16691, done.
01:13:19      amazon-ebs: remote: Counting objects: 100% (16691/16691), done.
01:13:19      amazon-ebs: remote: Compressing objects: 100% (3472/3472), done.
01:13:19      amazon-ebs: remote: Total 16691 (delta 10893), reused 16691 (delta 10893)
01:13:19      amazon-ebs: Receiving objects: 100% (16691/16691), 7.93 MiB | 0 bytes/s, done.
01:13:19      amazon-ebs: fatal: cannot pread pack file: Cannot allocate memory
01:13:19      amazon-ebs: fatal: index-pack failed
01:13:19      amazon-ebs:
01:13:19      amazon-ebs: 	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2016)
01:13:19      amazon-ebs: 	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1735)
01:13:19      amazon-ebs: 	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$300(CliGitAPIImpl.java:72)
01:13:19      amazon-ebs: 	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:420)
01:13:19      amazon-ebs: 	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$2.execute(CliGitAPIImpl.java:629)
01:13:19      amazon-ebs: 	at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1152)
01:13:19      amazon-ebs: 	at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1192)
01:13:19      amazon-ebs: 	at org.jenkinsci.plugins.workflow.steps.scm.SCMStep.checkout(SCMStep.java:120)
01:13:19      amazon-ebs: 	at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.lambda$doRetrieve$1(SCMSourceRetriever.java:154)
01:13:19      amazon-ebs: 	at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.retrySCMOperation(SCMSourceRetriever.java:104)
01:13:19      amazon-ebs: 	at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.doRetrieve(SCMSourceRetriever.java:153)
01:13:19      amazon-ebs: 	at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.retrieve(SCMSourceRetriever.java:93)
01:13:19      amazon-ebs: 	at org.jenkinsci.plugins.workflow.libs.LibraryAdder.retrieve(LibraryAdder.java:157)
01:13:19      amazon-ebs: 	at org.jenkinsci.plugins.workflow.libs.LibraryStep$Execution.run(LibraryStep.java:207)
01:13:19      amazon-ebs: 	at org.jenkinsci.plugins.workflow.libs.LibraryStep$Execution.run(LibraryStep.java:156)
01:13:19      amazon-ebs: 	at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1$1.call(AbstractSynchronousNonBlockingStepExecution.java:47)
01:13:19      amazon-ebs: 	at hudson.security.ACL.impersonate(ACL.java:290)
01:13:19      amazon-ebs: 	at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1.run(AbstractSynchronousNonBlockingStepExecution.java:44)
01:13:19      amazon-ebs: 	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
01:13:19      amazon-ebs: 	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
01:13:19      amazon-ebs: 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
01:13:19      amazon-ebs: 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
01:13:19      amazon-ebs: 	at java.base/java.lang.Thread.run(Thread.java:834)
01:13:19      amazon-ebs: ERROR: Error cloning remote repo 'origin'

Additional context
Add any other context about the problem here.
N/A

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with be-python-flask/Jenkinsfile and be-java-springboot/Jenkinsfile, then trace the Jenkins shared-library checkout shown in the pipeline log. Reproduce the ODS box creation pipeline and investigate the git fetch failure and status code 137. Done means both quickstarter pipelines complete the shared-library fetch without the memory-allocation error.

Written by the indexing model from the issue text.

Assessment

Tech stack
flask, git, java, python, shell, spring-boot
Domain
build-system, ci-cd, devops
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.