ChadJoan n00b
Joined: 17 Oct 2010 Posts: 38
|
Posted: Fri May 31, 2013 2:45 am Post subject: google-chrome and chromium hang/crash at start. |
|
|
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. |
|