Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error: /etc/*release "no such file or directory" #334

Open
drewmullen opened this issue Aug 18, 2020 · 48 comments
Open

Error: /etc/*release "no such file or directory" #334

drewmullen opened this issue Aug 18, 2020 · 48 comments

Comments

@drewmullen
Copy link

drewmullen commented Aug 18, 2020

Error

Run actions/checkout@v2
/usr/bin/docker exec  432276a4e63948fd1ce317e06c553d8b59da3899e0254e9381f32d34cf40b653 sh -c "cat /etc/*release | grep ^ID"
OCI runtime exec failed: exec failed: container_linux.go:349: starting container process caused "no such file or directory": unknown

Description

checkout is not able to find the /etc/*release file for some reason. A previous issue asserted it had to do with being alpine but i have tested the alpine/git container that worked in the exact same context:

$ docker run -it --rm drewmullen/lambda-build-python:0.1 -c 'cat /etc/*release | grep ^ID'
ID=alpine

$ docker run -it --rm drewmullen/lambda-build-python:0.1 -c '/bin/ls -l /etc/os-release'
-rw-r--r-- 1 root root 10 Jan  1  1970 /etc/os-release

one thing to note is that this container was built by a nix expression so its quite bare. perhaps there are some other requirements that yall could point to that i could be missing?

Example failure: https://github.com/drewmullen/actions-playground/runs/998812222?check_suite_focus=true
Example workflow:

name: test checkout on diff versions
on:
  issue_comment:
    types: [created]
jobs:
  build:
    if: >
      startsWith(github.event.comment.body, 'build')
      && startsWith(github.event.issue.pull_request.url, 'https://')
    runs-on: ubuntu-latest
    container:
      image: drewmullen/lambda-build-python:0.1
    steps:
      - name: 'Code Checkout'
        uses: actions/checkout@v2
@shusson
Copy link

shusson commented Aug 18, 2020

We're getting the same issue but on a self-hosted runner which was set up following https://github.com/summerwind/actions-runner-controller. The image contains a subset of packages from the GitHub runners, https://github.com/summerwind/actions-runner-controller#softeware-installed-in-the-runner-image.

@berndvdveen
Copy link

@drewmullen This should be resolved in the latest version of actions/checkout. Try: uses: actions/checkout@v2.3.2

@drewmullen
Copy link
Author

@berndvdveen unfortunately not :(

Run actions/checkout@v2.3.2
/usr/bin/docker exec  ad88ff3bf80befa617e90d59c75d187a7e273e4bf3f7d8df277befbe9a43bdac sh -c "cat /etc/*release | grep ^ID"
OCI runtime exec failed: exec failed: container_linux.go:349: starting container process caused "no such file or directory": unknown

workflow: https://github.com/drewmullen/actions-playground/blob/master/.github/workflows/step_container.yml
action job: https://github.com/drewmullen/actions-playground/runs/1002786826?check_suite_focus=true

@XavierChapron
Copy link

I'm having the same issue with:

  • workflow running on self-hosted runner with docker image zephyrprojectrtos/ci:v0.11.7
jobs:
  build:
    name: validation
    runs-on: self-hosted
    container:
      image: zephyrprojectrtos/ci:v0.11.7
      options: --device=/dev/bus/usb
    steps:
      - name: Clone repository
        uses: actions/checkout@v2.3.2
        with:
          submodules: true
          token: ${{ secrets.READ_REPOSITORIES_PAT }}
      - name: Build validation test app
        uses: ./.github/actions/app-build-action
      - name: Run test
        shell: bash
        run: |
          pwd
          ls
          cd build/app-build
          ctest -V

Then Post Clone repository step fails:

Post Clone repository
1s
##[debug]Finishing: Post Clone repository
##[debug]Evaluating: always()
##[debug]Evaluating always:
##[debug]=> true
##[debug]Result: true
##[debug]Starting: Post Clone repository
##[debug]Loading inputs
##[debug]Evaluating: secrets.READ_REPOSITORIES_PAT
##[debug]Evaluating Index:
##[debug]..Evaluating secrets:
##[debug]..=> Object
##[debug]..Evaluating String:
##[debug]..=> 'READ_REPOSITORIES_PAT'
##[debug]=> '***'
##[debug]Result: '***'
##[debug]Evaluating: github.repository
##[debug]Evaluating Index:
##[debug]..Evaluating github:
##[debug]..=> Object
##[debug]..Evaluating String:
##[debug]..=> 'repository'
##[debug]=> 'XXXX/xxxx'
##[debug]Result: 'XXXX/xxxx'
##[debug]Loading env
Post job cleanup.
/usr/bin/docker exec  d524eda2952a2ed656e3046c0efa1cf9fed70bdfeef4c16d054bcf5fc6213536 sh -c "cat /etc/*release | grep ^ID"
##[debug]Running JavaScript Action with default external tool: node12
OCI runtime exec failed: exec failed: container_linux.go:349: starting container process caused "setup user: no such file or directory": unknown

Note that for an unknown reason, if I remove ctest -V from the last step, this issue does not occurs.

@XavierChapron
Copy link

I was able to reproduce locally using only docker (without anything related to github action).
At some point, docker exec container_id sh -c "cat /etc/*release | grep ^ID" start to fail and never work anymore.
As of now, I still don't know what triggers this failure.

However I'm curious of why the post script of the checkout action needs to know the ID of the docker image?

zupo added a commit to teamniteo/nix-docker-base that referenced this issue Aug 31, 2020
@zupo
Copy link

zupo commented Sep 1, 2020

I'm bumping into the same problem. Using https://github.com/niteoweb/nix-docker-base as the docker image. Works fine locally, on CircleCI and on Heroku, does not work on GitHub Actions.

@bcardiff
Copy link

bcardiff commented Sep 1, 2020

I wanted to use i386/ubuntu:bionic as the container and I reach the same issue.

Yet /usr/bin/docker exec 43...53 sh -c "cat /etc/*release | grep ^ID" works locally with that image.

Using v2.3.2 makes no difference.

@danog
Copy link

danog commented Oct 8, 2020

Same here with 2.3.3.

@infinisil
Copy link

I did a bit of investigating, and I'm now fairly certain that the cat /etc/*-release command has nothing to do with this failure. I confirmed this by changing sh to run strace -e trace=file sh, and there was no additional output. So the failure probably happens before the container is even started.

A thing I tried that didn't work is something like

ln -s run/profile/bin bin
mkdir -p home lib mnt opt sbin var/{cache,empty,lib,tmp,opt,log,local}
ln -s /run var/run
ln -s /bin sbin

This creates a bunch of common directories. No luck though, still the same failure

I also tried running the container with runc locally as shown in https://github.com/opencontainers/runc#using-runc, but that worked just fine and I couldn't reproduce the failure

In addition, I suspect this has nothing to do with the checkout action even. It's likely a problem with GitHub Actions themselves. Which makes it pretty hard to debug since it's closed source..

@hectorm
Copy link

hectorm commented Oct 21, 2020

Yesterday I stumbled across this error using a BusyBox container and found this issue, today I took some time to debug it.

The reason for this is that GitHub Actions are written in JavaScript, so in order for an action to run inside a container, Node.js must be present, so the runner copies a Node.js build into the container.

The problem is that this build may not be compatible with the container. In my case, BusyBox doesn't have the required shared libraries.

My armchair suggestion is that the Node.js build should be completely static to avoid these situations, but perhaps this has other disadvantages which make it impractical.

I've done a quick experiment that allows the action to run inside BusyBox, but I warn that no one under any circumstances should use it as a workaround.

name: 'actions/checkout#334 test'

on:
  push:
    branches: ['*']

jobs:

  test-with-lib-mount:
    runs-on: 'ubuntu-latest'
    container:
      image: 'docker.io/busybox:glibc'
      volumes:
        - '/lib/x86_64-linux-gnu/libdl.so.2:/lib/libdl.so.2'
        - '/lib/x86_64-linux-gnu/libgcc_s.so.1:/lib/libgcc_s.so.1'
        - '/usr/lib/x86_64-linux-gnu/libstdc++.so.6:/lib/libstdc++.so.6'
    steps:
      - run: 'printf "ID=debian\n" > /etc/os-release'
      - uses: 'actions/checkout@main'
      - run: '/__e/node12/bin/node --version'

  test-without-lib-mount:
    runs-on: 'ubuntu-latest'
    container:
      image: 'docker.io/busybox:glibc'
    steps:
      - run: 'printf "ID=debian\n" > /etc/os-release'
      - uses: 'actions/checkout@main'
      - run: '/__e/node12/bin/node --version'
test-with-lib-mount log

2020-10-21T19:36:23.6141878Z ##[section]Starting: Request a runner to run this job
2020-10-21T19:36:23.8098964Z Can't find any online and idle self-hosted runner in current repository that matches the required labels: 'ubuntu-latest'
2020-10-21T19:36:23.8099078Z Can't find any online and idle self-hosted runner in current repository's account/organization that matches the required labels: 'ubuntu-latest'
2020-10-21T19:36:23.8099523Z Found online and idle hosted runner in current repository's account/organization that matches the required labels: 'ubuntu-latest'
2020-10-21T19:36:24.0332034Z ##[section]Finishing: Request a runner to run this job
2020-10-21T19:36:31.6422221Z ##[debug]Starting: test-with-lib-mount
2020-10-21T19:36:31.6432381Z ##[debug]Cleaning runner temp folder: /home/runner/work/_temp
2020-10-21T19:36:31.6458388Z ##[debug]Starting: Set up job
2020-10-21T19:36:31.6458835Z Current runner version: '2.273.5'
2020-10-21T19:36:31.6488220Z ##[group]Operating System
2020-10-21T19:36:31.6489047Z Ubuntu
2020-10-21T19:36:31.6489364Z 18.04.5
2020-10-21T19:36:31.6489704Z LTS
2020-10-21T19:36:31.6490018Z ##[endgroup]
2020-10-21T19:36:31.6490410Z ##[group]Virtual Environment
2020-10-21T19:36:31.6490867Z Environment: ubuntu-18.04
2020-10-21T19:36:31.6491210Z Version: 20201015.1
2020-10-21T19:36:31.6491999Z Included Software: https://github.com/actions/virtual-environments/blob/ubuntu18/20201015.1/images/linux/Ubuntu1804-README.md
2020-10-21T19:36:31.6492786Z ##[endgroup]
2020-10-21T19:36:31.6493736Z ##[debug]Primary repository: hectorm/test
2020-10-21T19:36:31.6494367Z Prepare workflow directory
2020-10-21T19:36:31.6546346Z ##[debug]Creating pipeline directory: '/home/runner/work/test'
2020-10-21T19:36:31.6548766Z ##[debug]Creating workspace directory: '/home/runner/work/test/test'
2020-10-21T19:36:31.6550151Z ##[debug]Update context data
2020-10-21T19:36:31.6551822Z ##[debug]Evaluating job-level environment variables
2020-10-21T19:36:31.6655374Z ##[debug]Evaluating job container
2020-10-21T19:36:31.6669622Z ##[debug]Evaluating job service containers
2020-10-21T19:36:31.6670501Z ##[debug]Evaluating job defaults
2020-10-21T19:36:31.6680808Z Prepare all required actions
2020-10-21T19:36:31.6689776Z Getting action download info
2020-10-21T19:36:31.9421868Z Download action repository 'actions/checkout@main'
2020-10-21T19:36:32.0954551Z ##[debug]Download 'https://api.github.com/repos/actions/checkout/tarball/c952173edf28a2bd22e1a4926590c1ac39630461' to '/home/runner/work/_actions/_temp_a3ca3d70-5a4d-4d9f-91a3-e21490eea0bd/d3feda17-104e-4724-a463-1d8758e04d45.tar.gz'
2020-10-21T19:36:33.0874463Z ##[debug]Unwrap 'actions-checkout-c952173' to '/home/runner/work/_actions/actions/checkout/main'
2020-10-21T19:36:33.0991990Z ##[debug]Archive '/home/runner/work/_actions/_temp_a3ca3d70-5a4d-4d9f-91a3-e21490eea0bd/d3feda17-104e-4724-a463-1d8758e04d45.tar.gz' has been unzipped into '/home/runner/work/_actions/actions/checkout/main'.
2020-10-21T19:36:34.0629123Z ##[debug]action.yml for action: '/home/runner/work/_actions/actions/checkout/main/action.yml'.
2020-10-21T19:36:34.1173300Z ##[debug]Set step 'run1' display name to: 'Run printf "ID=debian\n" > /etc/os-release'
2020-10-21T19:36:34.1175755Z ##[debug]Set step 'actionscheckout' display name to: 'Run actions/checkout@main'
2020-10-21T19:36:34.1177035Z ##[debug]Set step 'run2' display name to: 'Run /__e/node12/bin/node --version'
2020-10-21T19:36:34.1187179Z ##[debug]Collect running processes for tracking orphan processes.
2020-10-21T19:36:34.1342694Z ##[debug]Finishing: Set up job
2020-10-21T19:36:34.1363417Z ##[debug]Evaluating condition for step: 'Initialize containers'
2020-10-21T19:36:34.1382884Z ##[debug]Evaluating: success()
2020-10-21T19:36:34.1384078Z ##[debug]Evaluating success:
2020-10-21T19:36:34.1394621Z ##[debug]=> true
2020-10-21T19:36:34.1396480Z ##[debug]Result: true
2020-10-21T19:36:34.1402492Z ##[debug]Starting: Initialize containers
2020-10-21T19:36:34.1414050Z ##[debug]Register post job cleanup for stopping/deleting containers.
2020-10-21T19:36:34.1420137Z ##[group]Checking docker version
2020-10-21T19:36:34.1425582Z ##[command]/usr/bin/docker version --format '{{.Server.APIVersion}}'
2020-10-21T19:36:34.9673127Z '1.40'
2020-10-21T19:36:34.9701536Z Docker daemon API version: '1.40'
2020-10-21T19:36:34.9702246Z ##[command]/usr/bin/docker version --format '{{.Client.APIVersion}}'
2020-10-21T19:36:35.0285590Z '1.40'
2020-10-21T19:36:35.0287669Z Docker client API version: '1.40'
2020-10-21T19:36:35.0294051Z ##[endgroup]
2020-10-21T19:36:35.0294994Z ##[group]Clean up resources from previous jobs
2020-10-21T19:36:35.0298815Z ##[command]/usr/bin/docker ps --all --quiet --no-trunc --filter "label=1e5c35"
2020-10-21T19:36:35.0750094Z ##[command]/usr/bin/docker network prune --force --filter "label=1e5c35"
2020-10-21T19:36:35.1254857Z ##[endgroup]
2020-10-21T19:36:35.1255300Z ##[group]Create local container network
2020-10-21T19:36:35.1261833Z ##[command]/usr/bin/docker network create --label 1e5c35 github_network_d79a281bde1b4414bc5e5514c18ae971
2020-10-21T19:36:35.2318923Z 0552da6ce761fcb647e975fd84d355319aed5d2fa24ab039af686fcf8e907a64
2020-10-21T19:36:35.2327453Z ##[endgroup]
2020-10-21T19:36:35.2334786Z ##[group]Starting job container
2020-10-21T19:36:35.2342174Z ##[command]/usr/bin/docker pull docker.io/busybox:glibc
2020-10-21T19:36:36.0274592Z glibc: Pulling from library/busybox
2020-10-21T19:36:36.0287071Z a398042fcaa4: Pulling fs layer
2020-10-21T19:36:36.0287659Z a398042fcaa4: Verifying Checksum
2020-10-21T19:36:36.0288177Z a398042fcaa4: Download complete
2020-10-21T19:36:36.0289088Z a398042fcaa4: Pull complete
2020-10-21T19:36:36.0290127Z Digest: sha256:30d1412c0f45be67d38b99179866868b1f09fd9013cbacf22813926aee428cf7
2020-10-21T19:36:36.0291102Z Status: Downloaded newer image for busybox:glibc
2020-10-21T19:36:36.0291761Z docker.io/library/busybox:glibc
2020-10-21T19:36:36.0322722Z ##[command]/usr/bin/docker create --name feb618523f554ca28cbdfc8f66c84692_dockeriobusyboxglibc_b28c2a --label 1e5c35 --workdir /__w/test/test --network github_network_d79a281bde1b4414bc5e5514c18ae971  -e "HOME=/github/home" -e GITHUB_ACTIONS=true -e CI=true -v "/var/run/docker.sock":"/var/run/docker.sock" -v "/lib/x86_64-linux-gnu/libdl.so.2":"/lib/libdl.so.2" -v "/lib/x86_64-linux-gnu/libgcc_s.so.1":"/lib/libgcc_s.so.1" -v "/usr/lib/x86_64-linux-gnu/libstdc++.so.6":"/lib/libstdc++.so.6" -v "/home/runner/work":"/__w" -v "/home/runner/runners/2.273.5/externals":"/__e":ro -v "/home/runner/work/_temp":"/__w/_temp" -v "/home/runner/work/_actions":"/__w/_actions" -v "/opt/hostedtoolcache":"/__t" -v "/home/runner/work/_temp/_github_home":"/github/home" -v "/home/runner/work/_temp/_github_workflow":"/github/workflow" --entrypoint "tail" docker.io/busybox:glibc "-f" "/dev/null"
2020-10-21T19:36:36.8751027Z 99baa570ec43ff883eeffe4be0b688134cbf5f7d77b61708b02ed153c72f1087
2020-10-21T19:36:36.8771701Z ##[command]/usr/bin/docker start 99baa570ec43ff883eeffe4be0b688134cbf5f7d77b61708b02ed153c72f1087
2020-10-21T19:36:37.3510418Z 99baa570ec43ff883eeffe4be0b688134cbf5f7d77b61708b02ed153c72f1087
2020-10-21T19:36:37.3552984Z ##[command]/usr/bin/docker ps --all --filter id=99baa570ec43ff883eeffe4be0b688134cbf5f7d77b61708b02ed153c72f1087 --filter status=running --no-trunc --format "{{.ID}} {{.Status}}"
2020-10-21T19:36:37.3972717Z 99baa570ec43ff883eeffe4be0b688134cbf5f7d77b61708b02ed153c72f1087 Up Less than a second
2020-10-21T19:36:37.3997510Z ##[command]/usr/bin/docker inspect --format "{{range .Config.Env}}{{println .}}{{end}}" 99baa570ec43ff883eeffe4be0b688134cbf5f7d77b61708b02ed153c72f1087
2020-10-21T19:36:37.4415580Z HOME=/github/home
2020-10-21T19:36:37.4416845Z GITHUB_ACTIONS=true
2020-10-21T19:36:37.4417585Z CI=true
2020-10-21T19:36:37.4417971Z PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
2020-10-21T19:36:37.4444943Z ##[endgroup]
2020-10-21T19:36:37.4445617Z ##[group]Waiting for all services to be ready
2020-10-21T19:36:37.4446922Z ##[endgroup]
2020-10-21T19:36:37.4454176Z ##[debug]Finishing: Initialize containers
2020-10-21T19:36:37.4465654Z ##[debug]Evaluating condition for step: 'Run printf "ID=debian\n" > /etc/os-release'
2020-10-21T19:36:37.4470550Z ##[debug]Evaluating: success()
2020-10-21T19:36:37.4471192Z ##[debug]Evaluating success:
2020-10-21T19:36:37.4472155Z ##[debug]=> true
2020-10-21T19:36:37.4472748Z ##[debug]Result: true
2020-10-21T19:36:37.4474878Z ##[debug]Starting: Run printf "ID=debian\n" > /etc/os-release
2020-10-21T19:36:37.4520505Z ##[debug]Loading inputs
2020-10-21T19:36:37.4522457Z ##[debug]Loading env
2020-10-21T19:36:37.4562390Z ##[group]Run printf "ID=debian\n" > /etc/os-release
2020-10-21T19:36:37.4562901Z �[36;1mprintf "ID=debian\n" > /etc/os-release�[0m
2020-10-21T19:36:37.4565123Z shell: sh -e {0}
2020-10-21T19:36:37.4565505Z ##[endgroup]
2020-10-21T19:36:37.4620603Z ##[debug]sh -e /__w/_temp/4a279f67-140c-4d89-98e4-5f5def436d2a.sh
2020-10-21T19:36:37.6099441Z ##[debug]Finishing: Run printf "ID=debian\n" > /etc/os-release
2020-10-21T19:36:37.6105048Z ##[debug]Evaluating condition for step: 'Run actions/checkout@main'
2020-10-21T19:36:37.6108058Z ##[debug]Evaluating: success()
2020-10-21T19:36:37.6108626Z ##[debug]Evaluating success:
2020-10-21T19:36:37.6109356Z ##[debug]=> true
2020-10-21T19:36:37.6109907Z ##[debug]Result: true
2020-10-21T19:36:37.6111037Z ##[debug]Starting: Run actions/checkout@main
2020-10-21T19:36:37.6140004Z ##[debug]Register post job cleanup for action: actions/checkout@main
2020-10-21T19:36:37.6168757Z ##[debug]Loading inputs
2020-10-21T19:36:37.6171347Z ##[debug]Evaluating: github.repository
2020-10-21T19:36:37.6172253Z ##[debug]Evaluating Index:
2020-10-21T19:36:37.6173309Z ##[debug]..Evaluating github:
2020-10-21T19:36:37.6173937Z ##[debug]..=> Object
2020-10-21T19:36:37.6175324Z ##[debug]..Evaluating String:
2020-10-21T19:36:37.6175804Z ##[debug]..=> 'repository'
2020-10-21T19:36:37.6181717Z ##[debug]=> 'hectorm/test'
2020-10-21T19:36:37.6182720Z ##[debug]Result: 'hectorm/test'
2020-10-21T19:36:37.6189533Z ##[debug]Evaluating: github.token
2020-10-21T19:36:37.6189963Z ##[debug]Evaluating Index:
2020-10-21T19:36:37.6191185Z ##[debug]..Evaluating github:
2020-10-21T19:36:37.6191778Z ##[debug]..=> Object
2020-10-21T19:36:37.6192170Z ##[debug]..Evaluating String:
2020-10-21T19:36:37.6192490Z ##[debug]..=> 'token'
2020-10-21T19:36:37.6194565Z ##[debug]=> '***'
2020-10-21T19:36:37.6195165Z ##[debug]Result: '***'
2020-10-21T19:36:37.6201938Z ##[debug]Loading env
2020-10-21T19:36:37.6212117Z ##[group]Run actions/checkout@main
2020-10-21T19:36:37.6212463Z with:
2020-10-21T19:36:37.6212878Z   repository: hectorm/test
2020-10-21T19:36:37.6213493Z   token: ***
2020-10-21T19:36:37.6213773Z   ssh-strict: true
2020-10-21T19:36:37.6214152Z   persist-credentials: true
2020-10-21T19:36:37.6214505Z   clean: true
2020-10-21T19:36:37.6214795Z   fetch-depth: 1
2020-10-21T19:36:37.6215067Z   lfs: false
2020-10-21T19:36:37.6215344Z   submodules: false
2020-10-21T19:36:37.6215619Z ##[endgroup]
2020-10-21T19:36:37.6230234Z ##[command]/usr/bin/docker exec  99baa570ec43ff883eeffe4be0b688134cbf5f7d77b61708b02ed153c72f1087 sh -c "cat /etc/*release | grep ^ID"
2020-10-21T19:36:37.7701720Z ##[debug]ID=debian
2020-10-21T19:36:37.7702501Z ##[debug]Running JavaScript Action with default external tool: node12
2020-10-21T19:36:38.2439640Z ::save-state name=isPost,::true
2020-10-21T19:36:38.2441143Z ##[debug]Save intra-action state isPost = true
2020-10-21T19:36:38.2876241Z ##[debug]GITHUB_WORKSPACE = '/__w/test/test'
2020-10-21T19:36:38.2887025Z ##[debug]qualified repository = 'hectorm/test'
2020-10-21T19:36:38.2889262Z ##[debug]ref = 'refs/heads/master'
2020-10-21T19:36:38.2890062Z ##[debug]commit = '20971021580f5e7ffb8aad0fad66630ba95af42e'
2020-10-21T19:36:38.2890556Z ##[debug]clean = true
2020-10-21T19:36:38.2890869Z ##[debug]fetch depth = 1
2020-10-21T19:36:38.2891193Z ##[debug]lfs = false
2020-10-21T19:36:38.2892671Z ##[debug]submodules = false
2020-10-21T19:36:38.2893161Z ##[debug]recursive submodules = false
2020-10-21T19:36:38.2895047Z ::add-matcher::/__w/_actions/actions/checkout/main/dist/problem-matcher.json
2020-10-21T19:36:38.2997441Z ##[debug]Added matchers: 'checkout-git'. Problem matchers scan action output for known warning or error strings and report these inline.
2020-10-21T19:36:38.2998479Z Syncing repository: hectorm/test
2020-10-21T19:36:38.2999789Z ::group::Getting Git version info
2020-10-21T19:36:38.3000320Z ##[group]Getting Git version info
2020-10-21T19:36:38.3001133Z Working directory is '/__w/test/test'
2020-10-21T19:36:38.3041769Z ::endgroup::
2020-10-21T19:36:38.3042207Z ##[endgroup]
2020-10-21T19:36:38.3048632Z Deleting the contents of '/__w/test/test'
2020-10-21T19:36:38.3049554Z The repository will be downloaded using the GitHub REST API
2020-10-21T19:36:38.3050129Z To create a local Git repository instead, add Git 2.18 or higher to the PATH
2020-10-21T19:36:38.3053681Z Downloading the archive
2020-10-21T19:36:38.6242736Z Writing archive to disk
2020-10-21T19:36:38.6273486Z Extracting the archive
2020-10-21T19:36:38.6320630Z [command]/bin/tar xz -C /__w/test/test/5b9760db-5a71-4d57-bd45-1fe849c46ae6 -f /__w/test/test/5b9760db-5a71-4d57-bd45-1fe849c46ae6.tar.gz
2020-10-21T19:36:38.6432063Z Resolved version hectorm-test-20971021580f5e7ffb8aad0fad66630ba95af42e
2020-10-21T19:36:38.6435214Z ::remove-matcher owner=checkout-git,::
2020-10-21T19:36:38.6437922Z ##[debug]Removed matchers: 'checkout-git'
2020-10-21T19:36:38.6773617Z ##[debug]Node Action run completed with exit code 0
2020-10-21T19:36:38.6777605Z ##[debug]Finishing: Run actions/checkout@main
2020-10-21T19:36:38.6783869Z ##[debug]Evaluating condition for step: 'Run /__e/node12/bin/node --version'
2020-10-21T19:36:38.6787695Z ##[debug]Evaluating: success()
2020-10-21T19:36:38.6788252Z ##[debug]Evaluating success:
2020-10-21T19:36:38.6789112Z ##[debug]=> true
2020-10-21T19:36:38.6789680Z ##[debug]Result: true
2020-10-21T19:36:38.6790960Z ##[debug]Starting: Run /__e/node12/bin/node --version
2020-10-21T19:36:38.6802656Z ##[debug]Loading inputs
2020-10-21T19:36:38.6804153Z ##[debug]Loading env
2020-10-21T19:36:38.6811564Z ##[group]Run /__e/node12/bin/node --version
2020-10-21T19:36:38.6812034Z �[36;1m/__e/node12/bin/node --version�[0m
2020-10-21T19:36:38.6812544Z shell: sh -e {0}
2020-10-21T19:36:38.6812931Z ##[endgroup]
2020-10-21T19:36:38.6859252Z ##[debug]sh -e /__w/_temp/532f94a9-190a-4b0d-8f17-4a350e71ae60.sh
2020-10-21T19:36:38.8043924Z v12.13.1
2020-10-21T19:36:38.8361816Z ##[debug]Finishing: Run /__e/node12/bin/node --version
2020-10-21T19:36:38.8366828Z ##[debug]Evaluating condition for step: 'Post Run actions/checkout@main'
2020-10-21T19:36:38.8369126Z ##[debug]Evaluating: always()
2020-10-21T19:36:38.8369555Z ##[debug]Evaluating always:
2020-10-21T19:36:38.8369938Z ##[debug]=> true
2020-10-21T19:36:38.8370430Z ##[debug]Result: true
2020-10-21T19:36:38.8371161Z ##[debug]Starting: Post Run actions/checkout@main
2020-10-21T19:36:38.8407001Z ##[debug]Loading inputs
2020-10-21T19:36:38.8408268Z ##[debug]Evaluating: github.repository
2020-10-21T19:36:38.8408764Z ##[debug]Evaluating Index:
2020-10-21T19:36:38.8409156Z ##[debug]..Evaluating github:
2020-10-21T19:36:38.8409519Z ##[debug]..=> Object
2020-10-21T19:36:38.8409944Z ##[debug]..Evaluating String:
2020-10-21T19:36:38.8410341Z ##[debug]..=> 'repository'
2020-10-21T19:36:38.8410899Z ##[debug]=> 'hectorm/test'
2020-10-21T19:36:38.8411290Z ##[debug]Result: 'hectorm/test'
2020-10-21T19:36:38.8413262Z ##[debug]Evaluating: github.token
2020-10-21T19:36:38.8413683Z ##[debug]Evaluating Index:
2020-10-21T19:36:38.8414054Z ##[debug]..Evaluating github:
2020-10-21T19:36:38.8414397Z ##[debug]..=> Object
2020-10-21T19:36:38.8414736Z ##[debug]..Evaluating String:
2020-10-21T19:36:38.8415063Z ##[debug]..=> 'token'
2020-10-21T19:36:38.8416314Z ##[debug]=> '***'
2020-10-21T19:36:38.8416832Z ##[debug]Result: '***'
2020-10-21T19:36:38.8422690Z ##[debug]Loading env
2020-10-21T19:36:38.8429518Z Post job cleanup.
2020-10-21T19:36:38.8437174Z ##[command]/usr/bin/docker exec  99baa570ec43ff883eeffe4be0b688134cbf5f7d77b61708b02ed153c72f1087 sh -c "cat /etc/*release | grep ^ID"
2020-10-21T19:36:38.9959413Z ##[debug]ID=debian
2020-10-21T19:36:38.9960312Z ##[debug]Running JavaScript Action with default external tool: node12
2020-10-21T19:36:39.2503997Z ##[debug]Node Action run completed with exit code 0
2020-10-21T19:36:39.2506768Z ##[debug]Finishing: Post Run actions/checkout@main
2020-10-21T19:36:39.2512429Z ##[debug]Evaluating condition for step: 'Stop containers'
2020-10-21T19:36:39.2518101Z ##[debug]Evaluating: always()
2020-10-21T19:36:39.2518830Z ##[debug]Evaluating always:
2020-10-21T19:36:39.2519400Z ##[debug]=> true
2020-10-21T19:36:39.2519980Z ##[debug]Result: true
2020-10-21T19:36:39.2521220Z ##[debug]Starting: Stop containers
2020-10-21T19:36:39.2534580Z Stop and remove container: feb618523f554ca28cbdfc8f66c84692_dockeriobusyboxglibc_b28c2a
2020-10-21T19:36:39.2539305Z ##[command]/usr/bin/docker rm --force 99baa570ec43ff883eeffe4be0b688134cbf5f7d77b61708b02ed153c72f1087
2020-10-21T19:36:39.4719340Z 99baa570ec43ff883eeffe4be0b688134cbf5f7d77b61708b02ed153c72f1087
2020-10-21T19:36:39.4773573Z Remove container network: github_network_d79a281bde1b4414bc5e5514c18ae971
2020-10-21T19:36:39.4776883Z ##[command]/usr/bin/docker network rm github_network_d79a281bde1b4414bc5e5514c18ae971
2020-10-21T19:36:39.5907395Z github_network_d79a281bde1b4414bc5e5514c18ae971
2020-10-21T19:36:39.5939988Z ##[debug]Finishing: Stop containers
2020-10-21T19:36:39.5948559Z ##[debug]Starting: Complete job
2020-10-21T19:36:39.5949646Z Uploading runner diagnostic logs
2020-10-21T19:36:39.5955670Z ##[debug]Starting diagnostic file upload.
2020-10-21T19:36:39.5956142Z ##[debug]Setting up diagnostic log folders.
2020-10-21T19:36:39.5958875Z ##[debug]Creating diagnostic log files folder.
2020-10-21T19:36:39.5966210Z ##[debug]Copying 2 worker diagnostic logs.
2020-10-21T19:36:39.5972722Z ##[debug]Copying 1 runner diagnostic logs.
2020-10-21T19:36:39.5973942Z ##[debug]Zipping diagnostic files.
2020-10-21T19:36:39.6026117Z ##[debug]Uploading diagnostic metadata file.
2020-10-21T19:36:39.6073918Z ##[debug]Diagnostic file upload complete.
2020-10-21T19:36:39.6075042Z Completed runner diagnostic log upload
2020-10-21T19:36:39.6075626Z Cleaning up orphan processes
2020-10-21T19:36:39.6377653Z ##[debug]Finishing: Complete job
2020-10-21T19:36:39.6384364Z ##[debug]Finishing: test-with-lib-mount

test-without-lib-mount log

2020-10-21T19:36:23.6146496Z ##[section]Starting: Request a runner to run this job
2020-10-21T19:36:23.8265931Z Can't find any online and idle self-hosted runner in current repository that matches the required labels: 'ubuntu-latest'
2020-10-21T19:36:23.8266045Z Can't find any online and idle self-hosted runner in current repository's account/organization that matches the required labels: 'ubuntu-latest'
2020-10-21T19:36:23.8266256Z Found online and idle hosted runner in current repository's account/organization that matches the required labels: 'ubuntu-latest'
2020-10-21T19:36:24.0337116Z ##[section]Finishing: Request a runner to run this job
2020-10-21T19:36:31.7680754Z ##[debug]Starting: test-without-lib-mount
2020-10-21T19:36:31.7691712Z ##[debug]Cleaning runner temp folder: /home/runner/work/_temp
2020-10-21T19:36:31.7723158Z ##[debug]Starting: Set up job
2020-10-21T19:36:31.7723555Z Current runner version: '2.273.5'
2020-10-21T19:36:31.7753218Z ##[group]Operating System
2020-10-21T19:36:31.7753802Z Ubuntu
2020-10-21T19:36:31.7754074Z 18.04.5
2020-10-21T19:36:31.7754289Z LTS
2020-10-21T19:36:31.7754578Z ##[endgroup]
2020-10-21T19:36:31.7754924Z ##[group]Virtual Environment
2020-10-21T19:36:31.7755335Z Environment: ubuntu-18.04
2020-10-21T19:36:31.7755704Z Version: 20201015.1
2020-10-21T19:36:31.7756439Z Included Software: https://github.com/actions/virtual-environments/blob/ubuntu18/20201015.1/images/linux/Ubuntu1804-README.md
2020-10-21T19:36:31.7757123Z ##[endgroup]
2020-10-21T19:36:31.7757983Z ##[debug]Primary repository: hectorm/test
2020-10-21T19:36:31.7758544Z Prepare workflow directory
2020-10-21T19:36:31.7807802Z ##[debug]Creating pipeline directory: '/home/runner/work/test'
2020-10-21T19:36:31.7810369Z ##[debug]Creating workspace directory: '/home/runner/work/test/test'
2020-10-21T19:36:31.7811685Z ##[debug]Update context data
2020-10-21T19:36:31.7813618Z ##[debug]Evaluating job-level environment variables
2020-10-21T19:36:31.7905477Z ##[debug]Evaluating job container
2020-10-21T19:36:31.7916717Z ##[debug]Evaluating job service containers
2020-10-21T19:36:31.7917545Z ##[debug]Evaluating job defaults
2020-10-21T19:36:31.7926783Z Prepare all required actions
2020-10-21T19:36:31.7934301Z Getting action download info
2020-10-21T19:36:32.0377686Z Download action repository 'actions/checkout@main'
2020-10-21T19:36:32.5396637Z ##[debug]Download 'https://api.github.com/repos/actions/checkout/tarball/c952173edf28a2bd22e1a4926590c1ac39630461' to '/home/runner/work/_actions/_temp_a9d6c8b2-f766-4f0a-b69d-1bd3debd7829/c8f8da8d-7b0f-4384-af9f-61c8782160ee.tar.gz'
2020-10-21T19:36:32.6454138Z ##[debug]Unwrap 'actions-checkout-c952173' to '/home/runner/work/_actions/actions/checkout/main'
2020-10-21T19:36:32.6578047Z ##[debug]Archive '/home/runner/work/_actions/_temp_a9d6c8b2-f766-4f0a-b69d-1bd3debd7829/c8f8da8d-7b0f-4384-af9f-61c8782160ee.tar.gz' has been unzipped into '/home/runner/work/_actions/actions/checkout/main'.
2020-10-21T19:36:33.1881380Z ##[debug]action.yml for action: '/home/runner/work/_actions/actions/checkout/main/action.yml'.
2020-10-21T19:36:33.2441761Z ##[debug]Set step 'run1' display name to: 'Run printf "ID=debian\n" > /etc/os-release'
2020-10-21T19:36:33.2444498Z ##[debug]Set step 'actionscheckout' display name to: 'Run actions/checkout@main'
2020-10-21T19:36:33.2445801Z ##[debug]Set step 'run2' display name to: 'Run /__e/node12/bin/node --version'
2020-10-21T19:36:33.2456510Z ##[debug]Collect running processes for tracking orphan processes.
2020-10-21T19:36:33.2613211Z ##[debug]Finishing: Set up job
2020-10-21T19:36:33.2630598Z ##[debug]Evaluating condition for step: 'Initialize containers'
2020-10-21T19:36:33.2647640Z ##[debug]Evaluating: success()
2020-10-21T19:36:33.2648736Z ##[debug]Evaluating success:
2020-10-21T19:36:33.2657167Z ##[debug]=> true
2020-10-21T19:36:33.2658999Z ##[debug]Result: true
2020-10-21T19:36:33.2665013Z ##[debug]Starting: Initialize containers
2020-10-21T19:36:33.2677345Z ##[debug]Register post job cleanup for stopping/deleting containers.
2020-10-21T19:36:33.2684118Z ##[group]Checking docker version
2020-10-21T19:36:33.2689587Z ##[command]/usr/bin/docker version --format '{{.Server.APIVersion}}'
2020-10-21T19:36:34.0616134Z '1.40'
2020-10-21T19:36:34.0643966Z Docker daemon API version: '1.40'
2020-10-21T19:36:34.0644684Z ##[command]/usr/bin/docker version --format '{{.Client.APIVersion}}'
2020-10-21T19:36:34.1155134Z '1.40'
2020-10-21T19:36:34.1156750Z Docker client API version: '1.40'
2020-10-21T19:36:34.1163708Z ##[endgroup]
2020-10-21T19:36:34.1164347Z ##[group]Clean up resources from previous jobs
2020-10-21T19:36:34.1168075Z ##[command]/usr/bin/docker ps --all --quiet --no-trunc --filter "label=1e5c35"
2020-10-21T19:36:34.1597907Z ##[command]/usr/bin/docker network prune --force --filter "label=1e5c35"
2020-10-21T19:36:34.2012426Z ##[endgroup]
2020-10-21T19:36:34.2012833Z ##[group]Create local container network
2020-10-21T19:36:34.2018449Z ##[command]/usr/bin/docker network create --label 1e5c35 github_network_be3d1c4e36e9432f8083c228b5196e76
2020-10-21T19:36:34.2908717Z ebdde7af26de099e9f32695a2906f79734226b8f538e4ffb58cc484b8e85f5fc
2020-10-21T19:36:34.2937163Z ##[endgroup]
2020-10-21T19:36:34.2944074Z ##[group]Starting job container
2020-10-21T19:36:34.2949697Z ##[command]/usr/bin/docker pull docker.io/busybox:glibc
2020-10-21T19:36:34.5750676Z glibc: Pulling from library/busybox
2020-10-21T19:36:34.6351728Z a398042fcaa4: Pulling fs layer
2020-10-21T19:36:34.7637158Z a398042fcaa4: Verifying Checksum
2020-10-21T19:36:34.7639744Z a398042fcaa4: Download complete
2020-10-21T19:36:34.8839721Z a398042fcaa4: Pull complete
2020-10-21T19:36:34.8841376Z Digest: sha256:30d1412c0f45be67d38b99179866868b1f09fd9013cbacf22813926aee428cf7
2020-10-21T19:36:34.8842168Z Status: Downloaded newer image for busybox:glibc
2020-10-21T19:36:34.8842576Z docker.io/library/busybox:glibc
2020-10-21T19:36:34.8871488Z ##[command]/usr/bin/docker create --name c2d455668a4c446ba2135b1d690354ec_dockeriobusyboxglibc_fd30aa --label 1e5c35 --workdir /__w/test/test --network github_network_be3d1c4e36e9432f8083c228b5196e76  -e "HOME=/github/home" -e GITHUB_ACTIONS=true -e CI=true -v "/var/run/docker.sock":"/var/run/docker.sock" -v "/home/runner/work":"/__w" -v "/home/runner/runners/2.273.5/externals":"/__e":ro -v "/home/runner/work/_temp":"/__w/_temp" -v "/home/runner/work/_actions":"/__w/_actions" -v "/opt/hostedtoolcache":"/__t" -v "/home/runner/work/_temp/_github_home":"/github/home" -v "/home/runner/work/_temp/_github_workflow":"/github/workflow" --entrypoint "tail" docker.io/busybox:glibc "-f" "/dev/null"
2020-10-21T19:36:35.1912695Z f7501978dc55777d78a0a41bcbd509324f5cc2779e78044f151bb910049bb526
2020-10-21T19:36:35.1926511Z ##[command]/usr/bin/docker start f7501978dc55777d78a0a41bcbd509324f5cc2779e78044f151bb910049bb526
2020-10-21T19:36:35.6368900Z f7501978dc55777d78a0a41bcbd509324f5cc2779e78044f151bb910049bb526
2020-10-21T19:36:35.6378790Z ##[command]/usr/bin/docker ps --all --filter id=f7501978dc55777d78a0a41bcbd509324f5cc2779e78044f151bb910049bb526 --filter status=running --no-trunc --format "{{.ID}} {{.Status}}"
2020-10-21T19:36:35.6818777Z f7501978dc55777d78a0a41bcbd509324f5cc2779e78044f151bb910049bb526 Up Less than a second
2020-10-21T19:36:35.6824218Z ##[command]/usr/bin/docker inspect --format "{{range .Config.Env}}{{println .}}{{end}}" f7501978dc55777d78a0a41bcbd509324f5cc2779e78044f151bb910049bb526
2020-10-21T19:36:35.7208590Z HOME=/github/home
2020-10-21T19:36:35.7209123Z GITHUB_ACTIONS=true
2020-10-21T19:36:35.7209533Z CI=true
2020-10-21T19:36:35.7210249Z PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
2020-10-21T19:36:35.7220437Z ##[endgroup]
2020-10-21T19:36:35.7221280Z ##[group]Waiting for all services to be ready
2020-10-21T19:36:35.7222573Z ##[endgroup]
2020-10-21T19:36:35.7230741Z ##[debug]Finishing: Initialize containers
2020-10-21T19:36:35.7243596Z ##[debug]Evaluating condition for step: 'Run printf "ID=debian\n" > /etc/os-release'
2020-10-21T19:36:35.7248399Z ##[debug]Evaluating: success()
2020-10-21T19:36:35.7249017Z ##[debug]Evaluating success:
2020-10-21T19:36:35.7249961Z ##[debug]=> true
2020-10-21T19:36:35.7250569Z ##[debug]Result: true
2020-10-21T19:36:35.7252047Z ##[debug]Starting: Run printf "ID=debian\n" > /etc/os-release
2020-10-21T19:36:35.7298233Z ##[debug]Loading inputs
2020-10-21T19:36:35.7300314Z ##[debug]Loading env
2020-10-21T19:36:35.7342311Z ##[group]Run printf "ID=debian\n" > /etc/os-release
2020-10-21T19:36:35.7342782Z �[36;1mprintf "ID=debian\n" > /etc/os-release�[0m
2020-10-21T19:36:35.7344564Z shell: sh -e {0}
2020-10-21T19:36:35.7344899Z ##[endgroup]
2020-10-21T19:36:35.7412782Z ##[debug]sh -e /__w/_temp/8838678d-d229-4cfc-835b-a11245e44669.sh
2020-10-21T19:36:35.8867666Z ##[debug]Finishing: Run printf "ID=debian\n" > /etc/os-release
2020-10-21T19:36:35.8874104Z ##[debug]Evaluating condition for step: 'Run actions/checkout@main'
2020-10-21T19:36:35.8877369Z ##[debug]Evaluating: success()
2020-10-21T19:36:35.8877979Z ##[debug]Evaluating success:
2020-10-21T19:36:35.8878771Z ##[debug]=> true
2020-10-21T19:36:35.8879347Z ##[debug]Result: true
2020-10-21T19:36:35.8880915Z ##[debug]Starting: Run actions/checkout@main
2020-10-21T19:36:35.8912861Z ##[debug]Register post job cleanup for action: actions/checkout@main
2020-10-21T19:36:35.8950959Z ##[debug]Loading inputs
2020-10-21T19:36:35.8953700Z ##[debug]Evaluating: github.repository
2020-10-21T19:36:35.8954400Z ##[debug]Evaluating Index:
2020-10-21T19:36:35.8955284Z ##[debug]..Evaluating github:
2020-10-21T19:36:35.8956073Z ##[debug]..=> Object
2020-10-21T19:36:35.8957556Z ##[debug]..Evaluating String:
2020-10-21T19:36:35.8958043Z ##[debug]..=> 'repository'
2020-10-21T19:36:35.8961056Z ##[debug]=> 'hectorm/test'
2020-10-21T19:36:35.8961678Z ##[debug]Result: 'hectorm/test'
2020-10-21T19:36:35.8964614Z ##[debug]Evaluating: github.token
2020-10-21T19:36:35.8965054Z ##[debug]Evaluating Index:
2020-10-21T19:36:35.8965449Z ##[debug]..Evaluating github:
2020-10-21T19:36:35.8965822Z ##[debug]..=> Object
2020-10-21T19:36:35.8966218Z ##[debug]..Evaluating String:
2020-10-21T19:36:35.8966567Z ##[debug]..=> 'token'
2020-10-21T19:36:35.8968211Z ##[debug]=> '***'
2020-10-21T19:36:35.8968840Z ##[debug]Result: '***'
2020-10-21T19:36:35.8975682Z ##[debug]Loading env
2020-10-21T19:36:35.8986212Z ##[group]Run actions/checkout@main
2020-10-21T19:36:35.8986548Z with:
2020-10-21T19:36:35.8986857Z   repository: hectorm/test
2020-10-21T19:36:35.8987565Z   token: ***
2020-10-21T19:36:35.8987858Z   ssh-strict: true
2020-10-21T19:36:35.8988244Z   persist-credentials: true
2020-10-21T19:36:35.8988589Z   clean: true
2020-10-21T19:36:35.8988872Z   fetch-depth: 1
2020-10-21T19:36:35.8989150Z   lfs: false
2020-10-21T19:36:35.8989437Z   submodules: false
2020-10-21T19:36:35.8989735Z ##[endgroup]
2020-10-21T19:36:35.9006876Z ##[command]/usr/bin/docker exec  f7501978dc55777d78a0a41bcbd509324f5cc2779e78044f151bb910049bb526 sh -c "cat /etc/*release | grep ^ID"
2020-10-21T19:36:36.0440727Z ##[debug]ID=debian
2020-10-21T19:36:36.0441472Z ##[debug]Running JavaScript Action with default external tool: node12
2020-10-21T19:36:36.1683431Z /__e/node12/bin/node: error while loading shared libraries: libdl.so.2: cannot open shared object file: No such file or directory
2020-10-21T19:36:36.2015026Z ##[debug]Node Action run completed with exit code 127
2020-10-21T19:36:36.2017678Z ##[debug]Finishing: Run actions/checkout@main
2020-10-21T19:36:36.2022620Z ##[debug]Evaluating condition for step: 'Run /__e/node12/bin/node --version'
2020-10-21T19:36:36.2024370Z ##[debug]Evaluating: success()
2020-10-21T19:36:36.2024890Z ##[debug]Evaluating success:
2020-10-21T19:36:36.2025364Z ##[debug]=> false
2020-10-21T19:36:36.2025872Z ##[debug]Result: false
2020-10-21T19:36:36.2031314Z ##[debug]Evaluating condition for step: 'Post Run actions/checkout@main'
2020-10-21T19:36:36.2033333Z ##[debug]Evaluating: always()
2020-10-21T19:36:36.2033834Z ##[debug]Evaluating always:
2020-10-21T19:36:36.2034270Z ##[debug]=> true
2020-10-21T19:36:36.2034832Z ##[debug]Result: true
2020-10-21T19:36:36.2035546Z ##[debug]Starting: Post Run actions/checkout@main
2020-10-21T19:36:36.2067879Z ##[debug]Loading inputs
2020-10-21T19:36:36.2069021Z ##[debug]Evaluating: github.repository
2020-10-21T19:36:36.2069472Z ##[debug]Evaluating Index:
2020-10-21T19:36:36.2069856Z ##[debug]..Evaluating github:
2020-10-21T19:36:36.2070594Z ##[debug]..=> Object
2020-10-21T19:36:36.2070969Z ##[debug]..Evaluating String:
2020-10-21T19:36:36.2071517Z ##[debug]..=> 'repository'
2020-10-21T19:36:36.2071933Z ##[debug]=> 'hectorm/test'
2020-10-21T19:36:36.2072332Z ##[debug]Result: 'hectorm/test'
2020-10-21T19:36:36.2074782Z ##[debug]Evaluating: github.token
2020-10-21T19:36:36.2075254Z ##[debug]Evaluating Index:
2020-10-21T19:36:36.2075669Z ##[debug]..Evaluating github:
2020-10-21T19:36:36.2076182Z ##[debug]..=> Object
2020-10-21T19:36:36.2076563Z ##[debug]..Evaluating String:
2020-10-21T19:36:36.2076924Z ##[debug]..=> 'token'
2020-10-21T19:36:36.2077709Z ##[debug]=> '***'
2020-10-21T19:36:36.2078336Z ##[debug]Result: '***'
2020-10-21T19:36:36.2086169Z ##[debug]Loading env
2020-10-21T19:36:36.2092723Z Post job cleanup.
2020-10-21T19:36:36.2097080Z ##[command]/usr/bin/docker exec  f7501978dc55777d78a0a41bcbd509324f5cc2779e78044f151bb910049bb526 sh -c "cat /etc/*release | grep ^ID"
2020-10-21T19:36:36.3517642Z ##[debug]ID=debian
2020-10-21T19:36:36.3518158Z ##[debug]Running JavaScript Action with default external tool: node12
2020-10-21T19:36:36.4598292Z /__e/node12/bin/node: error while loading shared libraries: libdl.so.2: cannot open shared object file: No such file or directory
2020-10-21T19:36:36.5025788Z ##[debug]Node Action run completed with exit code 127
2020-10-21T19:36:36.5031478Z ##[debug]Finishing: Post Run actions/checkout@main
2020-10-21T19:36:36.5042028Z ##[debug]Evaluating condition for step: 'Stop containers'
2020-10-21T19:36:36.5054413Z ##[debug]Evaluating: always()
2020-10-21T19:36:36.5055994Z ##[debug]Evaluating always:
2020-10-21T19:36:36.5057497Z ##[debug]=> true
2020-10-21T19:36:36.5058915Z ##[debug]Result: true
2020-10-21T19:36:36.5060966Z ##[debug]Starting: Stop containers
2020-10-21T19:36:36.5073428Z Stop and remove container: c2d455668a4c446ba2135b1d690354ec_dockeriobusyboxglibc_fd30aa
2020-10-21T19:36:36.5098608Z ##[command]/usr/bin/docker rm --force f7501978dc55777d78a0a41bcbd509324f5cc2779e78044f151bb910049bb526
2020-10-21T19:36:36.7286546Z f7501978dc55777d78a0a41bcbd509324f5cc2779e78044f151bb910049bb526
2020-10-21T19:36:36.7326394Z Remove container network: github_network_be3d1c4e36e9432f8083c228b5196e76
2020-10-21T19:36:36.7329797Z ##[command]/usr/bin/docker network rm github_network_be3d1c4e36e9432f8083c228b5196e76
2020-10-21T19:36:36.8535933Z github_network_be3d1c4e36e9432f8083c228b5196e76
2020-10-21T19:36:36.8566356Z ##[debug]Finishing: Stop containers
2020-10-21T19:36:36.8573540Z ##[debug]Starting: Complete job
2020-10-21T19:36:36.8574427Z Uploading runner diagnostic logs
2020-10-21T19:36:36.8579479Z ##[debug]Starting diagnostic file upload.
2020-10-21T19:36:36.8579854Z ##[debug]Setting up diagnostic log folders.
2020-10-21T19:36:36.8581874Z ##[debug]Creating diagnostic log files folder.
2020-10-21T19:36:36.8588039Z ##[debug]Copying 2 worker diagnostic logs.
2020-10-21T19:36:36.8593617Z ##[debug]Copying 1 runner diagnostic logs.
2020-10-21T19:36:36.8594904Z ##[debug]Zipping diagnostic files.
2020-10-21T19:36:36.8641098Z ##[debug]Uploading diagnostic metadata file.
2020-10-21T19:36:36.8686131Z ##[debug]Diagnostic file upload complete.
2020-10-21T19:36:36.8686962Z Completed runner diagnostic log upload
2020-10-21T19:36:36.8687382Z Cleaning up orphan processes
2020-10-21T19:36:36.9019512Z ##[debug]Finishing: Complete job
2020-10-21T19:36:36.9025530Z ##[debug]Finishing: test-without-lib-mount

@infinisil
Copy link

infinisil commented Oct 24, 2020

Nice, I also looked into this again and figured it out in Nix's case as well, see teamniteo/nix-docker-base@0a5ceed for the fix for nix-docker-base
In short:

  • The node binary uses /lib64/ld-linux-x86-64.so.2 as the dynamic linker, so make sure that exists. For Nix, this should be ${pkgs.glibc}/lib/ld-linux-x86-64.so.2
  • The binary also depends on the dynamic library libstdc++.so.6, which by default isn't found, because Nix's glibc linker doesn't look into any /lib, etc. directories for finding libraries. The easiest way to make it find that library is by setting LD_LIBRARY_PATH to ${pkgs.stdenv.cc.cc.lib}/lib.

What I used for debugging:

  • Getting the node binary that GitHub Actions use:
    $ curl -L https://github.com/actions/runner/releases/download/v2.273.5/actions-runner-linux-x64-2.273.5.tar.gz \
      | tar -zxf- ./externals/node12/bin/node
    
  • Starting your Docker image with the externals folder mounted like the runner does:
    $ docker run -it -v $PWD/externals:/__e my-image
    
  • Using file to inspect the dynamic linker path:
    [docker]$ file /__e/node12/bin/node 
    /__e/node12/bin/node: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked,
      interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=78d3113df82429048fda632489c1b285c80716c3, with debug_info, not stripped
    
  • Running ldd on the binary to see any missing libraries:
    [docker]$ ldd /__e/node12/bin/node
      linux-vdso.so.1 (0x00007fffc67ce000)
      libdl.so.2 => /nix/store/9df65igwjmf2wbw0gbrrgair6piqjgmi-glibc-2.31/lib/libdl.so.2 (0x00007f231924c000)
      libstdc++.so.6 => not found
      libm.so.6 => /nix/store/9df65igwjmf2wbw0gbrrgair6piqjgmi-glibc-2.31/lib/libm.so.6 (0x00007f231910b000)
      libgcc_s.so.1 => /nix/store/9df65igwjmf2wbw0gbrrgair6piqjgmi-glibc-2.31/lib/libgcc_s.so.1 (0x00007f23190f1000)
      libpthread.so.0 => /nix/store/9df65igwjmf2wbw0gbrrgair6piqjgmi-glibc-2.31/lib/libpthread.so.0 (0x00007f23190d0000)
      libc.so.6 => /nix/store/9df65igwjmf2wbw0gbrrgair6piqjgmi-glibc-2.31/lib/libc.so.6 (0x00007f2318f11000)
      /lib64/ld-linux-x86-64.so.2 => /nix/store/9df65igwjmf2wbw0gbrrgair6piqjgmi-glibc-2.31/lib64/ld-linux-x86-64.so.2 (0x00007f2319253000)
    
    Here you can also see all the dynamic libraries the binary depends on. See https://man7.org/linux/man-pages/man8/ld.so.8.html for how these libraries are resolved and more info on how linking works. Setting LD_TRACE_LOADED_OBJECTS=1, LD_DEBUG=all and LD_VERBOSE=1 are useful for debugging linking.
  • The final goal is to make this binary executable:
    [docker]$ /__e/node12/bin/node --version
    v12.13.1
    
    If that doesn't work, it also won't work in GitHub Actions

@smorimoto
Copy link

smorimoto commented Nov 14, 2020

After all, this PR #70 turned this action into an action called "JavaScript Actions", so we can use v1 to checkout the code without any extra hacks.

@smorimoto
Copy link

smorimoto commented Nov 14, 2020

ping: @ericsciple

@erikkn
Copy link

erikkn commented Nov 16, 2020

Hey @smorimoto , using checkout@v1 works for me! I know this is a question is related to an entirely different action and repo/project, but I hoped that you might have an idea: I am having the exact same issue/error with actions/cache (both v1 and v2).

Run actions/cache@v1
/usr/bin/docker exec  beacc08dc0d54990f867e35ee08df25b44b7babe6554461e1d48c3463ff4705f sh -c "cat /etc/*release | grep ^ID"
OCI runtime exec failed: exec failed: container_linux.go:349: starting container process caused "exec: \"/__e/node12/bin/node\": stat /__e/node12/bin/node: no such file or directory": unknown

@smorimoto
Copy link

smorimoto commented Nov 17, 2020

@erikkn Both v1 and v2 of the cache action depends on Node.js. ​That's why it fails. ​For the same reason, setup actions that depend on Node.js will fail. The reason v1 of the checkout action works is that it depends only on Bash. (The source for v1 of the checkout action was not published, but it was Bash if I remember correctly.)

@erikkn
Copy link

erikkn commented Nov 17, 2020

Thanks for that info, helped me understand the error more :).

Since some people in this thread also mentioned the summerwind/actions-controller, I think the actual error message, in that case, is strongly related to the /__e directory not properly being mounted when you do DinD. In case your workflow has container: <xyz> check that container when your build is running and specifically the /__e mount point cc @https://github.com/shusson

@igagis
Copy link

igagis commented Dec 21, 2020

I'm getting similar error when running ARM architecture container on self-hosted runner with qemu:

/usr/bin/docker exec  fa8d097e192742620c108ab888c3ba9551b08ae35c3fca2414f7f652a8ee1476 sh -c "cat /etc/*release | grep ^ID"
OCI runtime exec failed: exec failed: container_linux.go:370: starting container process caused: no such file or directory: unknown

Here is the run https://github.com/cppfw/myci/runs/1583234188?check_suite_focus=true

Do I understand right that the checkout action, which is a javascript action, in this case is run inside of the container and since there is no nodejs present in the container it can't run the action?

I tried installing nodejs inside of the container before performing actions/checkout@v2 but it did not help, same error.

@ItsReddi
Copy link

ItsReddi commented Feb 1, 2021

@erikkn did you manage to configure the actions properly?
atm we are using checkout@v1 because of this issue but we are unable to use cache.
any example action would be nice (with DinD)

@smorimoto
Copy link

@erikkn
Copy link

erikkn commented Feb 1, 2021

@ItsReddi yeah that sounds familiar. I got this error while using the summerwind/actions-runner-controler, so my troubleshooting was pretty much limited to that project. I created an upstream PR in that project, which got meged and confirmed to work now.

@ItsReddi
Copy link

ItsReddi commented Feb 2, 2021

Debug of checkout@v2, cache@v2/v1 same error:

##[debug]Evaluating condition for step: 'Check out repository code'
##[debug]Evaluating: success()
##[debug]Evaluating success:
##[debug]=> true
##[debug]Result: true
##[debug]Starting: Check out repository code
##[debug]Register post job cleanup for action: actions/checkout@v2
##[debug]Loading inputs
##[debug]Evaluating: github.repository
##[debug]Evaluating Index:
##[debug]..Evaluating github:
##[debug]..=> Object
##[debug]..Evaluating String:
##[debug]..=> 'repository'
##[debug]=> '***'
##[debug]Result: '***'
##[debug]Evaluating: github.token
##[debug]Evaluating Index:
##[debug]..Evaluating github:
##[debug]..=> Object
##[debug]..Evaluating String:
##[debug]..=> 'token'
##[debug]=> '***'
##[debug]Result: '***'
##[debug]Loading env
Run actions/checkout@v2
  with:
    repository: ***
    token: ***
    ssh-strict: true
    persist-credentials: true
    clean: true
    fetch-depth: 1
    lfs: false
    submodules: false
/usr/bin/docker exec  7bc6bd185174710b983b441c8dcebbc52ba6d4e7348c2fa84e2c4eeb37f101f0 sh -c "cat /etc/*release | grep ^ID"
##[debug]ID=alpine
##[debug]Container distribution is alpine. Running JavaScript Action with external tool: node12_alpine
OCI runtime exec failed: exec failed: container_linux.go:349: starting container process caused "exec: \"/__e/node12_alpine/bin/node\": stat /__e/node12_alpine/bin/node: no such file or directory": unknown
##[debug]Node Action run completed with exit code 126
##[debug]Finishing: Check out repository code

@smorimoto
Copy link

Here seems to be notable errors:

##[debug]Container distribution is alpine. Running JavaScript Action with external tool: node12_alpine
OCI runtime exec failed: exec failed: container_linux.go:349: starting container process caused "exec: \"/__e/node12_alpine/bin/node\": stat /__e/node12_alpine/bin/node: no such file or directory": unknown

@dac73
Copy link

dac73 commented May 18, 2023

Just had this error, but my issue was that I was trying to do it in Docker-From-Docker (DooD). In order to run it in DooD host has to have the runner files.

Hope it helps someone.

@RazvanGherlea
Copy link

RazvanGherlea commented Aug 4, 2023

I am experiencing the same issue. With ECS(Ec2 autoscaling group) self hosted runner. When running in DIND, respectively when executing a build with container flag

# A workflow run is made up of one or more jobs that can run sequentially or in parallel also
jobs:
  # This workflow contains a single job called "build"
  build:
    # The type of runner that the job will run on
    runs-on: self-hosted
    container: 
      image: ubuntu:latest

Error:

Run printf "ID=debian\n" > /etc/os-release
  printf "ID=debian\n" > /etc/os-release
  shell: sh -e {0}
  
sh: can't open '/__w/_temp/5e43f1d[2](https://github.com/x/testing-self-hosted-runner/actions/runs/5762128572/job/15621310714#step:3:2)-c1d7-[4](https://github.com/x/testing-self-hosted-
runner/actions/runs/5762128572/job/15621310714#step:3:4)c1f-9d1[4](https://github.com/x/testing-self-hosted-
runner/actions/runs/5762128572/job/15621310714#step:3:5)-f020c2[5](https://github.com/x/testing-self-hosted-
runner/actions/runs/5762128572/job/15621310714#step:3:6)6cece.sh': No such file or directory
Error: Process completed with exit code 2.

Is there any setting we can hardcode in the workflow -> container block to bypass this ?

@FloThinksPi
Copy link

FloThinksPi commented Mar 20, 2024

Running actions inside a container based on the nix base image, following workaround could others find helpfull:

      steps:
        - name: Apply Workaround for Dynamically Linked NodeJS
          run: |
            # Hacks to get the mounted nodejs by github actions work as its dynamically linked
            # https://github.com/actions/checkout/issues/334#issuecomment-716068696
            nix build --no-link --max-jobs 2 --cores 0 'nixpkgs#stdenv.cc.cc.lib' 'nixpkgs#glibc'
            echo "LD_LIBRARY_PATH=$(nix path-info 'nixpkgs#stdenv.cc.cc.lib')/lib" >> "$GITHUB_ENV"
            ln -s "$(nix path-info 'nixpkgs#glibc' --recursive | grep glibc | grep -v bin)/lib64" /lib64

It makes no sense that the runner uses volume mounts to add dynamically linked stuff into the container.
The runner shall either include a statically linked binary or rely on the containers nodejs version imho.
I`ll try and adress this somewhere :)

@michaelbertoni-ep
Copy link

Hello, what is the current workaround for this issue ?

tompollard added a commit to MIT-LCP/wfdb-python that referenced this issue Jul 3, 2024
#495)

The "[run
tests](https://github.com/MIT-LCP/wfdb-python/blob/main/.github/workflows/run-tests.yml)"
GitHub workflow is raising [several
warnings](https://github.com/MIT-LCP/wfdb-python/actions/runs/9783079800)
about deprecated actions:

e.g.

> `[build (ubuntu-latest,
3.9)](https://github.com/MIT-LCP/wfdb-python/actions/runs/9783079800/job/27011340622)
The following actions uses Node.js version which is deprecated and will
be forced to run on node20: actions/checkout@v2,
actions/setup-python@v2. For more info:
https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/[build
(ubuntu-latest,
3.9)](https://github.com/MIT-LCP/wfdb-python/actions/runs/9783079800/job/27011340622)
The following actions uses Node.js version which is deprecated and will
be forced to run on node20: actions/checkout@v2,
actions/setup-python@v2. For more info:
https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/`

This pull request updates the actions to the latest versions:

- actions/checkout@v2 -> actions/checkout@v3
- actions/setup-python@v2 -> actions/setup-python@v4

Note there is one outdated action that will need addressing at some
point. As of today, the issue does not appear to have been addressed:
actions/checkout#334

```
      # Note: "actions/checkout@v2" requires libstdc++6:amd64 to be
      # installed in the container.  To keep things simple, use
      # "actions/checkout@v1" instead.
      # actions/checkout#334
```
mu40 added a commit to mu40/ansible-bootstrap that referenced this issue Aug 25, 2024
@akku1139
Copy link

akku1139 commented Oct 24, 2024

#334 (comment) #334 (comment)

I had a similar problem with i386/debian-slim,

Run actions/checkout@v4
/usr/bin/docker exec  e99282e6ec0789f99b047a443c45da932fcbd8609e2cdb6d017ce82902535f4e sh -c "cat /etc/*release | grep ^ID"
exec /__e/node20/bin/node: no such file or directory

This occurs because node is missing some required 64-bit libraries.
Therefore, by installing AMD64 nodejs, you can install the missing libraries as a side effect.

dpkg --add-architecture amd64
apt-get update
apt-get install nodejs:amd64 -y

This step must be runed before other steps.

EliahKagan added a commit to EliahKagan/gitoxide that referenced this issue Nov 13, 2024
According to
actions/checkout#334 (comment),
which is aboute a different but related problem, some 64-bit
libraries are missing that get keep the (it seems, existing and
already mapped) Node.js outside the container from being run, and
installing Node.js in the container with `apt-get` installs the
necessary dependencies, allowing the (existing) Node.js to be used.

Although the error is reported differently (here, the error does
not say anything about `/etc/*release`, the effect where it looks
like the `node` binary does not run but actually something *it*
tries to run does not run, seems to be the same. So maybe this
will help.
EliahKagan added a commit to EliahKagan/gitoxide that referenced this issue Nov 13, 2024
This is a workaround for a problem that is the same or similar to
actions/checkout#334:

    Run actions/checkout@v4
    /usr/bin/docker exec  a7f94cb30b99bd1ee851270fad4768421eddecd7e8fa674f56c4f2d2d64210b6 sh -c "cat /etc/*release | grep ^ID"
    exec /__e/node20/bin/node: no such file or directory

I had not originally noticed the `cat /etc/*release` part of that
output, and had surmised that this was a subtly different problem,
but it looks like it's probably exactly the same. The workaround in
actions/checkout#334 (comment)
is applied in this commit and seems to be working.

As noted there, the absence of some 64-bit libraries in 32-bit
containers prevents the (existing and already mapped) 64-bit
Node.js outside the container from being run, and installing 64-bit
Node.js in the container via `apt-get` (even though, in this case,
it is a different version) installs the needed dependencies,
letting the (existing) Node.js run.

(Other problems, related to `safe.directory` protections as well as
tests that are known to fail due to assertions about the size of
data structures that implicitly assume 64-bit targets, do still
prevent the job from succeeding. But `actions/checkout@v4`, which
was failing before, seems to be working, as do the other actions.)
EliahKagan added a commit to EliahKagan/gitoxide that referenced this issue Nov 14, 2024
Installing `nodejs:amd64` in a 32-bit container to work around
actions/checkout#334 works by causing
64-bit libraries the external mapped `node20` needs (even though
`nodejs:amd64` in Debian is Node 18), as described in
actions/checkout#334 (comment).
But this installed more packages than are needed.

It turns out that, at least with this image, the only libraries the
container is missing are the 32-bit libstdc++ and its dependencies.
It is therefore sufficient to install the `libstdc++6:amd64`
package. This commit makes that change, squashing a few
investigatory steps that led to it (#5).

* See if libssl3:amd64 is all we need

* Temporarily omit even libssl3:amd64

With only `libssl3:amd64` and its dependencies, `actions/checkout`
did fail, but with a different error than before, showing a clear
error about a missing library, `libstdc++`.

    /usr/bin/docker exec  c1e55a75713e2c4fd08241fae9f4fecbe3cbb179be45174b3138390a1238090e sh -c "cat /etc/*release | grep ^ID"
    /__e/node20/bin/node: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

Before trying adding that, I want to check that enabling `amd64` in
`dpkg` has the expected *no effect* on the error messages, compared
to not enabling it.

* Install libstdc++6:amd64 in the container

This does not add back libssl3:amd64 yet, in case it is not needed,
though I expect that it will be needed.
EliahKagan added a commit to EliahKagan/gitoxide that referenced this issue Nov 14, 2024
Installing `nodejs:amd64` in a 32-bit container to work around
actions/checkout#334 works by causing
64-bit libraries the external mapped `node20` needs (even though
`nodejs:amd64` in Debian is Node 18), as described in
actions/checkout#334 (comment).
But this installed more packages than are needed.

It turns out that, at least with this image, the only libraries the
container is missing are the 32-bit libstdc++ and its dependencies.
It is therefore sufficient to install the `libstdc++6:amd64`
package. This commit makes that change, squashing a few
investigatory steps that led to it (#5).

* See if libssl3:amd64 is all we need

* Temporarily omit even libssl3:amd64

With only `libssl3:amd64` and its dependencies, `actions/checkout`
did fail, but with a different error than before, showing a clear
error about a missing library, `libstdc++`.

    /usr/bin/docker exec  c1e55a75713e2c4fd08241fae9f4fecbe3cbb179be45174b3138390a1238090e sh -c "cat /etc/*release | grep ^ID"
    /__e/node20/bin/node: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

Before trying adding that, I want to check that enabling `amd64` in
`dpkg` has the expected *no effect* on the error messages, compared
to not enabling it.

* Install libstdc++6:amd64 in the container

This does not add back libssl3:amd64 yet, in case it is not needed,
though I expect that it will be needed.
EliahKagan added a commit to EliahKagan/gitoxide that referenced this issue Nov 14, 2024
This is a workaround for a problem that is the same or similar to
actions/checkout#334:

    Run actions/checkout@v4
    /usr/bin/docker exec  a7f94cb30b99bd1ee851270fad4768421eddecd7e8fa674f56c4f2d2d64210b6 sh -c "cat /etc/*release | grep ^ID"
    exec /__e/node20/bin/node: no such file or directory

I had not originally noticed the `cat /etc/*release` part of that
output, and had surmised that this was a subtly different problem,
but it looks like it's probably exactly the same. The workaround in
actions/checkout#334 (comment)
is applied in this commit and seems to be working.

As noted there, the absence of some 64-bit libraries in 32-bit
containers prevents the (existing and already mapped) 64-bit
Node.js outside the container from being run, and installing 64-bit
Node.js in the container via `apt-get` (even though, in this case,
it is a different version) installs the needed dependencies,
letting the (existing) Node.js run.

(Other problems, related to `safe.directory` protections as well as
tests that are known to fail due to assertions about the size of
data structures that implicitly assume 64-bit targets, do still
prevent the job from succeeding. But `actions/checkout@v4`, which
was failing before, seems to be working, as do the other actions.)
EliahKagan added a commit to EliahKagan/gitoxide that referenced this issue Nov 14, 2024
Installing `nodejs:amd64` in a 32-bit container to work around
actions/checkout#334 works by causing
64-bit libraries the external mapped `node20` needs (even though
`nodejs:amd64` in Debian is Node 18), as described in
actions/checkout#334 (comment).
But this installed more packages than are needed.

It turns out that, at least with this image, the only libraries the
container is missing are the 32-bit libstdc++ and its dependencies.
It is therefore sufficient to install the `libstdc++6:amd64`
package. This commit makes that change, squashing a few
investigatory steps that led to it (#5).

* See if libssl3:amd64 is all we need

* Temporarily omit even libssl3:amd64

With only `libssl3:amd64` and its dependencies, `actions/checkout`
did fail, but with a different error than before, showing a clear
error about a missing library, `libstdc++`.

    /usr/bin/docker exec  c1e55a75713e2c4fd08241fae9f4fecbe3cbb179be45174b3138390a1238090e sh -c "cat /etc/*release | grep ^ID"
    /__e/node20/bin/node: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

Before trying adding that, I want to check that enabling `amd64` in
`dpkg` has the expected *no effect* on the error messages, compared
to not enabling it.

* Install libstdc++6:amd64 in the container

This does not add back libssl3:amd64 yet, in case it is not needed,
though I expect that it will be needed.
EliahKagan added a commit to EliahKagan/gitoxide that referenced this issue Nov 14, 2024
This is a workaround for a problem that is the same or similar to
actions/checkout#334:

    Run actions/checkout@v4
    /usr/bin/docker exec  a7f94cb30b99bd1ee851270fad4768421eddecd7e8fa674f56c4f2d2d64210b6 sh -c "cat /etc/*release | grep ^ID"
    exec /__e/node20/bin/node: no such file or directory

I had not originally noticed the `cat /etc/*release` part of that
output, and had surmised that this was a subtly different problem,
but it looks like it's probably exactly the same. The workaround in
actions/checkout#334 (comment)
is applied in this commit and seems to be working.

As noted there, the absence of some 64-bit libraries in 32-bit
containers prevents the (existing and already mapped) 64-bit
Node.js outside the container from being run, and installing 64-bit
Node.js in the container via `apt-get` (even though, in this case,
it is a different version) installs the needed dependencies,
letting the (existing) Node.js run.

(Other problems, related to `safe.directory` protections as well as
tests that are known to fail due to assertions about the size of
data structures that implicitly assume 64-bit targets, do still
prevent the job from succeeding. But `actions/checkout@v4`, which
was failing before, seems to be working, as do the other actions.)
EliahKagan added a commit to EliahKagan/gitoxide that referenced this issue Nov 14, 2024
Installing `nodejs:amd64` in a 32-bit container to work around
actions/checkout#334 works by causing
64-bit libraries the external mapped `node20` needs (even though
`nodejs:amd64` in Debian is Node 18), as described in
actions/checkout#334 (comment).
But this installed more packages than are needed.

It turns out that, at least with this image, the only libraries the
container is missing are the 32-bit libstdc++ and its dependencies.
It is therefore sufficient to install the `libstdc++6:amd64`
package. This commit makes that change, squashing a few
investigatory steps that led to it (#5).

* See if libssl3:amd64 is all we need

* Temporarily omit even libssl3:amd64

With only `libssl3:amd64` and its dependencies, `actions/checkout`
did fail, but with a different error than before, showing a clear
error about a missing library, `libstdc++`.

    /usr/bin/docker exec  c1e55a75713e2c4fd08241fae9f4fecbe3cbb179be45174b3138390a1238090e sh -c "cat /etc/*release | grep ^ID"
    /__e/node20/bin/node: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

Before trying adding that, I want to check that enabling `amd64` in
`dpkg` has the expected *no effect* on the error messages, compared
to not enabling it.

* Install libstdc++6:amd64 in the container

This does not add back libssl3:amd64 yet, in case it is not needed,
though I expect that it will be needed.
EliahKagan added a commit to EliahKagan/gitoxide that referenced this issue Nov 15, 2024
This is a workaround for a problem that is the same or similar to
actions/checkout#334:

    Run actions/checkout@v4
    /usr/bin/docker exec  a7f94cb30b99bd1ee851270fad4768421eddecd7e8fa674f56c4f2d2d64210b6 sh -c "cat /etc/*release | grep ^ID"
    exec /__e/node20/bin/node: no such file or directory

I had not originally noticed the `cat /etc/*release` part of that
output, and had surmised that this was a subtly different problem,
but it looks like it's probably exactly the same. The workaround in
actions/checkout#334 (comment)
is applied in this commit and seems to be working.

As noted there, the absence of some 64-bit libraries in 32-bit
containers prevents the (existing and already mapped) 64-bit
Node.js outside the container from being run, and installing 64-bit
Node.js in the container via `apt-get` (even though, in this case,
it is a different version) installs the needed dependencies,
letting the (existing) Node.js run.

(Other problems, related to `safe.directory` protections as well as
tests that are known to fail due to assertions about the size of
data structures that implicitly assume 64-bit targets, do still
prevent the job from succeeding. But `actions/checkout@v4`, which
was failing before, seems to be working, as do the other actions.)
EliahKagan added a commit to EliahKagan/gitoxide that referenced this issue Nov 15, 2024
Installing `nodejs:amd64` in a 32-bit container to work around
actions/checkout#334 works by causing
64-bit libraries the external mapped `node20` needs (even though
`nodejs:amd64` in Debian is Node 18), as described in
actions/checkout#334 (comment).
But this installed more packages than are needed.

It turns out that, at least with this image, the only libraries the
container is missing are the 32-bit libstdc++ and its dependencies.
It is therefore sufficient to install the `libstdc++6:amd64`
package. This commit makes that change, squashing a few
investigatory steps that led to it (#5).

* See if libssl3:amd64 is all we need

* Temporarily omit even libssl3:amd64

With only `libssl3:amd64` and its dependencies, `actions/checkout`
did fail, but with a different error than before, showing a clear
error about a missing library, `libstdc++`.

    /usr/bin/docker exec  c1e55a75713e2c4fd08241fae9f4fecbe3cbb179be45174b3138390a1238090e sh -c "cat /etc/*release | grep ^ID"
    /__e/node20/bin/node: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

Before trying adding that, I want to check that enabling `amd64` in
`dpkg` has the expected *no effect* on the error messages, compared
to not enabling it.

* Install libstdc++6:amd64 in the container

This does not add back libssl3:amd64 yet, in case it is not needed,
though I expect that it will be needed.
EliahKagan added a commit to EliahKagan/gitoxide that referenced this issue Nov 15, 2024
This is a workaround for a problem that is the same or similar to
actions/checkout#334:

    Run actions/checkout@v4
    /usr/bin/docker exec  a7f94cb30b99bd1ee851270fad4768421eddecd7e8fa674f56c4f2d2d64210b6 sh -c "cat /etc/*release | grep ^ID"
    exec /__e/node20/bin/node: no such file or directory

I had not originally noticed the `cat /etc/*release` part of that
output, and had surmised that this was a subtly different problem,
but it looks like it's probably exactly the same. The workaround in
actions/checkout#334 (comment)
is applied in this commit and seems to be working.

As noted there, the absence of some 64-bit libraries in 32-bit
containers prevents the (existing and already mapped) 64-bit
Node.js outside the container from being run, and installing 64-bit
Node.js in the container via `apt-get` (even though, in this case,
it is a different version) installs the needed dependencies,
letting the (existing) Node.js run.

(Other problems, related to `safe.directory` protections as well as
tests that are known to fail due to assertions about the size of
data structures that implicitly assume 64-bit targets, do still
prevent the job from succeeding. But `actions/checkout@v4`, which
was failing before, seems to be working, as do the other actions.)
EliahKagan added a commit to EliahKagan/gitoxide that referenced this issue Nov 15, 2024
Installing `nodejs:amd64` in a 32-bit container to work around
actions/checkout#334 works by causing
64-bit libraries the external mapped `node20` needs (even though
`nodejs:amd64` in Debian is Node 18), as described in
actions/checkout#334 (comment).
But this installed more packages than are needed.

It turns out that, at least with this image, the only libraries the
container is missing are the 32-bit libstdc++ and its dependencies.
It is therefore sufficient to install the `libstdc++6:amd64`
package. This commit makes that change, squashing a few
investigatory steps that led to it (#5).

* See if libssl3:amd64 is all we need

* Temporarily omit even libssl3:amd64

With only `libssl3:amd64` and its dependencies, `actions/checkout`
did fail, but with a different error than before, showing a clear
error about a missing library, `libstdc++`.

    /usr/bin/docker exec  c1e55a75713e2c4fd08241fae9f4fecbe3cbb179be45174b3138390a1238090e sh -c "cat /etc/*release | grep ^ID"
    /__e/node20/bin/node: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

Before trying adding that, I want to check that enabling `amd64` in
`dpkg` has the expected *no effect* on the error messages, compared
to not enabling it.

* Install libstdc++6:amd64 in the container

This does not add back libssl3:amd64 yet, in case it is not needed,
though I expect that it will be needed.
EliahKagan added a commit to EliahKagan/gitoxide that referenced this issue Nov 17, 2024
This is a workaround for a problem that is the same or similar to
actions/checkout#334:

    Run actions/checkout@v4
    /usr/bin/docker exec  a7f94cb30b99bd1ee851270fad4768421eddecd7e8fa674f56c4f2d2d64210b6 sh -c "cat /etc/*release | grep ^ID"
    exec /__e/node20/bin/node: no such file or directory

I had not originally noticed the `cat /etc/*release` part of that
output, and had surmised that this was a subtly different problem,
but it looks like it's probably exactly the same. The workaround in
actions/checkout#334 (comment)
is applied in this commit and seems to be working.

As noted there, the absence of some 64-bit libraries in 32-bit
containers prevents the (existing and already mapped) 64-bit
Node.js outside the container from being run, and installing 64-bit
Node.js in the container via `apt-get` (even though, in this case,
it is a different version) installs the needed dependencies,
letting the (existing) Node.js run.

(Other problems, related to `safe.directory` protections as well as
tests that are known to fail due to assertions about the size of
data structures that implicitly assume 64-bit targets, do still
prevent the job from succeeding. But `actions/checkout@v4`, which
was failing before, seems to be working, as do the other actions.)
EliahKagan added a commit to EliahKagan/gitoxide that referenced this issue Nov 17, 2024
Installing `nodejs:amd64` in a 32-bit container to work around
actions/checkout#334 works by causing
64-bit libraries the external mapped `node20` needs (even though
`nodejs:amd64` in Debian is Node 18), as described in
actions/checkout#334 (comment).
But this installed more packages than are needed.

It turns out that, at least with this image, the only libraries the
container is missing are the 32-bit libstdc++ and its dependencies.
It is therefore sufficient to install the `libstdc++6:amd64`
package. This commit makes that change, squashing a few
investigatory steps that led to it (#5).

* See if libssl3:amd64 is all we need

* Temporarily omit even libssl3:amd64

With only `libssl3:amd64` and its dependencies, `actions/checkout`
did fail, but with a different error than before, showing a clear
error about a missing library, `libstdc++`.

    /usr/bin/docker exec  c1e55a75713e2c4fd08241fae9f4fecbe3cbb179be45174b3138390a1238090e sh -c "cat /etc/*release | grep ^ID"
    /__e/node20/bin/node: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

Before trying adding that, I want to check that enabling `amd64` in
`dpkg` has the expected *no effect* on the error messages, compared
to not enabling it.

* Install libstdc++6:amd64 in the container

This does not add back libssl3:amd64 yet, in case it is not needed,
though I expect that it will be needed.
EliahKagan added a commit to EliahKagan/gitoxide that referenced this issue Nov 17, 2024
This is a workaround for a problem that is the same or similar to
actions/checkout#334:

    Run actions/checkout@v4
    /usr/bin/docker exec  a7f94cb30b99bd1ee851270fad4768421eddecd7e8fa674f56c4f2d2d64210b6 sh -c "cat /etc/*release | grep ^ID"
    exec /__e/node20/bin/node: no such file or directory

I had not originally noticed the `cat /etc/*release` part of that
output, and had surmised that this was a subtly different problem,
but it looks like it's probably exactly the same. The workaround in
actions/checkout#334 (comment)
is applied in this commit and seems to be working.

As noted there, the absence of some 64-bit libraries in 32-bit
containers prevents the (existing and already mapped) 64-bit
Node.js outside the container from being run, and installing 64-bit
Node.js in the container via `apt-get` (even though, in this case,
it is a different version) installs the needed dependencies,
letting the (existing) Node.js run.

(Other problems, related to `safe.directory` protections as well as
tests that are known to fail due to assertions about the size of
data structures that implicitly assume 64-bit targets, do still
prevent the job from succeeding. But `actions/checkout@v4`, which
was failing before, seems to be working, as do the other actions.)
EliahKagan added a commit to EliahKagan/gitoxide that referenced this issue Nov 17, 2024
Installing `nodejs:amd64` in a 32-bit container to work around
actions/checkout#334 works by causing
64-bit libraries the external mapped `node20` needs (even though
`nodejs:amd64` in Debian is Node 18), as described in
actions/checkout#334 (comment).
But this installed more packages than are needed.

It turns out that, at least with this image, the only libraries the
container is missing are the 32-bit libstdc++ and its dependencies.
It is therefore sufficient to install the `libstdc++6:amd64`
package. This commit makes that change, squashing a few
investigatory steps that led to it (#5).

* See if libssl3:amd64 is all we need

* Temporarily omit even libssl3:amd64

With only `libssl3:amd64` and its dependencies, `actions/checkout`
did fail, but with a different error than before, showing a clear
error about a missing library, `libstdc++`.

    /usr/bin/docker exec  c1e55a75713e2c4fd08241fae9f4fecbe3cbb179be45174b3138390a1238090e sh -c "cat /etc/*release | grep ^ID"
    /__e/node20/bin/node: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

Before trying adding that, I want to check that enabling `amd64` in
`dpkg` has the expected *no effect* on the error messages, compared
to not enabling it.

* Install libstdc++6:amd64 in the container

This does not add back libssl3:amd64 yet, in case it is not needed,
though I expect that it will be needed.
EliahKagan added a commit to EliahKagan/gitoxide that referenced this issue Nov 17, 2024
Installing `nodejs:amd64` in a 32-bit container to work around
actions/checkout#334 works by causing
64-bit libraries the external mapped `node20` needs (even though
`nodejs:amd64` in Debian is Node 18), as described in
actions/checkout#334 (comment).
But this installed more packages than are needed.

It turns out that, at least with this image, the only libraries the
container is missing are the 32-bit libstdc++ and its dependencies.
It is therefore sufficient to install the `libstdc++6:amd64`
package. This commit makes that change, squashing a few
investigatory steps that led to it (#5).

* See if libssl3:amd64 is all we need

* Temporarily omit even libssl3:amd64

With only `libssl3:amd64` and its dependencies, `actions/checkout`
did fail, but with a different error than before, showing a clear
error about a missing library, `libstdc++`.

    /usr/bin/docker exec  c1e55a75713e2c4fd08241fae9f4fecbe3cbb179be45174b3138390a1238090e sh -c "cat /etc/*release | grep ^ID"
    /__e/node20/bin/node: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

Before trying adding that, I want to check that enabling `amd64` in
`dpkg` has the expected *no effect* on the error messages, compared
to not enabling it.

* Install libstdc++6:amd64 in the container

This does not add back libssl3:amd64 yet, in case it is not needed,
though I expect that it will be needed.
EliahKagan added a commit to EliahKagan/gitoxide that referenced this issue Nov 17, 2024
Installing `nodejs:amd64` in a 32-bit container to work around
actions/checkout#334 works by causing
64-bit libraries the external mapped `node20` needs (even though
`nodejs:amd64` in Debian is Node 18), as described in
actions/checkout#334 (comment).
But this installed more packages than are needed.

It turns out that, at least with this image, the only libraries the
container is missing are the 32-bit libstdc++ and its dependencies.
It is therefore sufficient to install the `libstdc++6:amd64`
package. This commit makes that change, squashing a few
investigatory steps that led to it (#5).

* See if libssl3:amd64 is all we need

* Temporarily omit even libssl3:amd64

With only `libssl3:amd64` and its dependencies, `actions/checkout`
did fail, but with a different error than before, showing a clear
error about a missing library, `libstdc++`.

    /usr/bin/docker exec  c1e55a75713e2c4fd08241fae9f4fecbe3cbb179be45174b3138390a1238090e sh -c "cat /etc/*release | grep ^ID"
    /__e/node20/bin/node: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

Before trying adding that, I want to check that enabling `amd64` in
`dpkg` has the expected *no effect* on the error messages, compared
to not enabling it.

* Install libstdc++6:amd64 in the container

This does not add back libssl3:amd64 yet, in case it is not needed,
though I expect that it will be needed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests