All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Andreas Färber" <afaerber@suse.de>
To: "Alex Bennée" <alex.bennee@linaro.org>
Cc: Peter Maydell <peter.maydell@linaro.org>,
	linaro-dev <linaro-dev@lists.linaro.org>,
	Dann Frazier <dann.frazier@canonical.com>,
	Michael Matz <matz@suse.de>, Alexander Graf <agraf@suse.de>,
	"linaro-toolchain@lists.linaro.org"
	<linaro-toolchain@lists.linaro.org>,
	qemu-devel <qemu-devel@nongnu.org>,
	Wook Wookey <wookey@linaro.org>,
	Christoffer Dall <Christoffer.Dall@linaro.org>
Subject: Re: [Qemu-devel] Call for testing QEMU aarch64-linux-user emulation
Date: Tue, 25 Feb 2014 09:49:41 +0100	[thread overview]
Message-ID: <530C5925.8060608@suse.de> (raw)
In-Reply-To: <87txbnfuw1.fsf@linaro.org>

Am 25.02.2014 09:39, schrieb Alex Bennée:
> 
> Dann Frazier <dann.frazier@canonical.com> writes:
> 
>> On Mon, Feb 17, 2014 at 6:40 AM, Alex Bennée <alex.bennee@linaro.org> 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
> <snip>
>>>
>>> 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.
> 
> <snip>
>>>
>>> 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
>> <sigact_table+512>, 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 <sigact_table+512>, 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=<optimized out>, argv=<optimized
>> out>, envp=<optimized out>) 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?

I don't think so, Alex seems to hate cleaning that stuff up... :P

Compare https://github.com/openSUSE/qemu/commits/opensuse-1.7 for our
general queue. We have patches adding locking to TCG, and there's a hack
pinning the CPU somewhere.

Regards,
Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg

  reply	other threads:[~2014-02-25  8:49 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-17 13:40 [Qemu-devel] Call for testing QEMU aarch64-linux-user emulation Alex Bennée
2014-02-24 13:01 ` Janne Grunau
2014-02-25 15:54   ` Alex Bennée
2014-02-25 17:11     ` Janne Grunau
2014-03-06 11:40       ` Alex Bennée
2014-03-06 16:04         ` Janne Grunau
2014-02-24 20:58 ` Dann Frazier
2014-02-25  8:39   ` Alex Bennée
2014-02-25  8:49     ` Andreas Färber [this message]
2014-02-25 13:33       ` Michael Matz
2014-02-25 13:46         ` Peter Maydell
2014-02-25 14:56           ` Michael Matz
2014-02-28 14:12             ` Alex Bennée
2014-02-28 14:21               ` Peter Maydell
2014-02-28 14:27                 ` Alexander Graf
2014-02-28 14:49                   ` Peter Maydell
2014-02-28 17:08                     ` Alex Bennée
2014-02-28 17:17                       ` Peter Maydell
2014-02-26 22:06     ` Dann Frazier
2014-02-27 13:20       ` Michael Matz
2014-02-27 19:47         ` Dann Frazier
2014-03-14 14:20         ` Peter Maydell
2014-03-09 23:37     ` Dann Frazier
2014-03-09 23:51       ` Peter Maydell
2014-03-10 11:28         ` Alex Bennée
2014-03-10 11:45           ` Peter Maydell
2014-03-10 13:56           ` Michael Matz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=530C5925.8060608@suse.de \
    --to=afaerber@suse.de \
    --cc=Christoffer.Dall@linaro.org \
    --cc=agraf@suse.de \
    --cc=alex.bennee@linaro.org \
    --cc=dann.frazier@canonical.com \
    --cc=linaro-dev@lists.linaro.org \
    --cc=linaro-toolchain@lists.linaro.org \
    --cc=matz@suse.de \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=wookey@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.