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 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.