Virtual-environments: puppeteer can't launch chromium, missing shared library libgbm.so

Created on 16 Apr 2020  路  9Comments  路  Source: actions/virtual-environments

Describe the bug
My build actions involve running puppeteer tests with chromium. Today (April 16th, 2020) I started to get the following message:

Starting Chrome Headless
/opt/hostedtoolcache/Python/3.7.6/x64/share/jupyter/lab/browser_test/chrome-test.js:51
  throw up;
  ^

Error: Failed to launch the browser process!
/opt/hostedtoolcache/Python/3.7.6/x64/share/jupyter/lab/browser_test/node_modules/puppeteer/.local-chromium/linux-737027/chrome-linux/chrome: error while loading shared libraries: libgbm.so.1: cannot open shared object file: No such file or directory

Area for Triage:

Question, Bug, or Feature?:
Bug

Virtual environments affected

  • [ ] macOS 10.15
  • [ ] Ubuntu 16.04 LTS
  • [x] Ubuntu 18.04 LTS
  • [ ] Windows Server 2016 R2
  • [ ] Windows Server 2019

Expected behavior
The file should not be missing and chrome should be able to launch.

How to reproduce:
make an Jupyterlab extension with cookiecutter: https://github.com/jupyterlab/extension-cookiecutter-ts
upload it to github into a new repo, make a vanilla commit to trigger build.
Complete build log from my repo from 16.04.2020:
https://github.com/nandor-poka/ebml-tools-jl/runs/592321981?check_suite_focus=true

Log to successful build from 14.04.2020:
https://github.com/nandor-poka/ebml-tools-jl/actions/runs/78143605

Python Scripting and command line Ubuntu

Most helpful comment

Both builds run on the same image version, the only difference is the puppeteer version [email protected](success) vs [email protected](fail) and it seems the new version requires additional libraries.
I've tried to install libgdm in runtime and it helped. Could you please add these lines to your yml file?

        sudo apt-get update
        sudo apt-get install -y libgbm-dev

All 9 comments

@nandor-poka could you please provide a link to successful build?

Looks like it's all about puppeteer 3.0.0
https://github.com/puppeteer/puppeteer/issues/5661

@nandor-poka could you please provide a link to successful build?

Edited issue with link to successful build from 2 days ago (there were no builds yesterday)

Both builds run on the same image version, the only difference is the puppeteer version [email protected](success) vs [email protected](fail) and it seems the new version requires additional libraries.
I've tried to install libgdm in runtime and it helped. Could you please add these lines to your yml file?

        sudo apt-get update
        sudo apt-get install -y libgbm-dev

sudo apt-get update
sudo apt-get install -y libgbm-dev

That did the trick, thank you. I modified my build.yml to have this

- name: Install dependencies
      run: |
        python -m pip install jupyterlab
        sudo apt-get update
        sudo apt-get install -y libgbm-dev

and now it works again.
I think this can be closed.

@nandor-poka glad to hear! We're going to add libgbm library to the Ubuntu images, so let's leave this issue open until that if you don't mind.

@nandor-poka glad to hear! We're going to add libgbm library to the Ubuntu images, so let's leave this issue open until that if you don't mind.

I don't mind at all, I was merely looking at the issue from my perspective :)

@miketimofeev FYI the dependency to fix this is actually libgbm1. The development version libgbm-dev is not mandatory.

See https://github.com/puppeteer/puppeteer/pull/5693.

The image with libgbm has been deployed.
@nandor-poka feel free to ping me if you have any concerns.
Thank you!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ethomson picture ethomson  路  4Comments

mxschmitt picture mxschmitt  路  3Comments

orj picture orj  路  4Comments

adamsiembida picture adamsiembida  路  3Comments

Tnze picture Tnze  路  4Comments