Like Jeff mentioned, I also saw some illegal instructions on early linaro builds but didn't pursue it at the time. I just did a little digging online and there was some mention of ARM errata causing issues ( https://bugs.launchpad.net/ubuntu/+source/fakeroot/+bug/495536)
Based on, https://github.com/gumstix/Gumstix-Overo-Kernel/blob/master/arch/arm/configs/overo_linaro_defconfig several of the errata are not set. To be honest, I've not found a description of the errata other than the high-level detail mentioned in the kernel config so I'd love to know which are the correct ones to be setting for the Overo. -Ash On Thu, Sep 20, 2012 at 11:00 AM, Jonathan Kunkee <jonathan.kun...@gmail.com> wrote: > Hello, > > I recently acquired a Gumstix Overo Water with a Tobi and decided to put > Node.js on it to turn it into a web server of sorts. > > The build dies with an "Illegal instruction" error, and I am thoroughly > confused. > > In order to set up the build, I did the following: > 1. imaged a microSD card with the Linaro binaries indicated by > http://wiki.gumstix.org/index.php?title=Installing_Linaro_Image > 2. booted > 3. dd'd/enabled 200MB of swap on the SD card > 4. apt-get update/upgrade everything > 5. installed various development dependencies (git, libc6-dev, g++, and many > others) > 6. cloned Joyent's repo. > 7. modified `wscript` in the repo with V8-specific changes for ARM > (including enabling hard-float) (modified the scons invocation in v0.8) > 8. ./configure > 8. make > 9. observed 'illegal instruction' death in the make process: > > /root/node/deps/v8/src/arguments.h: In constructor > 'v8::internal::CustomArguments::CustomArguments(v8::internal::Isolate*, > v8::internal::Object*, v8::internal::Object*, v8::internal::JSObject*)': > /root/node/deps/v8/src/arguments.h:93:65: internal compiler error: Illegal > instruction > Please submit a full bug report, > with preprocessed source if appropriate. > See <file:///usr/share/doc/gcc-4.6/README.Bugs> for instructions. > The bug is not reproducible, so it is likely a hardware or OS problem. > scons: *** [obj/release/runtime-profiler.o] Error 1 > scons: building terminated because of errors. > > > If I restart the build, it works fine for a while (including rebuilding the > object it died building) then dies again. A different portion of the build > is running and it usually receives a segfault: > > [ 9/35] cxx: src/node_javascript.cc -> out/Release/src/node_javascript_5.o > /usr/bin/g++ -pthread -g -O3 -DHAVE_OPENSSL=1 -D_LARGEFILE_SOURCE > -D_FILE_OFFSET_BITS=64 -DHAVE_FDATASYNC=1 -DARCH="arm" -DPLATFORM="linux" > -D__POSIX__=1 -Wno-unused-parameter -D_FORTIFY_SOURCE=2 -IRelease/src > -I../src -IRelease/deps/http_parser -I../deps/http_parser > -IRelease/deps/uv/include -I../deps/uv/include -IRelease/deps/uv/src/ares > -I../deps/uv/src/ares -IRelease/deps/v8/include -I../deps/v8/include > -Ideps/v8/include ../src/node_javascript.cc -c -o > Release/src/node_javascript_5.o > g++: internal compiler error: Segmentation fault (program as) > Please submit a full bug report, > with preprocessed source if appropriate. > See <file:///usr/share/doc/gcc-4.6/README.Bugs> for instructions. > Waf: Leaving directory `/root/node/out' > > > I am confused. I've made a few observations about my setup: > > * Thinking that it might be a thermal problem because it was under heavy > load at 600MHz in open air, I dug out a small heat sink, attached it, and > pointed a small fan at it. It now runs cool to the touch. I still get the > same 'illegal instruction' deaths under load. > > * Usually three invocations of 'make' are required before it actually > finishes, but it does finish. I can run the command-line interpreter and it > seems to behave inasmuch as I've used it. > * 'make test' fails, but I think that's a Node.js/ARM problem. > * I run htop to monitor the build, and sometimes the build system works fine > while htop dies with an 'illegal instruction' error. > * Node.js on ARM is presently somewhat sticky, so I checked out the v0.6.6 > tag. v0.6.18 encounters the same problem. v0.8.9 simply segfaults instead. > * I have an Overo Water (GS3503W-R2889) on a Tobi. > * MLO version: I haven't the foggiest, but I get the U-Boot version string > twice, once being before u-boot.bin is loaded. > * U-Boot 2012.04.01 (Jul 19 2012 - 17:31:34) > * I moved the SD card to a different Water/Tobi pair and I got the same > error (illegal instruction, Node.js v0.8.9) > > It feels like a task swapping bug in the kernel. Perhaps it's related to > errata on the OMAP3530. It could also be read timeouts from the swap file on > the SD card, though dmesg doesn't say anything of the sort. I found a kernel > patch regarding inconsistent caches on ARM, but it hit in 2.6.33 and I'm > running 3.2.1. > > Has anyone seen something like this? > Would anyone be willing to replicate the problem? I'd be happy to share my > tweaks to Node.js' build system to get it to build. > > Thanks for reading! > Jon Kunkee > > ------------------------------------------------------------------------------ > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://ad.doubleclick.net/clk;258768047;13503038;j? > http://info.appdynamics.com/FreeJavaPerformanceDownload.html > _______________________________________________ > gumstix-users mailing list > gumstix-us...@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gumstix-users > _______________________________________________ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev