alpine-chrome: chromium-browser not starting

Describe the bug First I want to thank you for this image, which is really helpful for our build system. However, since today it seems like chromium fails to start with, displaying the following error:

Error relocating /usr/lib/chromium/chrome: _ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev: symbol not found

It looks like this happens since the last image was pushed (5 hours ago)

To Reproduce Steps to reproduce the behavior:

  1. Execute docker container run -it --rm --entrypoint "" zenika/alpine-chrome chromium-browser --version
  2. See error
Error relocating /usr/lib/chromium/chrome: _ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev: symbol not found
Error relocating /usr/lib/chromium/chrome: _ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev: symbol not found
Error relocating /usr/lib/chromium/chrome: _ZNSt19_Sp_make_shared_tag5_S_eqERKSt9type_info: symbol not found

I was able to reproduce the issue on multiple machines (mac and linux)

What is the expected behavior? Chromium should be able to start and display its version

What is the actual behavior? Chromium crashes

Possible solutions I don’t know yet but I’ll try to dig in see if I find something. If anybody knows how to fix it right away that would be greatly appreciated.

Versions

Software Version(s) How-to
Chromium ? docker run -it --rm --entrypoint "" zenika/alpine-chrome chromium-browser --version
Image zenika/alpine-chrome@sha256:794b317131be727d5b7489e42f28d62f400d1aa7ffade0948f0fd7942e9d27c9 docker image inspect --format='{{index .RepoDigests 0}}' zenika/alpine-chrome
Docker Engine 19.03.2 docker version

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Reactions: 10
  • Comments: 37 (17 by maintainers)

Commits related to this issue

Most upvoted comments

@ardeois you need to upgrade libstdc++ to let chromium starts apk add libstdc++@edge

Hi there! I just tried @wtayyeb suggestion and it’s working 🎉 https://github.com/Zenika/alpine-chrome/pull/41

@paretl I’ve pushed a 76-with-puppeteer version. See here

@FibreFoX full installation command is like below on a pure alpine1.10 image

    apk add --no-cache chromium@edge harfbuzz@edge nss@edge freetype@edge ttf-freefont@edge libstdc++@edge

For your information, I just manually published a 76-with-node version for your needs.

docker container run -it --rm --entrypoint "" zenika/alpine-chrome:76-with-node chromium-browser --version

Chromium 76.0.3809.132 

What about the one with the with-puppeteer tag ? This image has the exact same error with the latest version. For the moment I rebuild the image with the version 76 of Chrome. @jlandure If you can publish a 76-with-puppeteer version it would be very great 😄 Thank you in advance!

Hi there 👋

Sorry for the delay. Thanks @chadlwilson for your precious replies. 💚 Indeed, with-node has no version but I created the issue #38 to fix that. 👌

Has someone investigated why Chromium 77 create this error? 🤔

We also ran into this with the :with-node images. Since we extend this image anyway; we could around it with a similar approach to @robwilde

FROM zenika/alpine-chrome:with-node
USER root
# Workaround for https://github.com/Zenika/alpine-chrome/issues/39
RUN apk add --no-cache chromium@edge=73.0.3683.103-r0
USER chrome

# ...

Would be great if we could get versioned variants of the with-node tags here as these images are very convenient. 😃

Thank @jlandure I confirm using latest docker version fixed the issue. Should I close this issue or I let you close it?

Thank you @jlandure I think it could be a great idea to have a tag with the chrome version for each one (in the future of course). It will permit to us to have a fix version of this image into our pipeline We can talk about it if you want

FROM zenika/alpine-chrome:with-node@sha256:a449df361d60dddef4f5b7de8d31e6c57d7a0feef74b6ac42b777fe30b7aef85

Is also an option for those who want to use the old image in its entirety - the one that had Chromium 76 prior to its removal from Alpine’s repository.

$ chromium-browser --version
Chromium 76.0.3809.132

Thank you for that!

Issue closed! Thanks everyone for your support 🎉

Do not hesitate to give information on your usage with this image using the issue template “support”. I am thinking of refactoring the readme and add a contributor page like this one

@paretl 💡 Yes Indeed. I’m trying to do it in #38 🙌

@wtayyeb I tried this, but did not work:

apk add --no-cache chromium@edge chromium-chromedriver@edge libstdc++@edge

Result:

Error relocating /usr/lib/chromium/chrome: _ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev: symbol not found
Error relocating /usr/lib/chromium/chrome: _ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev: symbol not found
Error relocating /usr/lib/chromium/chrome: _ZNSt19_Sp_make_shared_tag5_S_eqERKSt9type_info: symbol not found

Looks like Alpine is broken, probably due to a missing patch or so 😦

EDIT: Running chromedriver directly explodes the same way, so I assume a generic problem in the Alpine version

/ # /usr/lib/chromium/chromedriver
Error relocating /usr/lib/chromium/chromedriver: _ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev: symbol not found
Error relocating /usr/lib/chromium/chromedriver: _ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev: symbol not found
Error relocating /usr/lib/chromium/chromedriver: _ZNSt19_Sp_make_shared_tag5_S_eqERKSt9type_info: symbol not found

EDIT 2:

I dug a bit deeper, there are similar issues on other projects (like this one https://gitlab.alpinelinux.org/alpine/aports/issues/4758) and to me it seems that there is a compability-problem, which might not be that easy to get resolved. Mixing repositories seems to be not good with Alpine-Chromium/Chromedriver anymore 😿

Thanks @jlandure - that’s nicer than a direct SHA FROM instruction 😃

FROM zenika/alpine-chrome:with-node@sha256:a449df361d60dddef4f5b7de8d31e6c57d7a0feef74b6ac42b777fe30b7aef85

Is also an option for those who want to use the old image in its entirety - the one that had Chromium 76 prior to its removal from Alpine’s repository.

$ chromium-browser --version
Chromium 76.0.3809.132

Thank you for the analysis. I indeed got around the issue by fixing the version of the docker image. However, as we’re using with-node tag, and this tag is not versioned, we had to duplicate what this Dockerfile is doing https://github.com/Zenika/alpine-chrome/blob/0e0678f13b63556c1a6ec3a406de01ad0fc68b16/with-node/Dockerfile#L4-L9

I guess fixing this issue would have avoided that override, but it’s not a big deal for now https://github.com/Zenika/alpine-chrome/issues/38

For your information, the latest version installed is Chromium 77.0.3865.75-r0. We have to investigate to check what’s the problem. 🙌

Hi @ardeois

Thank for your warm feedback 👋 I got the same error in the build done by the Docker Hub. 👌

Error relocating /usr/lib/chromium/chrome: _ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev: symbol not found

@teddy-error Thank for your suggestion. 👍

You could do that but the best way managing docker image is to set the version of the image used using a tag like zenika/alpine-chrome:76 (available versions listed here)

For of all, we can set the version of the docker image using:

docker container run -it --rm --entrypoint "" zenika/alpine-chrome:76 chromium-browser --version

@robwilde @teddy-error 📝 I think the change is around the apk add chromium@edge (L20) You could set a version: apk add chromium@[VERSION] Available versions of Chromium are listed here

@ardeois The Chromium version you used (in the table ?) is 77.0.3865.75-r0.

Cloning the Dockerfile and downgrading the Chromium version eliminated this error. Didn’t test many due to crunch here but found no such issue with chromium@edge=72.0.3626.121-r0. So, issue seems to be upstream