From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:32808) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WIDYd-00055k-VV for qemu-devel@nongnu.org; Tue, 25 Feb 2014 03:40:12 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WIDYZ-0000SF-KU for qemu-devel@nongnu.org; Tue, 25 Feb 2014 03:40:07 -0500 Received: from static.88-198-71-155.clients.your-server.de ([88.198.71.155]:43665 helo=socrates.bennee.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WIDYZ-0000R0-Dh for qemu-devel@nongnu.org; Tue, 25 Feb 2014 03:40:03 -0500 References: <87sirhyi1b.fsf@linaro.org> From: Alex =?utf-8?Q?Benn=C3=A9e?= In-reply-to: Date: Tue, 25 Feb 2014 08:39:58 +0000 Message-ID: <87txbnfuw1.fsf@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] Call for testing QEMU aarch64-linux-user emulation List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Dann Frazier Cc: Peter Maydell , linaro-dev , Michael Matz , Alexander Graf , "linaro-toolchain@lists.linaro.org" , qemu-devel , Wook Wookey , Alex =?utf-8?Q?Benn=C3=A9e?= , Christoffer Dall Dann Frazier writes: > On Mon, Feb 17, 2014 at 6:40 AM, Alex Bennée wrote: >> Hi, > > Thanks to all involved for your work here! > >> After a solid few months of work the QEMU master branch [1] has now reached >> instruction feature parity with the suse-1.6 [6] tree that a lot of people >> have been using to build various aarch64 binaries. In addition to the >> >> I've tested against the following aarch64 rootfs: >> * SUSE [2] >> * Debian [3] >> * Ubuntu Saucy [4] > > fyi, I've been doing my testing with Ubuntu Trusty. Good stuff, I shall see if I can set one up. Is the package coverage between trusty and saucy much different? I noticed for example I couldn't find zile and various build-deps for llvm. >> >> Feedback I'm interested in >> ========================== >> >> * Any instruction failure (please include the log line with the >> unsupported message) >> * Any aarch64 specific failures (i.e. not generic QEMU threading flakeiness). > > I'm not sure if this qualifies as generic QEMU threading flakiness or not. I've > found a couple conditions that causes master to core dump fairly > reliably, while the aarch64-1.6 branch seems to consistently work > fine. > > 1) dh_fixperms is a script that commonly runs at the end of a package build. > Its basically doing a `find | xargs chmod`. > 2) debootstrap --second-stage > This is used to configure an arm64 chroot that was built using > debootstrap on a non-native host. It is basically invoking a bunch of > shell scripts (postinst, etc). When it blows up, the stack consistently > looks like this: > > Core was generated by `/usr/bin/qemu-aarch64-static /bin/sh -e > /debootstrap/debootstrap --second-stage'. > Program terminated with signal SIGSEGV, Segmentation fault. > #0 0x0000000060058e55 in memcpy (__len=8, __src=0x7fff62ae34e0, > __dest=0x400082c330) at > /usr/include/x86_64-linux-gnu/bits/string3.h:51 > 51 return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest)); > (gdb) bt > #0 0x0000000060058e55 in memcpy (__len=8, __src=0x7fff62ae34e0, > __dest=0x400082c330) at > /usr/include/x86_64-linux-gnu/bits/string3.h:51 > #1 stq_p (v=274886476624, ptr=0x400082c330) at > /mnt/qemu.upstream/include/qemu/bswap.h:280 > #2 stq_le_p (v=274886476624, ptr=0x400082c330) at > /mnt/qemu.upstream/include/qemu/bswap.h:315 > #3 target_setup_sigframe (set=0x7fff62ae3530, env=0x62d9c678, > sf=0x400082b0d0) at /mnt/qemu.upstream/linux-user/signal.c:1167 > #4 target_setup_frame (usig=usig@entry=17, ka=ka@entry=0x604ec1e0 > , info=info@entry=0x0, set=set@entry=0x7fff62ae3530, > env=env@entry=0x62d9c678) > at /mnt/qemu.upstream/linux-user/signal.c:1286 > #5 0x0000000060059f46 in setup_frame (env=0x62d9c678, > set=0x7fff62ae3530, ka=0x604ec1e0 , sig=17) at > /mnt/qemu.upstream/linux-user/signal.c:1322 > #6 process_pending_signals (cpu_env=cpu_env@entry=0x62d9c678) at > /mnt/qemu.upstream/linux-user/signal.c:5747 > #7 0x0000000060056e60 in cpu_loop (env=env@entry=0x62d9c678) at > /mnt/qemu.upstream/linux-user/main.c:1082 > #8 0x0000000060005079 in main (argc=, argv= out>, envp=) at > /mnt/qemu.upstream/linux-user/main.c:4374 > > There are some pretty large differences between these trees with > respect to signal syscalls - is that the likely culprit? Quite likely. We explicitly concentrated on the arch64 specific instruction emulation leaving more generic patches to flow in from SUSE as they matured. I guess it's time to go through the remaining patches and see what's up-streamable. Alex/Michael, Are any of these patches in flight now? Cheers, -- Alex Bennée QEMU/KVM Hacker for Linaro