awalsh128/cache-apt-pkgs-action

ffmpeg can't load LibVorbis shared library

eddierubeiz opened this issue · 9 comments

Hi there,

I wanted to report a problem loading the LibVorbis shared library (details below.) Thanks for taking a look. Happy to try and provide more details as needed.

Our cache-apt-pkgs-action config was:

        - name: Install apt dependencies
          uses: awalsh128/cache-apt-pkgs-action@latest
          with:
            packages: libvips-tools ffmpeg mediainfo poppler-utils
            version: 1.0

(See sciencehistory/scihist_digicoll@4a4d80f )

The problem looks like this:

Running `ffmpeg -y -i /tmp/shrine20221130-3705-db66qh.flac -ac 1 -codec:a aac -b:a 64k /tmp/temp_deriv20221130-3705-e1b0o7.m4a` failed with
         exit status: 127
         stdout: Nothing written
         stderr: ffmpeg: error while loading shared libraries: libvorbis.so.0: cannot open shared object file: No such file or directory
     # ./app/uploaders/asset_uploader.rb:103:in `block in <class:AssetUploader>'
     # ./spec/models/asset/derivatives_spec.rb:45:in `block (4 levels) in <main>'

More details on the system:

Current runner version: '2.299.1'
Operating System
  Ubuntu
  [2](https://github.com/sciencehistory/scihist_digicoll/actions/runs/3587564450/jobs/6038052228#step:1:2)2.04.1
  LTS
Runner Image
  Image: ubuntu-22.04
  Version: 20221119.2
  Included Software: https://github.com/actions/runner-images/blob/ubuntu22/20221119.2/images/linux/Ubuntu2204-Readme.md
  Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu22%2F20221119.2
Runner Image Provisioner
  2.0.91.1
GITHUB_TOKEN Permissions
  Actions: write
  Checks: write
  Contents: write
  Deployments: write
  Discussions: write
  Issues: write
  Metadata: read
  Packages: write
  Pages: write
  PullRequests: write
  RepositoryProjects: write
  SecurityEvents: write
  Statuses: write
Secret source: Actions
Prepare workflow directory
Prepare all required actions
Getting action download info
Download action repository 'actions/checkout@v[3](https://github.com/sciencehistory/scihist_digicoll/actions/runs/3587564450/jobs/6038052228#step:1:3)' (SHA:93ea575cb5d8a053eaa0ac8fa3b[4](https://github.com/sciencehistory/scihist_digicoll/actions/runs/3587564450/jobs/6038052228#step:1:4)0d7e0[5](https://github.com/sciencehistory/scihist_digicoll/actions/runs/3587564450/jobs/6038052228#step:1:5)a33cc8)
Download action repository 'ruby/setup-ruby@v1' (SHA:c7079efafd95[6](https://github.com/sciencehistory/scihist_digicoll/actions/runs/3587564450/jobs/6038052228#step:1:7)afb5d823e8999c2506e1053aefa)
Download action repository 'awalsh128/cache-apt-pkgs-action@latest' (SHA:d93c95e39c0450c48c3e0c2b2ad2993f33da[7](https://github.com/sciencehistory/scihist_digicoll/actions/runs/3587564450/jobs/6038052228#step:1:8)[8](https://github.com/sciencehistory/scihist_digicoll/actions/runs/3587564450/jobs/6038052228#step:1:9)6a)
Download action repository 'actions/cache@v3' (SHA:[9](https://github.com/sciencehistory/scihist_digicoll/actions/runs/3587564450/jobs/6038052228#step:1:10)b0c1fce7a93df8e3bb8926b0d6e9d89e92f[20](https://github.com/sciencehistory/scihist_digicoll/actions/runs/3587564450/jobs/6038052228#step:1:23)a7)
Getting action download info

More apt dependencies details:

Run awalsh128/cache-apt-pkgs-action@latest
  with:
    packages: libvips-tools ffmpeg mediainfo poppler-utils
    version: 1
    refresh: false
  env:
    POSTGRES_HOST: localhost
    POSTGRES_USER: postgres
    POSTGRES_PASSWORD: [redacted]
Run /home/runner/work/_actions/awalsh1[2](https://github.com/sciencehistory/scihist_digicoll/actions/runs/3587564450/jobs/6038052228#step:5:2)8/cache-apt-pkgs-action/latest/pre_cache_action.sh \
  /home/runner/work/_actions/awalsh128/cache-apt-pkgs-action/latest/pre_cache_action.sh \
    ~/cache-apt-pkgs \
    "1" \
    libvips-tools ffmpeg mediainfo poppler-utils
  echo "CACHE_KEY=$(cat ~/cache-apt-pkgs/cache_key.md5)" >> $GITHUB_ENV
  shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
  env:
    POSTGRES_HOST: localhost
    POSTGRES_USER: postgres
    POSTGRES_PASSWORD: [redacted]
grep: /tmp/cache-apt-pkgs-action-cache/install.log: No such file or directory

22:21:22 Validating action arguments (version='1', packages='ffmpeg libvips-tools mediainfo poppler-utils ')...
22:21:22 done

22:21:22 Verifying packages...
22:21:27 done

22:21:27 Creating cache key...
22:21:27 - Normalized package list is 'ffmpeg=7:4.4.2-0ubuntu0.22.04.1 libvips-tools=8.12.1-1build1 mediainfo=22.0[3](https://github.com/sciencehistory/scihist_digicoll/actions/runs/3587564450/jobs/6038052228#step:5:3)-1 poppler-utils=22.02.0-2ubuntu0.1 '.
22:21:27 - Value to hash is 'ffmpeg=7:[4](https://github.com/sciencehistory/scihist_digicoll/actions/runs/3587564450/jobs/6038052228#step:5:4).4.2-0ubuntu0.22.04.1 libvips-tools=8.12.1-1build1 mediainfo=22.03-1 poppler-utils=22.02.0-2ubuntu0.1  @ 1'.
22:21:27 - Value hashed as '87ce79a200bd4a0efe1[5](https://github.com/sciencehistory/scihist_digicoll/actions/runs/3587564450/jobs/6038052228#step:5:5)adf59[6](https://github.com/sciencehistory/scihist_digicoll/actions/runs/3587564450/jobs/6038052228#step:5:6)d3e[7](https://github.com/sciencehistory/scihist_digicoll/actions/runs/3587564450/jobs/6038052228#step:5:7)7b'.
22:21:27 done
22:21:27 Hash value written to /home/runner/cache-apt-pkgs/cache_key.md5
Run actions/cache@v3
Received 6710[8](https://github.com/sciencehistory/scihist_digicoll/actions/runs/3587564450/jobs/6038052228#step:5:8)864 of 115881604 (57.[9](https://github.com/sciencehistory/scihist_digicoll/actions/runs/3587564450/jobs/6038052228#step:5:9)%), 63.9 MBs/sec
Received 115881604 of 115881604 ([10](https://github.com/sciencehistory/scihist_digicoll/actions/runs/3587564450/jobs/6038052228#step:5:11)0.0%), 74.4 MBs/sec
Cache Size: ~[11](https://github.com/sciencehistory/scihist_digicoll/actions/runs/3587564450/jobs/6038052228#step:5:12)1 MB (115881604 B)
/usr/bin/tar --use-compress-program unzstd -xf /home/runner/work/_temp/6bfb0e5b-cb98-4453-9ddf-c7315ea03048/cache.tzst -P -C /home/runner/work/scihist_digicoll/scihist_digicoll
22:21:33   done
22:21:33 - libxcb-shape0:1.[14](https://github.com/sciencehistory/scihist_digicoll/actions/runs/3587564450/jobs/6038052228#step:5:15)-3ubuntu3.tar.gz restoring...
22:21:33   done
22:21:33 - libxv1:2:1.0.11-1build2.tar.gz restoring...
22:21:33   done
22:21:33 - libxvidcore4:2:1.3.7-1.tar.gz restoring...
22:21:33   done
22:21:33 - libzimg2:3.0.3+ds1-1.tar.gz restoring...
22:21:33   done
22:21:33 - libzvbi-common:0.2.35-[19](https://github.com/sciencehistory/scihist_digicoll/actions/runs/3587564450/jobs/6038052228#step:5:20).tar.gz restoring...
22:[21](https://github.com/sciencehistory/scihist_digicoll/actions/runs/3587564450/jobs/6038052228#step:5:23):33   done
[22](https://github.com/sciencehistory/scihist_digicoll/actions/runs/3587564450/jobs/6038052228#step:5:24):21:[33](https://github.com/sciencehistory/scihist_digicoll/actions/runs/3587564450/jobs/6038052228#step:5:35) - libzvbi0:0.2.35-19.tar.gz restoring...
22:21:33   done
22:21:33 - mesa-va-drivers:22.0.5-0ubuntu0.1.tar.gz restoring...
22:21:33   done
22:21:[34](https://github.com/sciencehistory/scihist_digicoll/actions/runs/3587564450/jobs/6038052228#step:5:36) - mesa-vdpau-drivers:22.0.5-0ubuntu0.1.tar.gz restoring...
22:21:34   done
22:21:34 - nip2:8.7.1-2build1.tar.gz restoring...
22:21:34   done
22:21:34 - ocl-icd-libopencl1:2.2.14-3.tar.gz restoring...
22:21:34   done
22:21:34 - pocketsphinx-en-us:0.8.0+real5prealpha+1-14ubuntu1.tar.gz restoring...
22:21:34   done
22:21:34 - poppler-data:0.4.11-1.tar.gz restoring...
22:21:34   done
22:21:34 - poppler-utils:22.02.0-2ubuntu0.1.tar.gz restoring...
22:21:34   done
22:21:34 - va-driver-all:2.14.0-1.tar.gz restoring...
22:21:34   done
22:21:34 - vdpau-driver-all:1.4-3build2.tar.gz restoring...
22:21:34   done
22:21:34 done

This may be related to #57 which hits the limit for what this action can do. Although there may be another reason here.

apt-cache depends ffmpeg

ffmpeg
  Depends: libavcodec58
    libavcodec-extra58
  Depends: libavdevice58
  Depends: libavfilter7
    libavfilter-extra7
  Depends: libavformat58
  Depends: libavresample4
  Depends: libavutil56
  Depends: libc6
  Depends: libpostproc55
  Depends: libsdl2-2.0-0
  Depends: libswresample3
  Depends: libswscale5
  Breaks: <libav-tools>
  Breaks: <qt-faststart>
  Breaks: winff
  Suggests: ffmpeg-doc
  Replaces: <libav-tools>
  Replaces: <qt-faststart>

You can see that libvorbis isn't in the direct dependencies. Although the action grabs the transitive deps from the installation output.

apt-get install ffmpeg | grep Unpacking | grep libvorbis
Unpacking libvorbis0a:amd64 (1.3.6-2ubuntu1) ...
Unpacking libvorbisenc2:amd64 (1.3.6-2ubuntu1) ...
Unpacking libvorbisfile3:amd64 (1.3.6-2ubuntu1) ...

Which catches the right one. I am not sure why it isn't showing up in the list though of cached.

Can you turn on the debug flag for the action. It will capture the log files and put them into the run artifacts at the bottom of the screen. Post those here please.

Hi @eddierubeiz, would you be able to get around to this?

Yes, of course. Will try and post results this week.

Hi @eddierubeiz, any updates here?

@awalsh128 : I am no longer able to reproduce this problem.
Thanks for the reminder and will be attaching logs shortly.

Here is an extract from our CI logs for

Run awalsh128/cache-apt-pkgs-action@latest
  with:
    packages: libvips-tools ffmpeg mediainfo poppler-utils

Works just fine.
With my apologies for not posting this ten months ago.

No problem, I just replied. lol