Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
google-chrome and chromium hang/crash at start.
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Networking & Security
View previous topic :: View next topic  
Author Message
ChadJoan
n00b
n00b


Joined: 17 Oct 2010
Posts: 38

PostPosted: Fri May 31, 2013 2:45 am    Post subject: google-chrome and chromium hang/crash at start. Reply with quote

The story:
google-chrome was crashing. So I got a roommate's quickpkg of chromium (my machine only has 4GB of RAM). That hangs. I installed a newer version of google-chrome. Now that hangs too. In no event did I ever get a window to open up, and not even a peep out of the terminal (unless it says "Killed!" or "Segmentation fault", I forget which and when). When I try to do things with flash in firefox, the plugin crashes.

So I have no way to use flash on this machine.

I read about some people having problems with versions of chrome that needed SSE2. My machine does have SSE2, but the symptoms are very similar. I hear the running chrome with --no-sandbox can help. It does! google-chrome will open up some blank non-functioning tabs if I pass it the --no-sandbox option.

Unlike the people lacking SSE2, moving the /opt/google/chrome/PepperFlash directory does not seem to affect the outcome.

I am running on a hardened system, and a 64-bit build.

I did some strace'ing. I'll spare you the spammy parts and give you the juicy bits near the end.

This first one shows where google-chrome hangs. I run google-chrome (with sandboxing) until it hangs, and then I hit CTRL-C and interrupt it.
Code:
chad@Hugin ~ $ strace google-chrome
...
access("/proc/8550/oom_score_adj", F_OK) = 0
creat("/proc/8550/oom_score_adj", 0666) = 3
write(3, "0", 1)                        = 1
close(3)                                = 0
readlink("/proc/self/exe", "/opt/google/chrome/chrome", 4096) = 25
prctl(PR_SET_NAME, 0x364472cec18, 0x6f726863, 0x364472cec18, 0x2) = 0
gettid()                                = 8550
gettid()                                = 8550
geteuid()                               = 1000
rt_sigaction(SIGCHLD, {0x3649c655c0, [], SA_RESTORER, 0x3644330fa20}, NULL, 8) = 0
sched_get_priority_min(SCHED_OTHER)     = 0
sched_get_priority_max(SCHED_OTHER)     = 0
sched_getparam(8550, { 0 })             = 0
sched_getscheduler(8550)                = 0 (SCHED_OTHER)
sched_setscheduler(8550, SCHED_OTHER, { 0 }) = 0
rt_sigaction(SIGPIPE, {SIG_IGN, [], SA_RESTORER, 0x3644330fa20}, NULL, 8) = 0
stat("/proc/self/exe", {st_mode=S_IFREG|0755, st_size=91249520, ...}) = 0
getuid()                                = 1000
socketpair(PF_FILE, SOCK_SEQPACKET, 0, [3, 4]) = 0
pipe([5, 6])                            = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x36447431bd0) = 8555
readlink("/proc/self/exe", "/opt/google/chrome/chrome", 4096) = 25
socketpair(PF_FILE, SOCK_SEQPACKET, 0, [7, 8]) = 0
stat("/opt/google/chrome/chrome-sandbox", {st_mode=S_IFREG|S_ISUID|0711, st_size=18664, ...}) = 0
access("/opt/google/chrome/chrome-sandbox", X_OK) = 0
socket(PF_FILE, SOCK_DGRAM, 0)          = 9
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x36447431bd0) = 8556
recvmsg(7, 0x3ced33f7ae0, 0)            = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=8556, si_status=0, si_utime=0, si_stime=0} ---
rt_sigreturn()                          = -1 EINTR (Interrupted system call)
recvmsg(7, ^CProcess 8550 detached
 <detached ...>


chromium with sandbox seems to hang the same way as google-chrome:
Code:
chad@Hugin ~ $ strace chromium
...
access("/proc/8606/oom_score_adj", F_OK) = 0
creat("/proc/8606/oom_score_adj", 0666) = 3
write(3, "0", 1)                        = 1
close(3)                                = 0
readlink("/proc/self/exe", "/usr/lib64/chromium-browser/chro"..., 4096) = 34
prctl(PR_SET_NAME, 0x72cf88b298, 0x6f726863, 0x72cf88b298, 0x72cf88b270) = 0
gettid()                                = 8606
gettid()                                = 8606
geteuid()                               = 1000
rt_sigaction(SIGCHLD, {0x72c7ee9690, [], SA_RESTORER, 0x319c2b88a20}, NULL, 8) = 0
sched_get_priority_min(SCHED_OTHER)     = 0
sched_get_priority_max(SCHED_OTHER)     = 0
sched_getparam(8606, { 0 })             = 0
sched_getscheduler(8606)                = 0 (SCHED_OTHER)
sched_setscheduler(8606, SCHED_OTHER, { 0 }) = 0
rt_sigaction(SIGPIPE, {SIG_IGN, [], SA_RESTORER, 0x319c2b88a20}, NULL, 8) = 0
stat("/proc/self/exe", {st_mode=S_IFREG|0755, st_size=81061976, ...}) = 0
getuid()                                = 1000
socketpair(PF_FILE, SOCK_SEQPACKET, 0, [3, 4]) = 0
pipe([5, 6])                            = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x319c2f51bd0) = 8609
readlink("/proc/self/exe", "/usr/lib64/chromium-browser/chro"..., 4096) = 34
socketpair(PF_FILE, SOCK_SEQPACKET, 0, [7, 8]) = 0
stat("/usr/lib64/chromium-browser/chrome_sandbox", {st_mode=S_IFREG|S_ISUID|0711, st_size=18352, ...}) = 0
access("/usr/lib64/chromium-browser/chrome_sandbox", X_OK) = 0
socket(PF_FILE, SOCK_DGRAM, 0)          = 9
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x319c2f51bd0) = 8610
recvmsg(7, 0x3d66b7dbd70, 0)            = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=8610, si_status=0, si_utime=0, si_stime=0} ---
rt_sigreturn()                          = -1 EINTR (Interrupted system call)
recvmsg(7, ^C^CProcess 8606 detached
 <detached ...>


This is the chromium run with --no-sandbox. It crashes on its own due to the illegal instruction.
Code:
chad@Hugin ~ $ strace chromium --no-sandbox
...
recvfrom(8, "\1\0c\0\0\0\0\0\1\202A\200\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096, 0, NULL, NULL) = 32
recvfrom(8, 0x49687fd4f4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(8, 0x49687fd4f4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=8, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=8, revents=POLLOUT}])
writev(8, [{"\202\0\1\0", 4}, {NULL, 0}, {"", 0}], 3) = 4
poll([{fd=8, events=POLLIN}], 1, -1)    = 1 ([{fd=8, revents=POLLIN}])
recvfrom(8, "\1\0d\0\0\0\0\0\1\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096, 0, NULL, NULL) = 32
recvfrom(8, 0x49687fd4f4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(8, 0x49687fd4f4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
eventfd2(0, O_NONBLOCK|O_CLOEXEC)       = 9
write(9, "\1\0\0\0\0\0\0\0", 8)         = 8
write(9, "\1\0\0\0\0\0\0\0", 8)         = 8
poll([{fd=8, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=8, revents=POLLOUT}])
writev(8, [{"b\0\6\0\17\0\0\5", 8}, {"XInputExtension", 15}, {"\0", 1}], 3) = 24
poll([{fd=8, events=POLLIN}], 1, -1)    = 1 ([{fd=8, revents=POLLIN}])
recvfrom(8, "\1\0e\0\0\0\0\0\1\203B\201\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096, 0, NULL, NULL) = 32
recvfrom(8, 0x49687fd4f4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(8, 0x49687fd4f4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=8, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=8, revents=POLLOUT}])
writev(8, [{"b\0\6\0\17\0\0\5", 8}, {"XInputExtension", 15}, {"\0", 1}], 3) = 24
poll([{fd=8, events=POLLIN}], 1, -1)    = 1 ([{fd=8, revents=POLLIN}])
recvfrom(8, "\1\0f\0\0\0\0\0\1\203B\201\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096, 0, NULL, NULL) = 32
recvfrom(8, 0x49687fd4f4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(8, 0x49687fd4f4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=8, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=8, revents=POLLOUT}])
writev(8, [{"\203\1\6\0\17\0\0\5", 8}, {"XInputExtension", 15}, {"\0", 1}], 3) = 24
poll([{fd=8, events=POLLIN}], 1, -1)    = 1 ([{fd=8, revents=POLLIN}])
recvfrom(8, "\1\1g\0\0\0\0\0\2\0\2\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096, 0, NULL, NULL) = 32
recvfrom(8, 0x49687fd4f4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(8, 0x49687fd4f4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=8, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=8, revents=POLLOUT}])
writev(8, [{"b\1\6\0\17\0\0\5", 8}, {"XInputExtension", 15}, {"\0", 1}], 3) = 24
poll([{fd=8, events=POLLIN}], 1, -1)    = 1 ([{fd=8, revents=POLLIN}])
recvfrom(8, "\1\0h\0\0\0\0\0\1\203B\201\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096, 0, NULL, NULL) = 32
recvfrom(8, 0x49687fd4f4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(8, 0x49687fd4f4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=8, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=8, revents=POLLOUT}])
writev(8, [{"\203\1\6\0\17\0\0\5", 8}, {"XInputExtension", 15}, {"\0", 1}], 3) = 24
poll([{fd=8, events=POLLIN}], 1, -1)    = 1 ([{fd=8, revents=POLLIN}])
recvfrom(8, "\1\1i\0\0\0\0\0\2\0\2\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096, 0, NULL, NULL) = 32
recvfrom(8, 0x49687fd4f4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(8, 0x49687fd4f4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=8, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=8, revents=POLLOUT}])
writev(8, [{"\203\2\1\0", 4}, {NULL, 0}, {"", 0}], 3) = 4
poll([{fd=8, events=POLLIN}], 1, -1)    = 1 ([{fd=8, revents=POLLIN}])
recvfrom(8, "\1\2j\0o\0\0\0\10\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096, 0, NULL, NULL) = 476
recvfrom(8, 0x49687fd4f4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(8, 0x49687fd4f4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=8, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=8, revents=POLLOUT}])
writev(8, [{"\203\3\2\0\4\0\0\5", 8}, {NULL, 0}, {"", 0}], 3) = 8
poll([{fd=8, events=POLLIN}], 1, -1)    = 1 ([{fd=8, revents=POLLIN}])
recvfrom(8, "\1\3k\0\2\0\0\0\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096, 0, NULL, NULL) = 40
recvfrom(8, 0x49687fd4f4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(8, 0x49687fd4f4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=8, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=8, revents=POLLOUT}])
writev(8, [{"\203\3\2\0\t\0\0\5", 8}, {NULL, 0}, {"", 0}], 3) = 8
poll([{fd=8, events=POLLIN}], 1, -1)    = 1 ([{fd=8, revents=POLLIN}])
recvfrom(8, "\1\3l\0\2\0\0\0\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096, 0, NULL, NULL) = 40
recvfrom(8, 0x49687fd4f4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(8, 0x49687fd4f4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=8, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=8, revents=POLLOUT}])
writev(8, [{"\211\2\4\0\1\0\0\5\200\1\0\0\7\0\0\0\27\0\2\0\200\1\0\0", 24}, {NULL, 0}, {"", 0}], 3) = 24
poll([{fd=8, events=POLLIN}], 1, -1)    = 1 ([{fd=8, revents=POLLIN}])
recvfrom(8, "\1\0n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096, 0, NULL, NULL) = 32
recvfrom(8, 0x49687fd4f4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvfrom(8, 0x49687fd4f4, 4096, 0, 0, 0) = -1 EAGAIN (Resource temporarily unavailable)
pipe([10, 11])                          = 0
write(9, "\1\0\0\0\0\0\0\0", 8)         = 8
gettid()                                = 8579
gettid()                                = 8579
gettid()                                = 8579
gettid()                                = 8579
mmap(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x2f62b298000
mprotect(0x2f62b298000, 4096, PROT_NONE) = 0
clone(child_stack=0x2f62ba97df0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x2f62ba989d0, tls=0x2f62ba98700, child_tidptr=0x2f62ba989d0) = 8583
futex(0x3c4ba7ef5f4, FUTEX_WAIT_PRIVATE, 1, NULL <unfinished ...>
+++ killed by SIGILL +++
Illegal instruction


google-chrome with --no-sandbox will not crash, as I pointed out before strace'ing. I don't know which part to strace of that, so I'm leaving it out. Unfortunately it isn't very useful, even though it does start.

Code:

chad@Hugin ~ $ eix google-chrome
[I] www-client/google-chrome
     Available versions: 
        (stable)        (~)26.0.1410.63_p192696^msd
        (beta)  (~)27.0.1453.81_beta198567^msd
        (unstable)      [M](~)28.0.1500.11_alpha199640^msd
        {{+linguas_am +linguas_ar +linguas_bg +linguas_bn +linguas_ca +linguas_cs +linguas_da +linguas_de +linguas_el +linguas_en_GB +linguas_es +linguas_es_LA +linguas_et +linguas_fa +linguas_fi +linguas_fil +linguas_fr +linguas_gu +linguas_he +linguas_hi +linguas_hr +linguas_hu +linguas_id +linguas_it +linguas_ja +linguas_kn +linguas_ko +linguas_lt +linguas_lv +linguas_ml +linguas_mr +linguas_ms +linguas_nb +linguas_nl +linguas_pl +linguas_pt_BR +linguas_pt_PT +linguas_ro +linguas_ru +linguas_sk +linguas_sl +linguas_sr +linguas_sv +linguas_sw +linguas_ta +linguas_te +linguas_th +linguas_tr +linguas_uk +linguas_vi +linguas_zh_CN +linguas_zh_TW +plugins}}
     Installed versions:  27.0.1453.81_beta198567(beta)^msd(09:36:26 PM 05/30/2013)(linguas_ja plugins -linguas_am -linguas_ar -linguas_bg -linguas_bn -linguas_ca -linguas_cs -linguas_da -linguas_de -linguas_el -linguas_en_GB -linguas_es -linguas_es_LA -linguas_et -linguas_fa -linguas_fi -linguas_fil -linguas_fr -linguas_gu -linguas_he -linguas_hi -linguas_hr -linguas_hu -linguas_id -linguas_it -linguas_kn -linguas_ko -linguas_lt -linguas_lv -linguas_ml -linguas_mr -linguas_ms -linguas_nb -linguas_nl -linguas_pl -linguas_pt_BR -linguas_pt_PT -linguas_ro -linguas_ru -linguas_sk -linguas_sl -linguas_sr -linguas_sv -linguas_sw -linguas_ta -linguas_te -linguas_th -linguas_tr -linguas_uk -linguas_vi -linguas_zh_CN -linguas_zh_TW)
     Homepage:            http://www.google.com/chrome
     Description:         The web browser from Google

chad@Hugin ~ $ eix -e chromium
[D] www-client/chromium
     Available versions: 
        (0)     [m]26.0.1410.43 [m]~26.0.1410.63 [m]~27.0.1453.73 [m]~27.0.1453.81 [M]~28.0.1500.5 [M]~28.0.1500.11
        (live)  [M]**9999-r1
        {{bindist cups custom-cflags gnome gnome-keyring gps kerberos +linguas_am +linguas_ar +linguas_bg +linguas_bn +linguas_ca +linguas_cs +linguas_da +linguas_de +linguas_el +linguas_en_GB +linguas_es +linguas_es_LA +linguas_et +linguas_fa +linguas_fi +linguas_fil +linguas_fr +linguas_gu +linguas_he +linguas_hi +linguas_hr +linguas_hu +linguas_id +linguas_it +linguas_ja +linguas_kn +linguas_ko +linguas_lt +linguas_lv +linguas_ml +linguas_mr +linguas_ms +linguas_nb +linguas_nl +linguas_pl +linguas_pt_BR +linguas_pt_PT +linguas_ro +linguas_ru +linguas_sk +linguas_sl +linguas_sr +linguas_sv +linguas_sw +linguas_ta +linguas_te +linguas_th +linguas_tr +linguas_uk +linguas_vi +linguas_zh_CN +linguas_zh_TW pulseaudio selinux (+)system-ffmpeg system-sqlite tcmalloc test}}
     Installed versions:  27.0.1453.93(11:14:32 PM 05/23/2013)(cups linguas_ja system-ffmpeg -bindist -custom-cflags -gnome -gnome-keyring -gps -kerberos -linguas_am -linguas_ar -linguas_bg -linguas_bn -linguas_ca -linguas_cs -linguas_da -linguas_de -linguas_el -linguas_en_GB -linguas_es -linguas_es_LA -linguas_et -linguas_fa -linguas_fi -linguas_fil -linguas_fr -linguas_gu -linguas_he -linguas_hi -linguas_hr -linguas_hu -linguas_id -linguas_it -linguas_kn -linguas_ko -linguas_lt -linguas_lv -linguas_ml -linguas_mr -linguas_ms -linguas_nb -linguas_nl -linguas_pl -linguas_pt_BR -linguas_pt_PT -linguas_ro -linguas_ru -linguas_sk -linguas_sl -linguas_sr -linguas_sv -linguas_sw -linguas_ta -linguas_te -linguas_th -linguas_tr -linguas_uk -linguas_vi -linguas_zh_CN -linguas_zh_TW -pulseaudio -selinux -system-sqlite -tcmalloc -test)
     Homepage:            http://chromium.org/
     Description:         Open-source version of Google Chrome web browser


What is going on, and how do I workaround/debug this?
Please help!
Thanks in advance.
Back to top
View user's profile Send private message
Bones McCracker
Veteran
Veteran


Joined: 14 Mar 2006
Posts: 1611
Location: U.S.A.

PostPosted: Fri May 31, 2013 9:12 am    Post subject: Reply with quote

These may help you with diagnosis or debugging:

http://www.gossamer-threads.com/lists/gentoo/hardened/266876

http://code.google.com/p/chromium/issues/detail?id=94472
_________________
patrix_neo wrote:
The human thought: I cannot win.
The ratbrain in me : I can only go forward and that's it.
Back to top
View user's profile Send private message
Ant P.
Watchman
Watchman


Joined: 18 Apr 2009
Posts: 6920

PostPosted: Fri May 31, 2013 5:25 pm    Post subject: Re: google-chrome and chromium hang/crash at start. Reply with quote

ChadJoan wrote:
I read about some people having problems with versions of chrome that needed SSE2. My machine does have SSE2, but the symptoms are very similar.

Are you sure the binaries from that quickpkg you used are compatible with your CPU?

Also, I'm not sure what 4GB has to do with it; I build chromium on a 1GB netbook without problems.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Networking & Security All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum