Issue metadata
Sign in to add a comment
|
Chromium build by gcc 5.2+ for ARM segfaults on start |
||||||||||||||||||||
Issue descriptionEver since Arch Linux ARM upgraded their compilers to gcc 5.2 (in July) they had no luck getting chromium to work. As soon as it's launched it crashes with a segfault. Ways to reproduce: Get a raspberry pi, install Arch Linux on it, install chromium from the repository, note it segfault. Here's the best debug information that was acquired: https://bpaste.net/show/264749c1fa0a I heard steev had similar issues with gentoo on arm64, but he got it working by using --no-sandbox. Please take a look, there has been no chromium built since M43. It's the only thing that will work on my chromebook flip and I have the google main page yelling at me now to update.
,
Mar 7 2016
You can build a debug version of chrome (by changing the line in the PKGBUILD from 'ninja -C out/Release' to 'ninja -C out/Debug') and enable logging by following the instructions here: http://www.chromium.org/for-testers/enable-logging. If you attach the generated chrome_debug.log file to this bug, it'll help narrow things down much faster.
,
Mar 8 2016
We've been trying to do a debug build, but I don't believe there is an ARMv7 device in existence with enough RAM to successfully link that. I'm open to any ideas on how to get around that, or any alternate means of debugging you might have. Regarding the aarch64 runtime issues, this has been resolved by patching in two changes: https://codereview.chromium.org/1617763002 https://codereview.chromium.org/1613883002
,
Mar 8 2016
You can do a release build with -DDCHECK_ALWAYS_ON=1 in your GYP_DEFINES. This won't give you debug symbols but you might be able to get a nice error message in your logs.
,
Mar 8 2016
Attached chrome_debug.log after building with -Ddcheck_always_on=1 and running with --enable-logging --v=1.
,
Mar 8 2016
Well I was hoping to get a stack trace or some sort of error message in the log but there's nothing useful in there. A debug build is probably your best bet. Maybe you can cross-compile on a more powerful machine? Gentoo has really good cross-compilation support.
,
Mar 9 2016
I can get something going on Arch. Do you have any real-life usage figures for RAM with a debug build so I can find an adequate machine?
,
Mar 9 2016
You definitely need a 64-bit cpu. I don't know how much RAM the build takes but I think 8GB should be safe. You can try doing a component build so that rather than linking a giant binary, you get a bunch of .so files: http://www.chromium.org/developers/how-tos/component-build It also looks like chrome also keeps a sysroot for cross-compiling: https://chromium.googlesource.com/chromium/src/+/master/docs/linux_chromium_arm.md
,
Mar 9 2016
Thanks, I'll see if a native component build is successful (didn't know about that one), but I'll also get a cross-compile environment set up. I should hopefully have something to report within a day or two.
,
Mar 10 2016
A full debug build is still in the works, but maybe you have some insight into this link error in a component debug build? Building with use_system_icu=1 and use_mojo=0.
[17593/19976] SOLINK lib/libcontent.so
FAILED: if [ ! -e lib/libcontent.so -o ! -e lib/libcontent.so.TOC ]; then c++ -shared -Wl,-O1,--sort-common,--as-needed,-z,relro -Wl,-z,now -Wl,-z,relro -Wl,-z,defs -pthread -Wl,-z,noexecstack -fPIC -Wl,--disable-new-dtags -L. -Wl,-uIsHeapProfilerRunning,-uProfilerStart -Wl,-u_Z21InitialMallocHook_NewPKvj,-u_Z22InitialMallocHook_MMapPKvS0_jiiix,-u_Z22InitialMallocHook_SbrkPKvi -Wl,-u_Z21InitialMallocHook_NewPKvm,-u_Z22InitialMallocHook_MMapPKvS0_miiil,-u_Z22InitialMallocHook_SbrkPKvl -Wl,-u_ZN15HeapLeakChecker12IgnoreObjectEPKv,-u_ZN15HeapLeakChecker14UnIgnoreObjectEPKv -Wl,--export-dynamic -pthread -o lib/libcontent.so -Wl,-soname=libcontent.so @lib/libcontent.so.rsp && { readelf -d lib/libcontent.so | grep SONAME ; nm -gD -f p lib/libcontent.so | cut -f1-2 -d' '; } > lib/libcontent.so.TOC; else c++ -shared -Wl,-O1,--sort-common,--as-needed,-z,relro -Wl,-z,now -Wl,-z,relro -Wl,-z,defs -pthread -Wl,-z,noexecstack -fPIC -Wl,--disable-new-dtags -L. -Wl,-uIsHeapProfilerRunning,-uProfilerStart -Wl,-u_Z21InitialMallocHook_NewPKvj,-u_Z22InitialMallocHook_MMapPKvS0_jiiix,-u_Z22InitialMallocHook_SbrkPKvi -Wl,-u_Z21InitialMallocHook_NewPKvm,-u_Z22InitialMallocHook_MMapPKvS0_miiil,-u_Z22InitialMallocHook_SbrkPKvl -Wl,-u_ZN15HeapLeakChecker12IgnoreObjectEPKv,-u_ZN15HeapLeakChecker14UnIgnoreObjectEPKv -Wl,--export-dynamic -pthread -o lib/libcontent.so -Wl,-soname=libcontent.so @lib/libcontent.so.rsp && { readelf -d lib/libcontent.so | grep SONAME ; nm -gD -f p lib/libcontent.so | cut -f1-2 -d' '; } > lib/libcontent.so.tmp && if ! cmp -s lib/libcontent.so.tmp lib/libcontent.so.TOC; then mv lib/libcontent.so.tmp lib/libcontent.so.TOC ; fi; fi
obj/mojo/shell/public/cpp/mojo_application_base.initialize_base_and_icu.o: In function `InitializeBase':
/build/chromium/src/chromium-49.0.2623.75/out/Debug/../../mojo/shell/public/cpp/initialize_base_and_icu.cc:40: undefined reference to `base::i18n::InitializeICUFromRawMemory(unsigned char const*)'
collect2: error: ld returned 1 exit status
,
May 21 2016
This issue appears to be solved now by building with GCC 6.1.1. Chromium 50.0.2661.102 is running correctly when built with this toolchain.
,
Jan 10
Archiving issues older than 2 years with no owner or component. |
|||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||
Comment 1 Deleted