From: Boris Ostrovsky <boris.ostrovsky@oracle.com>
To: <torvalds@linux-foundation.org>
Cc: <xen-devel@lists.xenproject.org>, <fengguang.wu@intel.com>,
<linux-kernel@vger.kernel.org>
Subject: Re: [xen] double fault: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC
Date: Sun, 6 Oct 2013 15:14:23 -0700 (PDT) [thread overview]
Message-ID: <1df5b870-d4bb-46c2-8e6e-af7b63ba21cc@default> (raw)
----- torvalds@linux-foundation.org wrote:
> On Sun, Oct 6, 2013 at 1:23 AM, Fengguang Wu <fengguang.wu@intel.com>
> wrote:
> >
> > I got the below dmesg and the first bad commit is commit
> cf39c8e5352b:
> > Merge tag 'stable/for-linus-3.12-rc0-tag' of
> git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip
>
> Ugh. How reliable is the double fault? Because bisecting it to the
> merge that didn't even have any conflicts in it as far as I can
> remember means that there's something really subtle going on wrt some
> semantic conflict or other. Or, alternatively, it means that the
> bisect failed because the double fault isn't 100% reliable..
>
> Anyway, the stack is crap when the original fault happens at
> "boot_tvec_bases+0x1fe", and that causes the double fault debug code
> to take *another* fault, which means that it doesn't even show the
> right code sequence. Too bad. So ignore the latter part of the oops,
> but the top part looks valid:
>
> > [ 4.136137] double fault: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC
> > [ 4.137521] CPU: 0 PID: 132 Comm: bootlogd Not tainted
> 3.12.0-rc2-00153-g14951f2 #129
> > [ 4.139156] task: ffff88000c9a6580 ti: ffff88000c9ba000 task.ti:
> ffff88000c9ba000
> > [ 4.140042] RIP: 0010:[<ffffffff81f31c7e>] [<ffffffff81f31c7e>]
> boot_tvec_bases+0x1fe/0x2080
> > [ 4.140042] RSP: 0018:0000000088000cd8 EFLAGS: 00010212
> > [ 4.140042] RAX: 000000000000004f RBX: 0000000000000100 RCX:
> 0000000000000000
> > [ 4.140042] RDX: 0000000000000f1e RSI: ffffffff81f746a8 RDI:
> ffffffff81f31c48
> > [ 4.140042] RBP: ffff88000f003ee0 R08: 0000000000000000 R09:
> 0000000000000000
> > [ 4.140042] R10: 0000000000000001 R11: ffff88000f00a000 R12:
> ffff88000c9bbfd8
> > [ 4.140042] R13: ffffffff81f31c48 R14: ffffffff81f31c48 R15:
> ffffffff81f31c48
> > [ 4.140042] FS: 00007fb1f9662700(0000) GS:ffff88000f000000(0000)
> knlGS:0000000000000000
> > [ 4.140042] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > [ 4.140042] CR2: 0000000088000cc8 CR3: 000000000c9cd000 CR4:
> 00000000000006b0
> > [ 4.140042] Stack:
> <boom, it crashes again here>
>
> but it has jumped into a data section and is executing random data as
> code, and there is no sign of where it jumped *from*, since the
> random
> code clearly corrupted the stack - resulting in the double fault in
> the first place.
>
> So the oops is almost entirely useless as a debug aid in this
> situation. I'm almost hoping that your bisect was wrong, and you
> could
> try to see if you could do that again..
For what it's worth, the commit in question touches almost exclusively
Xen files, the only exception being lib/swiotlb.c (with what appear
to be fairly trivial changes). And CONFIG_XEN in the config file for
this report is not set.
-boris
next reply other threads:[~2013-10-06 22:14 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-06 22:14 Boris Ostrovsky [this message]
-- strict thread matches above, loose matches on Subject: below --
2013-10-06 8:23 [xen] double fault: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC Fengguang Wu
2013-10-06 17:26 ` Linus Torvalds
2013-10-07 2:11 ` Fengguang Wu
2013-10-07 5:10 ` Fengguang Wu
2013-10-07 8:12 ` Linus Torvalds
[not found] ` <20131007083505.GA22585@localhost>
2013-10-07 22:14 ` Linus Torvalds
2013-10-07 22:29 ` Russell King - ARM Linux
2013-10-07 23:33 ` Russell King - ARM Linux
2013-10-07 23:47 ` Linus Torvalds
2013-10-08 2:09 ` Fengguang Wu
2013-10-08 2:14 ` Fengguang Wu
2013-10-08 2:36 ` Fengguang Wu
2013-10-08 3:07 ` Linus Torvalds
2013-10-08 2:51 ` Linus Torvalds
2013-10-08 3:11 ` Fengguang Wu
2013-10-08 3:29 ` Linus Torvalds
2013-10-08 3:35 ` Fengguang Wu
2013-10-08 12:17 ` Fengguang Wu
2013-10-08 22:14 ` Russell King - ARM Linux
2013-10-08 22:48 ` Greg Kroah-Hartman
2013-10-09 0:45 ` Linus Torvalds
2013-10-09 1:18 ` Dave Jones
2013-10-09 14:12 ` Josh Boyer
2013-10-09 0:46 ` Fengguang Wu
2013-10-08 8:06 ` Russell King - ARM Linux
2013-10-10 2:23 ` Dave Airlie
2013-10-10 2:38 ` Linus Torvalds
2013-10-10 9:19 ` Russell King - ARM Linux
2013-10-10 10:53 ` Russell King - ARM Linux
2013-10-11 3:55 ` Dave Airlie
2013-10-11 4:28 ` Dave Airlie
2013-10-11 5:14 ` Fengguang Wu
2013-10-23 11:20 ` Xiong Zhou
2013-10-08 2:43 ` Linus Torvalds
2013-10-08 7:58 ` Ingo Molnar
2013-10-08 8:20 ` Fengguang Wu
2013-10-08 8:26 ` Ingo Molnar
2013-10-08 9:34 ` Ingo Molnar
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=1df5b870-d4bb-46c2-8e6e-af7b63ba21cc@default \
--to=boris.ostrovsky@oracle.com \
--cc=fengguang.wu@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
--cc=xen-devel@lists.xenproject.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