From: Chris Clayton <chris2553@googlemail.com>
To: Gleb Natapov <gleb@redhat.com>
Cc: Avi Kivity <avi@redhat.com>,
Eric Northup <digitaleric@google.com>,
kvm@vger.kernel.org, Jan Kiszka <jan.kiszka@siemens.com>
Subject: Re: qemu-kvm-1.1.0 crashing with kernel 3.5.0-rc6
Date: Sun, 29 Jul 2012 20:10:15 +0100 [thread overview]
Message-ID: <50158A97.3050909@googlemail.com> (raw)
In-Reply-To: <20120729175453.GA32360@redhat.com>
On 07/29/12 18:54, Gleb Natapov wrote:
> On Sun, Jul 29, 2012 at 06:50:09PM +0100, Chris Clayton wrote:
>> On 07/29/12 17:34, Avi Kivity wrote:
>>> On 07/29/2012 06:47 PM, Avi Kivity wrote:
>>>>> What might have happened is that the movdqu instruction faulted (as it's
>>>>> an fpu instruction), and on the way back from the fault, ds and es
>>>>> didn't get restored correctly.
>>>>>
>>>>> You can test this by writing a trivial version of g_str_equal()
>>>>> somewhere in the qemu source code and rebuilding it.
>>>>>
>>>>>
>>>>
>>> >from entry_32.S:
>>>>
>>>> .macro RESTORE_REGS pop=0
>>>> RESTORE_INT_REGS
>>>> 1: popl_cfi %ds
>>>> /*CFI_RESTORE ds;*/
>>>> 2: popl_cfi %es
>>>> /*CFI_RESTORE es;*/
>>>> 3: popl_cfi %fs
>>>> /*CFI_RESTORE fs;*/
>>>> POP_GS \pop
>>>> .pushsection .fixup, "ax"
>>>> 4: movl $0, (%esp)
>>>> jmp 1b
>>>> 5: movl $0, (%esp)
>>>> jmp 2b
>>>> 6: movl $0, (%esp)
>>>> jmp 3b
>>>> .popsection
>>>>
>>>> this piece of code tries to restore %ds, and if it fails, zeros it,
>>>> which is consistent with the core dump.
>>>>
>>>> This could happen if kvm is failing to restore GDT correctly.
>>>>
>>>
>>> Possible culprit: b2da15ac26a0c00.
>>>
>>>
>> That commit isn't in qermu-kvm-1.1.1.
>>
> It is in kernel.
>
Sorry, so it is.
With kernel 3.5.0 with b2da15ac26a0c00 reverted, I have just had 15
clean invocations of vanilla qemu-kvm-1.1.1. So that commit would seem
to be the problem.
>> I'm testing a build with g_str_equal implemented in kvm.c and so far
>> I haven't had a crash in 6 invocations. That hasn't been possible
>> with vanilla qemu-kvm-1.1.{0,1}, but I'll do a few more, just to be
>> sure.
>>
Similarly, with my "local" implementation of g_str_equal, I've had 15
clean invocations on vanilla kernel 3.5.0.
I'm more than happy to test patches to fix this regression, but it will
be tomorrow before I will be able to do so.
>> Thanks for your help, Avi.
>
> --
> Gleb.
>
next prev parent reply other threads:[~2012-07-29 19:10 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-09 10:57 qemu-kvm-1.1.0 crashing with kernel 3.5.0-rc6 Chris Clayton
2012-07-11 7:09 ` Chris Clayton
2012-07-11 7:12 ` Gleb Natapov
2012-07-11 7:18 ` Chris Clayton
2012-07-11 7:22 ` Gleb Natapov
2012-07-15 19:52 ` Chris Clayton
2012-07-19 12:14 ` Chris Clayton
2012-07-19 12:17 ` Avi Kivity
2012-07-19 18:23 ` Chris Clayton
2012-07-26 9:52 ` Chris Clayton
2012-07-26 10:01 ` Avi Kivity
2012-07-26 10:29 ` Jan Kiszka
2012-07-26 10:45 ` Avi Kivity
2012-07-26 10:49 ` Jan Kiszka
2012-07-26 11:04 ` Jan Kiszka
2012-07-26 11:58 ` Chris Clayton
2012-07-26 12:07 ` Avi Kivity
2012-07-26 23:22 ` Chris Clayton
2012-07-27 10:46 ` Chris Clayton
[not found] ` <CAG7+5M2y8gJvDCNuWsSB3zH=r75H0Mn=JNV+4DBc5xYjM+BJWA@mail.gmail.com>
2012-07-27 19:04 ` Chris Clayton
2012-07-29 12:42 ` Avi Kivity
2012-07-29 14:03 ` Chris Clayton
2012-07-29 14:18 ` Avi Kivity
2012-07-29 14:48 ` Avi Kivity
2012-07-29 15:21 ` Chris Clayton
2012-07-29 15:47 ` Avi Kivity
2012-07-29 16:34 ` Avi Kivity
2012-07-29 17:50 ` Chris Clayton
2012-07-29 17:54 ` Gleb Natapov
2012-07-29 19:10 ` Chris Clayton [this message]
2012-07-30 14:00 ` Chris Clayton
2012-07-30 14:03 ` Avi Kivity
2012-07-30 14:07 ` Chris Clayton
2012-07-30 16:39 ` Avi Kivity
2012-07-30 23:36 ` Marcelo Tosatti
2012-07-31 9:11 ` Avi Kivity
2012-07-31 16:29 ` Marcelo Tosatti
2012-07-31 16:46 ` Avi Kivity
2012-08-01 13:11 ` Avi Kivity
2012-07-26 12:09 ` Jan Kiszka
2012-07-26 11:10 ` Xiao Guangrong
2012-07-26 13:49 ` Chris Clayton
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=50158A97.3050909@googlemail.com \
--to=chris2553@googlemail.com \
--cc=avi@redhat.com \
--cc=digitaleric@google.com \
--cc=gleb@redhat.com \
--cc=jan.kiszka@siemens.com \
--cc=kvm@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).