On 2012-06-21 19:39:18 +0000, Adrian Schröter said:
I don't know if the segfault is due to a QEMU issue, if I'm emulating the wrong processor arch, or something else entirely at this point.
I would think it was caused by qemu. Do you use the version from openSUSE? Alex did plenty of bugfixes to support arm builds ...
At this point, I'm not sure how to interpret what I'm seeing, so I'll try to be thorough: - I am using the following packages from the openSUSE:Factory:ARM project: (dated today) (http://download.opensuse.org/repositories/openSUSE:/Factory:/ARM/standard/x8...) qemu-accel-armv7hl-0.2-84.1.x86_64.rpm qemu-linux-user-1.1.0-89.1.x86_64.rpm I'm building for Fedora 17 'armhfp'; I have no issues with F17 & the 'arm' architecure. The behavior I'm seeing is not something I can explain. It's more or less identical between worker nodes and an 'osc local' build. - the difference being a core dump is generated on the worker nodes. [27/54] preinstalling qemu-linux-user... . . . [45/54] preinstalling qemu-accel-armv7hl... . . . [51/54] preinstalling util-linux... [52/54] preinstalling rpm... [53/54] preinstalling rpm-libs... [54/54] preinstalling rpm-sign... initializing rpm db... qemu: uncaught target signal 11 (Segmentation fault) - core dumped /var/run/obs/worker/1/build/init_buildsystem: line 233: 22581 Segmentation fault chroot $BUILD_ROOT rpm --initdb Now for the strange bit: n003:/ # chroot /var/tmp/obs_workers/root_1/ rpm --initdb warning: read(/proc/cpuinfo) failed warning: read(/proc/cpuinfo) failed n003:/ # echo $? 0 n003:/ # If executed from the build script, I get a core dump. If I run chroot directly, it doesn't. I checked to see if the binary was in fact the ARM binary: n003:/ # file /var/tmp/obs_workers/root_1/bin/rpm /var/tmp/obs_workers/root_1/bin/rpm: ELF 32-bit LSB executable, ARM, version 1 (SYSV), for GNU/Linux 2.6.32, dynamically linked (uses shared libs), stripped So, it is an ARM binary, and it is running just fine. Additionally, I can simply execute "chroot /var/tmp/obs_workers/root_1 bin/bash" and get a bash prompt inside the chroot - and it appears that qemu is being used to run all of the binaries. n003:/ # uname -m x86_64 n003:/ # chroot /var/tmp/obs_workers/root_1/ /bin/bash bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8) bash-4.2# uname -m armv7l bash-4.2# I have to say this is pretty slick - kudos to whomever figured that one out! I can easily retrieve core dumps; but I'm not sure if they would be useful at this point - or whom to send them to. -- Troy Telford -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org