New issue
Advanced search Search tips
Starred by 4 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocking:
issue 705916



Sign in to add a comment

Trace/breakpoint trap (core dumped) on RHEL 7.4 when using headless chrome browser

Reported by mikael.o...@g.cybercom.com, Nov 7 2017

Issue description

Chrome Version       : <Copy from: 'about:version'>
URLs (if applicable) : 
Other browsers tested:
  Add OK or FAIL, along with the version, after other browsers where you
have tested this issue: N/A
     Safari: N/A
    Firefox: N/A
         IE: N/A

What steps will reproduce the problem?
(1) On a headless RHEL 7.4
(2) Install google chrome from google-chrome yum repository
(3) Try to access any page by using the headless browser

What is the expected result?
That the dom is dumped and there are no error-messages

What happens instead?
[jenkins@my-worker1 ~]$ /opt/google/chrome/google-chrome --headless --disable-gpu --dump-dom http://dl.google.com
Trace/breakpoint trap (core dumped)
[0100/000000.438817:FATAL:zygote_linux.cc(477)] Failed to synchronise with parent zygote process

Sometimes the last line about the zygote process appears, and sometimes not. 
 
Failed to add version. It's tested using Google Chrome 62.  
[jenkins@my-worker1~]$ google-chrome -version
Google Chrome 62.0.3202.75

Components: -Blink Internals>Headless
Labels: Needs-Feedback
Status: Available (was: Unconfirmed)
Could you try re-running the command with --enable-crash-reporter --enable-logging --v=99 and pasting the uploaded crash dump ID here?
Sure. Here's the gist of it. 

[jenkins@my-worker1 ~]$ /opt/google/chrome/google-chrome --headless --disable-gpu --dump-dom --enable-crash-reporter --enable-logging --v=99 http://dl.google.com
[1108/142929.023434:VERBOSE1:zygote_main_linux.cc(539)] ZygoteMain: initializing 0 fork delegates
[1108/142929.023917:INFO:cpu_info.cc(50)] Available number of cores: 4
shared memfd open() failed: Invalid argument
[1108/142929.034686:VERBOSE1:pulse_util.cc(138)] Failed to connect to the context.  Error: Connection refused
[1108/142929.035756:VERBOSE1:webrtc_internals.cc(109)] Could not get the download directory.
[1108/142929.039148:VERBOSE1:breakpad_linux.cc(2007)] Non Browser crash dumping enabled for: renderer
[1108/142929.042303:VERBOSE1:sandbox_linux.cc(73)] Activated seccomp-bpf sandbox for process type: renderer.
Failed to generate minidump.Illegal instruction (core dumped)
[0100/000000.329007:ERROR:broker_posix.cc(43)] Invalid node channel message
[jenkins@my-worker1 ~]$ 
 


It's odd that we can't generate a valid crash dump. Could you try once more with --no-sandbox?
Sure, and no, it seems i get exactly the same. 

[jenkins@my-worker01~]$ /opt/google/chrome/google-chrome --headless --disable-gpu --dump-dom --enable-crash-reporter --enable-logging --v=99 --no-sandbox http://dl.google.com
[1109/092534.785845:VERBOSE1:zygote_main_linux.cc(539)] ZygoteMain: initializing 0 fork delegates
[1109/092534.786417:INFO:cpu_info.cc(50)] Available number of cores: 4
shared memfd open() failed: Invalid argument
[1109/092534.794703:VERBOSE1:pulse_util.cc(138)] Failed to connect to the context.  Error: Connection refused
[1109/092534.795643:VERBOSE1:webrtc_internals.cc(109)] Could not get the download directory.
[1109/092534.798643:VERBOSE1:breakpad_linux.cc(2007)] Non Browser crash dumping enabled for: renderer
Failed to generate minidump.Illegal instruction (core dumped)
[0100/000000.826404:ERROR:broker_posix.cc(43)] Invalid node channel message
[jenkins@my-worker01 ~]$

Any updates on this? Do you need anything more from me? 
Cc: thomasanderson@chromium.org
Is the problem present in Centos as well?

There's also  bug 730454 , which seems to indicate that bug reporter got it working with some workarounds. (Which shouldn't be needed, ideally)
I can confirm that this is not a problem in CentOS 7, i tested it in a Vagrant environment and there it worked fine. 
Sorry, I still haven't been able to reproduce this. Something must be different about the RHEL environment.

Would you mind seeing if this command provides any clues (you might need to install gdb first):

gdb --args /opt/google/chrome/google-chrome --headless --disable-gpu --dump-dom --enable-logging --v=99 --no-sandbox http://dl.google.com

If the crash is in the renderer, this command should catch that (requires xterm and a working X11 connection, e.g., ssh -X):

/opt/google/chrome/google-chrome --headless --disable-gpu --dump-dom --enable-logging --v=99 --no-sandbox --renderer-cmd-prefix='xterm -title renderer -e gdb --args' http://dl.google.com

Hello,

I am also facing similar kind of issue,


While executing below command,

/usr/bin/chromium-browser --app="http://google.com" --allow-cross-origin-auth-prompt --allow-insecure-localhost --enable-logging --v=5 --disable-gpu-compositing --enable-gpu-async-worker-context --no-sandbox --user-data-dir=/tmp/profile-7233 --process-per-site --enable-plugins --new-window --display=:256
Xlib: extension "RANDR" missing on display ":256".

(chromium-browser:13874): LIBDBUSMENU-GLIB-WARNING **: Unable to get session bus: Unknown or unsupported transport 'disabled' for address 'disabled:'
/tmp/profile-7233/chrome_debug.log shows below error:
[13874:13874:1125/182730.307542:VERBOSE1:pulse_util.cc(138)] Failed to connect to the context. Error: Connection refused


System details:
Distributor ID: Ubuntu
Description: Ubuntu 14.04.5 LTS
Release: 14.04
Codename: trusty

#10: This bug is about running in headless mode (--headless) on RHEL, so your issue seems unrelated. Please file a new bug report for it.
I also have same issue, I'm using centos7
google-chrome --headless --disable-gpu --no-sandbox --enable-logging --v=99 --enable-crash-reporter --print-to-pdf https://www.google.com
[1129/174609.130932:VERBOSE1:zygote_main_linux.cc(539)] ZygoteMain: initializing 0 fork delegates
[1129/174609.131183:INFO:cpu_info.cc(50)] Available number of cores: 2
[1129/174609.136866:VERBOSE1:pulse_util.cc(138)] Failed to connect to the context.  Error: Connection refused
[1129/174609.137641:VERBOSE1:webrtc_internals.cc(109)] Could not get the download directory.
[1129/174609.139959:VERBOSE1:breakpad_linux.cc(2007)] Non Browser crash dumping enabled for: renderer
Failed to generate minidump.-bash-4.2$ [0100/000000.177444:ERROR:broker_posix.cc(43)] Invalid node channel message

I also ran gdb
gdb --args /opt/google/chrome/google-chrome --headless --disable-gpu --dump-dom --enable-logging --v=99 --no-sandbox http://dl.google.com
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-94.el7
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
"/opt/google/chrome/google-chrome": not in executable format: File format not recognized

As original poster i can say i have dropped trying to run chrome in headless mode on our build-server. The purpose was to get Chromedriver to run in our CI environment, instead we went with using Selenoid in a docker-cluster. That was easier. 

If you ran into this trying to get Selenium Server working with Jenkins, which i assume is why you want it running in headless mode in the first place, then i can heartily recommend Selenoid as a solution for that problem. 

Selenoid
https://github.com/aerokube/selenoid

i also wrote a piece on it here: 
https://05ten.se/selenoid-is-awesome

By all means, fix the bug and continue to improve chrome --headless, but i will not track this issue any longer. Thanks for the help so far! 
Headless chrome(Version 63 - stable version) working only on CentOS 7.4 . It does not work on CentOS 7.3 or 7.2 (I tried with all chrome versions 63, 62, 61, 60, 59)
Hello, I had same issue on CentOS 7.2.

[root@localhost yum.repos.d]# google-chrome-stable --headless --disable-gpu --remote-debugging-port=9222 http://localhost --no-sandbox --enable-crash-reporter --enable-logging --v=99
[1229/133813.144063:VERBOSE1:zygote_main_linux.cc(594)] ZygoteMain: initializing 0 fork delegates
[1229/133813.144511:INFO:cpu_info.cc(50)] Available number of cores: 2
shared memfd open() failed: Недопустимый аргумент
[1229/133813.169410:VERBOSE1:pulse_util.cc(130)] Failed to connect to the context.  Error: Соединение отвергнуто

DevTools listening on ws://127.0.0.1:9222/devtools/browser/203fe803-b215-4fdd-baa5-7a44bd7d3f64
[1229/133813.175786:VERBOSE1:proxy_config_service_linux.cc(1652)] Obtained proxy settings from environment variables
[1229/133813.175877:VERBOSE1:webrtc_internals.cc(109)] Could not get the download directory.
[1229/133813.192277:VERBOSE1:breakpad_linux.cc(2009)] Non Browser crash dumping enabled for: renderer
Failed to generate minidump.Недопустимая инструкция (core dumped)
[root@localhost yum.repos.d]# [0100/000000.803181:ERROR:broker_posix.cc(43)] Invalid node channel message

This fix this:

yum install  \
    ipa-gothic-fonts \
    xorg-x11-fonts-100dpi \
    xorg-x11-fonts-75dpi \
    xorg-x11-utils \
    xorg-x11-fonts-cyrillic \
    xorg-x11-fonts-Type1 \
    xorg-x11-fonts-misc -y

c#15: Are all of those packages necessary?  If it's just eg. ipa-gothic-fonts, I think we could simply add it as a manual dependency.
Just tested with CentOS 7.4.1708, Google Chrome stable 63.0.3239.132.

I only installed the minimal packages required for CentOS and Chrome, and I'm able to run "google-chrome-stable --headless --disable-gpu --dump-dom http://dl.google.com" without issue.  The only font packages I have are:
fontconfig.x86_64
fontpackages-filesystem.noarch
stix-fonts.noarch

Sign in to add a comment