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

raspberry pi Chromium revision is not downloaded #550

Open
aminjoharinia opened this issue Aug 25, 2017 · 71 comments
Labels

Comments

@aminjoharinia
Copy link

@aminjoharinia aminjoharinia commented Aug 25, 2017

Hi
i use raspbian stretch and i install puppeteer with npm but it did not download chromium
the os has the latest chromium
chromium-browser is already the newest version (60.0.3112.89-0ubuntu0.14.04.1.1010).
but when i run codes i have get error
(node:4035) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): AssertionError [ERR_ASSERTION]: Chromium revision is not downloaded. Run "npm install" (node:4035) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
i also test npm install as it says but not working
what should i do?

@ebidel ebidel added the host label Aug 25, 2017
@aslushnikov

This comment has been minimized.

Copy link
Collaborator

@aslushnikov aslushnikov commented Aug 27, 2017

@aminjoharinia Does the npm install puppeteer throw an error for you? Do you have any HTTP proxy installed?

@aminjoharinia

This comment has been minimized.

Copy link
Author

@aminjoharinia aminjoharinia commented Aug 27, 2017

@aslushnikov
No there is no error
I tested with different networks
At the same time , i installed Windows version and it's works fine but in raspberian it does not install browser

@zberhe

This comment has been minimized.

Copy link

@zberhe zberhe commented Aug 28, 2017

I am also running into this issue AssertionError: Chromium revision is not downloaded. Run "npm install". I am running on Mac behind a corporate proxy. My .local-chromium directory is empty.

@aminjoharinia

This comment has been minimized.

Copy link
Author

@aminjoharinia aminjoharinia commented Sep 1, 2017

after many attempts finally chromium downloaded but there is not any folder like .local-chromium in node modules/puppeteer
does it support linux armh ?
could i manually download the file and unzip it?
here is the error
i also download and install all dependces

/home/pi/node_modules/puppeteer/.local-chromium/linux-496140/chrome-linux/chrome: 1: /home/pi/node_modules/puppeteer/.local-chromium/linux-496140/chrome-linux/chrome: �ELF����: not found
/home/pi/node_modules/puppeteer/.local-chromium/linux-496140/chrome-linux/chrome: 2: /home/pi/node_modules/puppeteer/.local-chromium/linux-496140/chrome-linux/chrome: cannot open ��: No such file
/home/pi/node_modules/puppeteer/.local-chromium/linux-496140/chrome-linux/chrome: 3: /home/pi/node_modules/puppeteer/.local-chromium/linux-496140/chrome-linux/chrome: ��: not found
/home/pi/node_modules/puppeteer/.local-chromium/linux-496140/chrome-linux/chrome: 4: /home/pi/node_modules/puppeteer/.local-chromium/linux-496140/chrome-linux/chrome: ��: not found
/home/pi/node_modules/puppeteer/.local-chromium/linux-496140/chrome-linux/chrome: 5: /home/pi/node_modules/puppeteer/.local-chromium/linux-496140/chrome-linux/chrome: ��: not found
/home/pi/node_modules/puppeteer/.local-chromium/linux-496140/chrome-linux/chrome: 6: /home/pi/node_modules/puppeteer/.local-chromium/linux-496140/chrome-linux/chrome: ��: not found
/home/pi/node_modules/puppeteer/.local-chromium/linux-496140/chrome-linux/chrome: 7: /home/pi/node_modules/puppeteer/.local-chromium/linux-496140/chrome-linux/chrome: ��: not found
/home/pi/node_modules/puppeteer/.local-chromium/linux-496140/chrome-linux/chrome: 8: /home/pi/node_modules/puppeteer/.local-chromium/linux-496140/chrome-linux/chrome: Syntax error: ")" unexpected


TROUBLESHOOTING: https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md

(node:6293) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.```
@saghul

This comment has been minimized.

Copy link

@saghul saghul commented Sep 2, 2017

Looks like the downloaded version is x86_64, not arm:

chrome: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, not stripped

vs the one in raspbian:

chromium-browser: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 3.2.0, not stripped
@saghul

This comment has been minimized.

Copy link

@saghul saghul commented Sep 2, 2017

Also, it doesn't seem to work with the version in raspbian anyway:

(node:2069) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Timed out after 30000 ms while trying to connect to Chrome! The only Chrome revision guaranteed to work is r497674
(node:2069) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
@Silur

This comment has been minimized.

Copy link

@Silur Silur commented Sep 12, 2017

I tried to make a patch for utils/ChromiumDownloader.js but seems like there are no arm64 snapshots and it doesn't worth to only support 32bit arm :/
so my suggestion @saghul is to use browser.launch({executablePath: 'chromium'}) and set the env flag PUPPETEER_SKIP_CHROMIUM_DOWNLOAD

@Brunocg

This comment has been minimized.

Copy link

@Brunocg Brunocg commented Sep 12, 2017

Im going through the exactly same problem.

use browser.launch({executablePath: 'chromium'})

Didn't work. That's what I got.

events.js:182
throw er; // Unhandled 'error' event
^

Error: spawn chromium ENOENT
at _errnoException (util.js:1041:11)
at Process.ChildProcess._handle.onexit (internal/child_process.js:192:19)
at onErrorNT (internal/child_process.js:374:16)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
at Function.Module.runMain (module.js:611:11)
at startup (bootstrap_node.js:158:16)
at bootstrap_node.js:598:3

I tried with browser.launch({executablePath: 'chromium-browser'}), but I got:

node:14008) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Timed out after 30000 ms while trying to connect to Chrome! The only Chrome revision guaranteed to work is r497674

@Silur

This comment has been minimized.

Copy link

@Silur Silur commented Sep 13, 2017

yes, seems like the working revision (499413) is not present anywhere on google storage api and the version mismatch causes the timeout
google pls upload some arm stuff?

@ghost

This comment has been minimized.

Copy link

@ghost ghost commented Sep 14, 2017

Doesn't seem like there's an easy way to get a recent enough chromium build for arm

@krewx

This comment has been minimized.

Copy link

@krewx krewx commented Sep 22, 2017

First i installed chromium using

sudo apt install chromium-browser

then i used browser.launch({executablePath: '/usr/bin/chromium-browser'}) but now the issue is the following

(node:4107) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Failed to launch chrome!
bootstrap_helper: /usr/lib/chromium-browser/nacl_helper: Cannot open ELF file! errno=2
[4129:4129:0922/172003.955374:ERROR:nacl_fork_delegate_linux.cc(315)] Bad NaCl helper startup ack (0 bytes)
[4117:4117:0922/172003.958248:ERROR:browser_main_loop.cc(495)] Failed to put Xlib into threaded mode.
[4117:4117:0922/172003.967038:ERROR:browser_main_loop.cc(272)] Gtk: cannot open display

I don't know if this help anyone

@ak239

This comment has been minimized.

Copy link
Contributor

@ak239 ak239 commented Sep 29, 2017

Yesterday, I successfully run latest puppeteer on Raspbian. Let me go through all steps that I tried:

  1. just run puppeteer as is - npm install successfully got latest Chromium build for Linux, but on attempt to run it: ELF: not found. Ok, the reason - downloaded version is not arm one.
  2. apt-get install chromium-browser - I tried to use this Chromium by passing executablePath as launch argument but puppeeteer just freezes without any errors or exceptions, I think that chromium-browser version is too old.
  3. I cross compiled latest Chromium for arm using my linux workstation, upload this build to raspberry pi and it finally works.
    I'll upload this build somewhere later this week.
@Silur

This comment has been minimized.

Copy link

@Silur Silur commented Sep 29, 2017

maybe upload it to some CDN and make a PR?

@aminjoharinia

This comment has been minimized.

Copy link
Author

@aminjoharinia aminjoharinia commented Sep 30, 2017

@ak239 Great ! Please upload it faster to check it out
Thanks

@ak239

This comment has been minimized.

Copy link
Contributor

@ak239 ak239 commented Sep 30, 2017

Ok. It's temporary solution, I hope that we'll make it more fancy soon.
By following link you can download chromium required for puppeteer in headless mode, download it, upload to raspberry pi, unpack it, install required dependency and run one of the puppeteer example to check that it works and please share your feedback!

@LeMoussel

This comment has been minimized.

Copy link

@LeMoussel LeMoussel commented Sep 30, 2017

@ak239 Do you mean that sudo apt-get install chromium-browser was finally not be able to download the latest version? Can youn explain how to install recent Chrome browser for Pi?

@rclai

This comment has been minimized.

Copy link

@rclai rclai commented Sep 30, 2017

Is there no ARM build of Chrome? @ak239 are you able to type up instructions of how your compiled Chrome for ARM?

@silverwind

This comment has been minimized.

Copy link

@silverwind silverwind commented Oct 3, 2017

@ak239 your build is working fine here on a RPi2 on Raspbian, while the official build gave me the ELF error, so I assume there's no armv6 binary build of Chrome being downloaded.

@silverwind

This comment has been minimized.

Copy link

@silverwind silverwind commented Oct 3, 2017

@ak239 did another attempt, this time on a RPi3 (armv7) running Arch Linux ARM with no GUI libraries present (shell only). I had to install the following GUI-related libraries until I was able to run the chrome binary: pango libxcomposite libxss libxrandr gconf atk gtk3. After that, I was able to run the PDF and screenshot examples fine.

@ak239

This comment has been minimized.

Copy link
Contributor

@ak239 ak239 commented Oct 3, 2017

Thanks a lot!

I build Chromium for arm using recipe 2 from here.

Before start I have Chromium checkout for regular Linux build, I added target_cpu = "arm" to gn flags, run following code and build using ninja.
./build/linux/sysroot_scripts/install-sysroot.py --arch=arm

I don't have any estimations when we'll get arm build support as part of npm install but we have it in our list.

@aminjoharinia

This comment has been minimized.

Copy link
Author

@aminjoharinia aminjoharinia commented Oct 4, 2017

Hi
i got this error
(node:2323) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): Error: spawn EACCES
(node:2323) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

@aminjoharinia

This comment has been minimized.

Copy link
Author

@aminjoharinia aminjoharinia commented Oct 5, 2017

I found that in raspbian stretch , chromium version 60 is preinstalled
and chromium-headless works with command line
chromium-browser --headless --disable-gpu --print-to-pdf https://www.google.com
how could i use built in chromium for puppeteer?
@ak239 @silverwind

@jindongh

This comment has been minimized.

Copy link

@jindongh jindongh commented Oct 24, 2017

wget http://launchpadlibrarian.net/341807203/chromium-browser_62.0.3202.62-0ubuntu0.14.04.1204_armhf.deb
wget http://launchpadlibrarian.net/341807199/chromium-codecs-ffmpeg-extra_62.0.3202.62-0ubuntu0.14.04.1204_armhf.deb
sudo dpkg -i chromium-browser_62.0.3202.62-0ubuntu0.14.04.1204_armhf.deb
sudo dpkg -i chromium-codecs-ffmpeg-extra_62.0.3202.62-0ubuntu0.14.04.1204_armhf.deb
cat > test.js <<EOF
const puppeteer = require('puppeteer');
(async () => {
        const browser = await puppeteer.launch({executablePath: '/usr/bin/chromium-browser'});
        const page = await browser.newPage();
        await page.goto('https://example.com');
        await page.screenshot({path: 'example.png'});
        await browser.close();
})();
EOF
node test.js
@Brunocg

This comment has been minimized.

Copy link

@Brunocg Brunocg commented Oct 26, 2017

@jindongh Do you have any arm build of the latest version from chromium-dev channel? Last week it was added a new domain called HeadlessExperimental which Im really interested on testing, although Im not sure whether it's working or not.

@Lassejoe

This comment has been minimized.

Copy link

@Lassejoe Lassejoe commented Nov 15, 2018

trying to do simple commands
await page.goto('http://localhost:8888'), await page.click('#login-button'), await page.waitForNavigation()
but the page.click throws unhandled promise rejection error.
any ideas?

@ryanweal

This comment has been minimized.

Copy link

@ryanweal ryanweal commented Feb 14, 2019

Fresh update to this issue for those doing a fresh install:

  • Stretch includes chromium-browser 65. sudo apt install chromium-browser chromium-codecs-ffmpeg
  • puppeteer-core@v1.11.0 "stable" is the one that works with chromium-browser version 65
  • const puppeteer = require('puppeteer-core');
  • const browser = await puppeteer.launch({executablePath: '/usr/bin/chromium-browser'});

I have no trouble with the extra args that were suggested earlier (disable sandbox, gpu, etc) but I found that it works either way now. So just "executablePath" should do it.

The other thing I did was install the packages on the troubleshooting page: https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md where you can "sudo apt install" the packages listed under "Debian (e.g. Ubuntu) Dependencies". Here is the current version if you just want to copy-and-paste.

sudo apt install gconf-service libasound2 libatk1.0-0 libatk-bridge2.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget

@chelahmy

This comment has been minimized.

Copy link

@chelahmy chelahmy commented Feb 17, 2019

@ryanweal Your solution works for me. Thanks.

However, I had to add --no-sandbox argument to the chromium browser puppeteer.launch({args:['--no-sandbox'], executablePath:'chromium-browser'}); No need to specify the full path.

I'm using headless Raspbian Stretch Lite.

@Justsoos

This comment has been minimized.

Copy link

@Justsoos Justsoos commented Mar 1, 2019

is anyone having experience about typical using on termux of ARM build?
the default chromium download by pyppeteer will cause error:

OSError: [Errno 8] Exec format error: '/data/data/com.termux/files/home/.local/share/pyppeteer/local-chromium/575458/chrome-linux/chrome'

and it was mistaken by not to check the system architecture first:

$ file /data/data/com.termux/files/home/.local/share/pyppeteer/local-chromium/575458/chrome-linux/chrome

/data/data/com.termux/files/home/.local/share/pyppeteer/local-chromium/575458/chrome-linux/chrome: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, not stripped
@TheHeroBrine422

This comment has been minimized.

Copy link

@TheHeroBrine422 TheHeroBrine422 commented Mar 1, 2019

did anyone figure out the issue with page.click()? I am getting

(node:9279) UnhandledPromiseRejectionWarning: Error: Node is either not visible or not an HTMLElement
    at ElementHandle._clickablePoint (/home/pi/node_modules/puppeteer-core/lib/ExecutionContext.js:349:13)
    at process._tickCallback (internal/process/next_tick.js:68:7)
  -- ASYNC --
    at ElementHandle.<anonymous> (/home/pi/node_modules/puppeteer-core/lib/helper.js:144:27)
    at Frame.click (/home/pi/node_modules/puppeteer-core/lib/FrameManager.js:737:18)
    at process._tickCallback (internal/process/next_tick.js:68:7)
  -- ASYNC --
    at Frame.<anonymous> (/home/pi/node_modules/puppeteer-core/lib/helper.js:144:27)
    at Page.click (/home/pi/node_modules/puppeteer-core/lib/Page.js:973:29)
    at /home/pi/Code/SteamAutoSell/watch.js:105:14
    at process._tickCallback (internal/process/next_tick.js:68:7)
(node:9279) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:9279) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

when I run a page.click().

@TheHeroBrine422

This comment has been minimized.

Copy link

@TheHeroBrine422 TheHeroBrine422 commented Mar 1, 2019

@Justsoos you need to do the stuff ryanweal put 15 days ago

@ossdev07

This comment has been minimized.

Copy link

@ossdev07 ossdev07 commented Mar 19, 2019

@aslushnikov I understand that you are not planning any ARM builds for chromium yet, but it would be great to have aarch64 support present for the puppeteer. As it is already discussed in this issue chromium-browser binary works fine over aarch64 if you could provide that over the URL from where currently used chromium binary is being downloaded then this could work.
Please share your thoughts on this.

@aboulfad

This comment has been minimized.

Copy link

@aboulfad aboulfad commented Mar 22, 2019

Small update, using slightly newer versions and working great on my rpi3 b+.

Raspbian 9.8 stretch, Linux rpi3b+ 4.14.79-v7+ armv7
puppeteer-core@1.12.0
Chromium 73.0.3683.75 Built on Ubuntu

I couldn't find the ppter v1.13 corresponding Chromium version 74.0.3723.0 in the beta channel.

To get the chromium binaries from the above link, choose your ubuntu desired release and follow the links. Here are the ones I chose for Xenial, armhf, Chromium, codecs-ffmpeg, codecs-ffmpeg-extra.

Before I installed the three above pkgs manually, I installed the deps mentioned in this post above.

@indiandragon

This comment has been minimized.

Copy link

@indiandragon indiandragon commented May 18, 2019

@aboulfad The links are not working, can you change them?

@aboulfad

This comment has been minimized.

Copy link

@aboulfad aboulfad commented May 18, 2019

@aboulfad The links are not working, can you change them?

That’s because the maintainers have removed those older builds. Browse the beta channel for newer builds.

@LeMoussel

This comment has been minimized.

Copy link

@LeMoussel LeMoussel commented May 18, 2019

@aboulfad Is it possible to take over all the commands to install puppeteteer and chromium-browser on rpi3?

@aboulfad

This comment has been minimized.

Copy link

@aboulfad aboulfad commented May 18, 2019

@LeMoussel , not sure what you need, but my post above shows where to get whichever versions of chromium from beta channel. If you don’t know apt, I suggest you read up a bit on it. Examples were given in post #550

@LeMoussel

This comment has been minimized.

Copy link

@LeMoussel LeMoussel commented May 18, 2019

@aboulfad, in summary

Install the necessary debian dependencies
installed the deps mentioned in this post #550 above.

Install Chromium browser
sudo add-apt-repository ppa:chromium-team/beta
sudo apt-get update

Install Chromium browser codecs
sudo apt-get codecs-ffmpeg
sudo apt-get codecs-ffmpeg-extra

Fix broken packages
sudo apt-get --fix-broken install

Is that correct?

@aboulfad

This comment has been minimized.

Copy link

@aboulfad aboulfad commented May 18, 2019

Install Chromium browser
sudo add-apt-repository ppa:chromium-team/beta
...
Is that correct?

When I installed chromium on my rpi3, I downloaded and installed the binary manually from the beta channel. I dont know which version of chromium you will get by adding the beta repo. Regardless, make sure chromium version meets puppeteer's version requirement. Aside from that, I think you got it.

@LeMoussel

This comment has been minimized.

Copy link

@LeMoussel LeMoussel commented May 18, 2019

Okay, but then I don't understand how to download and install the Chromium binary manually from the beta channel.
I think you used wget but with which url?

@aboulfad

This comment has been minimized.

Copy link

@aboulfad aboulfad commented May 18, 2019

^^^ you don’t have to manually download if you can find a ppa containing the version u need.

But if you want to do so manually, as mentioned in my previous posts, browse the beta channel and locate the binary build for armhf architecture.

I filtered for Xenial series, then chose the armhf build.

This link works https://launchpad.net/~chromium-team/+archive/ubuntu/beta?field.series_filter=xenial,

Then choose “view package details”, Xenial, armhf. Here is the final link:
https://launchpad.net/~chromium-team/+archive/ubuntu/beta/+build/16587669

@brechtvm

This comment has been minimized.

Copy link

@brechtvm brechtvm commented Jun 20, 2019

All,

I wrote a Dockerfile, in order to be able to use Puppeteer on my rPi3
You can find the Dockerfile @
https://github.com/brechtvm/puppeteer/blob/master/Dockerfile

Hope this helps!

@spinnaker1

This comment has been minimized.

Copy link

@spinnaker1 spinnaker1 commented Jul 15, 2019

Whats the current status on armhf support.
Is it possible to do a work around to get it running on armhf (Raspberry Pi)?

Would it be possible to install chromium-browser from Ubuntu Launchpad armhf plattform and tell puppeteer to use that browser instead of /usr/local/share/.config/yarn/global/node_modules/puppeteer/.local-chromium/linux-672088/. Unfortunatelly I dont know what files to edit.

@LeMoussel

This comment has been minimized.

Copy link

@LeMoussel LeMoussel commented Jul 16, 2019

To use Puppeteer with a different version of Chrome or Chromium, pass in the executable's path when creating a Browser instance: const browser = await puppeteer.launch({executablePath: '/path/to/Chrome'});

See puppeteer.executablePath() for more information.

@robcalcroft

This comment has been minimized.

Copy link

@robcalcroft robcalcroft commented Nov 6, 2019

Feel like I've tried everything trying to get puppeteer working on the Pi. I'm currently using the default Chrome 74 installation and pointing puppeteer core there using the executablePath option but I get Error: Protocol error (Runtime.callFunctionOn): Target closed. and the chrome that comes with puppeteer doesn't work either. I'm struggling to get normal Chrome to run successfully even without puppeteer. It was throwing Xlib errors which I got around by using DISPLAY=:0 before running it but then it just crashes with random errors any time I start chromium 😢 anyone got any advice?

@discofire

This comment has been minimized.

Copy link

@discofire discofire commented Nov 7, 2019

I'm having similar problems with using Puppeteer (or even just starting headless chromium) on the Pi 4.

chromium-browser --headless --remote-debugging-port=9222 --disable-gpu --disable-extensions about:blank
 --disable-quic --enable-tcp-fast-open --ppapi-flash-path=/usr/lib/chromium-browser/libpepflashplayer.so --ppapi-flash-args=enable_stagevideo_auto=0 --ppapi-flash-version=

DevTools listening on ws://127.0.0.1:9222/devtools/browser/1dd00d98-422d-4da2-bdea-03241066cb70
X Error:  BadDrawable
  Request Major code 55 ()
  ResourceID 0x0
  Error Serial #144
  Current Serial #146
X Error:  BadDrawable
  Request Major code 55 ()
  ResourceID 0x0
  Error Serial #144
  Current Serial #146
X Error:  BadDrawable
  Request Major code 55 ()
  ResourceID 0x0
  Error Serial #144
  Current Serial #146
[1107/163647.389904:FATAL:gpu_data_manager_impl_private.cc(897)] The display compositor is frequently crashing. Goodbye.
Trace/breakpoint trap

I've tried running from a terminal with no display, a virtual display started with Xvfb, a desktop started with VNC, and running xvfb-run chromium-browser ...

Headless always results in the output shown above. If I don't run headless, it starts and launches the browser fine with no error messages in the terminal where it was started. I've had a difficult time finding other versions of Chromium compiled for armv7 to test, but the version from much earlier in this thread (chrome 63) seems to start headless without any problems, and I can connect from a browser to the debug environment, but I hit some other issues when using Puppeteer (I suspect due to the much older version of the browser)

Any thoughts on what I can try? I've tried disabling extensions, as well as disabling the gpu (via settings in the browser as well as the command line argument illustrated above).

@discofire

This comment has been minimized.

Copy link

@discofire discofire commented Nov 8, 2019

FYI - I came up with a solution that seems to work for me with the existing chromium build. Instead of running with the --headless option, I start an Xvfb display, then point chromium to that with --display=:1

This effectively runs headless anyway, but avoids the issues with using the --headless flag. Everything appears to be working as expected now.

Xvfb :1 -screen 0 1920x1080x24 &

Puppeteer call to launch Chromium is now:
puppeteer.launch({defaultViewport: {height: 1080, width: 1920}, headless: false, args: ['--display=:1', '--no-sandbox', '--disable-extensions'], executablePath: '/usr/bin/chromium-browser'});

@mjdave

This comment has been minimized.

Copy link

@mjdave mjdave commented Dec 6, 2019

Xvfb :1 -screen 0 1920x1080x24 &

Puppeteer call to launch Chromium is now:
puppeteer.launch({defaultViewport: {height: 1080, width: 1920}, headless: false, args: ['--display=:1', '--no-sandbox', '--disable-extensions'], executablePath: '/usr/bin/chromium-browser'});

This worked for me too, many thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
You can’t perform that action at this time.