chrome build fails at startup

868 views
Skip to first unread message

charles quarra

unread,
May 28, 2014, 8:00:05 PM5/28/14
to chromi...@chromium.org


Hi,

I just finished building chrome with the g++ cross compiling setup as explained in here: https://code.google.com/p/chromium/wiki/LinuxChromiumArm
the build goes well, but after moving the binary to the device and trying to run I get the following error:

$ chrome
[0528/163939:FATAL:content_main_runner.cc(751)] Check failed: base::i18n::InitializeICU(). 
Aborted (core dumped)

Attached is the core dump file. 

More interesting datapoints: during build I get this warning from ninja:

ninja: warning: multiple rules generate icudtl.dat. builds involving this target will not be correct; continuing anyway

I search for this error and found some references about it, but it mentions that it only happens on 'android'. I can verify that it also seems to be happening for linux-arm

https://code.google.com/p/chromium/issues/detail?id=351052

according to this thread, both problems might be related:

http://www.magpcss.org/ceforum/viewtopic.php?f=6&t=11459


assuming this bug is related to that pending issue, is there a workaround to be able to run fresh builds on the meantime? If it is a matter of copying some icudtl.dat file with the binary that's ok, since this is on a development machine
_usr_lib_chromium-browser_chromium-browser.1000.crash.gz

charles quarra

unread,
May 28, 2014, 9:01:41 PM5/28/14
to chromi...@chromium.org


On Wednesday, May 28, 2014 7:00:05 PM UTC-5, charles quarra wrote:

assuming this bug is related to that pending issue, is there a workaround to be able to run fresh builds on the meantime? If it is a matter of copying some icudtl.dat file with the binary that's ok, since this is on a development machine

I did what I suggested above: I copied icudtl.dat and all the *.pak files on out/Release that chrome asks. After doing this, it still fails to run:

[1:1:0528/174720:FATAL:chrome_main_delegate.cc(740)] Check failed: !loaded_locale.empty(). Locale could not be found for 

No idea what to do next 

charles quarra

unread,
May 28, 2014, 9:06:18 PM5/28/14
to chromi...@chromium.org


On Wednesday, May 28, 2014 8:01:41 PM UTC-5, charles quarra wrote:


[1:1:0528/174720:FATAL:chrome_main_delegate.cc(740)] Check failed: !loaded_locale.empty(). Locale could not be found for 

No idea what to do next 

I did copy the locales from the default installation of chrome in the system, and it seems to be able to use those. After I do that, it fails with this other error:

$ LaunchProcess: failed to execvp:
/home/odroid/third_party/usr/local/bin/nacl_helper_bootstrap
[1:1:0528/180510:ERROR:nacl_fork_delegate_linux.cc(226)] Bad NaCl helper startup ack (0 bytes)
 

Sangwhan Moon

unread,
May 29, 2014, 5:36:19 AM5/29/14
to charles...@gmail.com, Chromium-dev
If you don't need native client, it might be easier to just disable it. (And have you checked if that file actually exists in the path from the error?)
 
--
Sangwhan Moon [Opera Software ASA]
Software Engineer | Tokyo, Japan

charles quarra

unread,
May 29, 2014, 4:29:47 PM5/29/14
to chromi...@chromium.org, charles...@gmail.com


On Thursday, May 29, 2014 4:36:19 AM UTC-5, Sangwhan Moon wrote:

If you don't need native client, it might be easier to just disable it. (And have you checked if that file actually exists in the path from the error?)
 


Well, it seems there is a problem with that too: disabling nacl in linux seems to be broken: https://codereview.chromium.org/10565014 
I tried it like this:

build/gyp_chromium disable_nacl=1
Updating projects from gyp files...
gyp: disable_nacl=1 not found

charles quarra

unread,
May 29, 2014, 4:34:54 PM5/29/14
to chromi...@chromium.org, charles...@gmail.com


On Thursday, May 29, 2014 4:36:19 AM UTC-5, Sangwhan Moon wrote:
 (And have you checked if that file actually exists in the path from the error?)
 


I just tried that, (copying nacl_helper_bootstrap to the folder where the chrome binary sits) and this is the error message I get:

bootstrap_helper: ReserveBottomPages: NULL pointer guard page errno=22
[1:1:0529/133340:ERROR:nacl_fork_delegate_linux.cc(226)] Bad NaCl helper startup ack (0 bytes) 

David Michael

unread,
May 29, 2014, 4:36:03 PM5/29/14
to charles quarra, Chromium-dev
On Thu, May 29, 2014 at 2:29 PM, charles quarra <charles...@gmail.com> wrote:


On Thursday, May 29, 2014 4:36:19 AM UTC-5, Sangwhan Moon wrote:

If you don't need native client, it might be easier to just disable it. (And have you checked if that file actually exists in the path from the error?)
 


Well, it seems there is a problem with that too: disabling nacl in linux seems to be broken: https://codereview.chromium.org/10565014 
That's a really old, uncommitted CL...  I doubt it's relevant.
 
I tried it like this:

build/gyp_chromium disable_nacl=1
Updating projects from gyp files...
gyp: disable_nacl=1 not found
Try build/gyp_chromium -Ddisable_nacl=1
 

--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev

Roland McGrath

unread,
May 29, 2014, 4:46:51 PM5/29/14
to charles...@gmail.com, chromium-dev, Mark Seaborn
On Thu, May 29, 2014 at 1:34 PM, charles quarra
<charles...@gmail.com> wrote:
> bootstrap_helper: ReserveBottomPages: NULL pointer guard page errno=22
> [1:1:0529/133340:ERROR:nacl_fork_delegate_linux.cc(226)] Bad NaCl helper
> startup ack (0 bytes)

This is probably a bug in nacl_helper_bootstrap. It's encountering a
situation we've never seen before and didn't know was possible.
Can you give us the details of what hardware (or virtual hardware),
kernel, and OS installation you are running this on?
We'd like to reproduce the failure ourselves. You'll probably see
this same failure if you just run "nacl_helper_bootstrap" by itself
with no arguments. It's useful to know whether you see the same
failure that way or not. (If you do, then it's just your kernel/OS
configuration behaving differently from what we expect. If you don't,
then it might be the Chromium sandbox provoking your kernel/OS to
behave differently.)


Thanks,
Roland

charles quarra

unread,
May 29, 2014, 4:52:27 PM5/29/14
to chromi...@chromium.org, charles...@gmail.com, msea...@chromium.org


On Thursday, May 29, 2014 3:46:51 PM UTC-5, Roland McGrath wrote:

This is probably a bug in nacl_helper_bootstrap.  It's encountering a
situation we've never seen before and didn't know was possible.
Can you give us the details of what hardware (or virtual hardware),
kernel, and OS installation you are running this on?
We'd like to reproduce the failure ourselves.  You'll probably see
this same failure if you just run "nacl_helper_bootstrap" by itself
with no arguments.  It's useful to know whether you see the same
failure that way or not.  (If you do, then it's just your kernel/OS
configuration behaving differently from what we expect.  If you don't,
then it might be the Chromium sandbox provoking your kernel/OS to
behave differently.)



It seems to be expecting some arguments:
odroid@odro1:~$ nacl_helper_bootstrap 
bootstrap_helper: Usage: PROGRAM ARGS...
odroid@odro1:~$ nacl_helper_bootstrap --help
bootstrap_helper: ReserveBottomPages: NULL pointer guard page errno=22

the device is an Odroid U3 with Xubuntu 13.10 (I believe the kernel has some factory patches, if you need I can ask for more details in the odroid forums)


 

Roland McGrath

unread,
May 29, 2014, 6:05:30 PM5/29/14
to charles...@gmail.com, chromium-dev, Mark Seaborn
On Thu, May 29, 2014 at 1:52 PM, charles quarra
<charles...@gmail.com> wrote:
> It seems to be expecting some arguments:
> odroid@odro1:~$ nacl_helper_bootstrap
> bootstrap_helper: Usage: PROGRAM ARGS...
> odroid@odro1:~$ nacl_helper_bootstrap --help
> bootstrap_helper: ReserveBottomPages: NULL pointer guard page errno=22

Yes, it needs one argument, sorry. When it is working, /bin/true
should work well as an argument for this kind of smoke test.

> the device is an Odroid U3 with Xubuntu 13.10 (I believe the kernel has some
> factory patches, if you need I can ask for more details in the odroid
> forums)

I was able to download the standard disk image for the U3 from
Odroid's web site.
But I haven't yet managed to find the incantation for qemu-system-arm
to boot such an image.
The hardware is cheap enough that I might buy one myself just to
debug, but they're out of stock until the middle of July.
If you can figure out how to run this image under qemu and you
reproduce the problem there, then please give me all the details and
I'll repeat it here.

Failing that, it would be informative if you can run "strace
nacl_helper_bootstrap /bin/true" and send me the full output.


Thanks,
Roland

charles quarra

unread,
May 29, 2014, 11:53:55 PM5/29/14
to chromi...@chromium.org, charles...@gmail.com, msea...@chromium.org


On Thursday, May 29, 2014 5:05:30 PM UTC-5, Roland McGrath wrote:
Failing that, it would be informative if you can run "strace
nacl_helper_bootstrap /bin/true" and send me the full output.



$ strace nacl_helper_bootstrap /bin/true
execve("/home/odroid/third_party/usr/local/bin/nacl_helper_bootstrap", ["nacl_helper_bootstrap", "/bin/true"], [/* 32 vars */]) = 0
mmap2(NULL, 65536, PROT_NONE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = -1 EINVAL (Invalid argument)
mmap2(0x1000, 61440, PROT_NONE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = -1 EINVAL (Invalid argument)
writev(2, [{"bootstrap_helper: ", 18}, {"ReserveBottomPages", 18}, {": ", 2}, {"NULL pointer guard page ", 24}, {"errno", 5}, {"=", 1}, {"22", 2}, {"", 0}, {NULL, 0}, {"", 0}, {NULL, 0}, {"\n", 1}], 12bootstrap_helper: ReserveBottomPages: NULL pointer guard page errno=22
) = 71
exit_group(2)                           = ?
+++ exited with 2 +++ 


In any case, I succeeded recompiling chrome and chrome_sandbox with disable_nacl, and run again, but it gives a core dumped, although it doesn't seem to put the .crash file in /var/crash like in the previous case. I did however run a strace chrome and I attached the whole output


chrome_strace.gz
Reply all
Reply to author
Forward
0 new messages