From: Jeremy Fitzhardinge <jeremy@goop.org>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: Jake Edge <jake@lwn.net>, LKML <linux-kernel@vger.kernel.org>,
Ingo Molnar <mingo@elte.hu>,
Frederic Weisbecker <fweisbec@gmail.com>
Subject: Re: problem with function_graph self-test?
Date: Thu, 18 Jun 2009 17:29:46 -0700 [thread overview]
Message-ID: <4A3ADBFA.1060702@goop.org> (raw)
In-Reply-To: <alpine.DEB.2.00.0906172312450.6890@gandalf.stny.rr.com>
On 06/17/09 20:24, Steven Rostedt wrote:
> On Tue, 16 Jun 2009, Jake Edge wrote:
>
>
>> Hi Steve,
>>
>> This has taken me a bit to track down ... I built a kernel from Linus's
>> git tree (as of this morning: commit
>> 03347e2592078a90df818670fddf97a33eec70fb) and when i boot it, it locks
>> up hard giving me a cursor in the upper left (which seems to grow then
>> shrink once, if that tells anyone anything) and no other output ... i
>> started messing with kernel params (turning off quiet, rhgb, adding
>> boot_delay and, eventually figuring out i needed lpj as well) to try
>> and extract some info ... it seems to reliably fail in the
>> function_graph tracer self-test with a variety of messages (I
>> unfortunately don't have a serial console on the laptop that I am
>> using) ... two of the messages that I got (possibly from different
>> boots):
>>
>> BUG: unable to handle kernel NULL pointer dereference at 00000048
>> BUG: Function graph tracer hang!
>>
>> I can try and get more information, but I wanted to check first if you
>> already know about this ... somehow i'll either need to type faster :)
>> or reliably slow it down and take pictures, which I can do if you'd
>> like ...
>>
>> obviously, for my purposes, i can turn off the selftests and/or the
>> function_graph tracer ...
>>
>
> Jake, when you find a bug, you really find a bug!
>
> This is something that gcc is screwing with us. After spending all day
> today trying to figure out what is happening, I finally found it in the
> assembly.
>
> In the timer_stats_update_stats function, I get this at the beginning:
>
> 00000327 <timer_stats_update_stats>:
> 327: 57 push %edi
> 328: 8d 7c 24 08 lea 0x8(%esp),%edi
> 32c: 83 e4 e0 and $0xffffffe0,%esp
> 32f: ff 77 fc pushl 0xfffffffc(%edi)
> 332: 55 push %ebp
> 333: 89 e5 mov %esp,%ebp
> 335: 57 push %edi
> 336: 56 push %esi
> 337: 53 push %ebx
> 338: 81 ec 8c 00 00 00 sub $0x8c,%esp
> 33e: e8 fc ff ff ff call 33f <timer_stats_update_stats+0x18>
> 33f: R_386_PC32 mcount
>
>
> And this at the end of the function:
>
> 4f6: 8d 67 f8 lea 0xfffffff8(%edi),%esp
> 4f9: 5f pop %edi
> 4fa: c3 ret
>
Something to do with using _RET_IP_ in spin_unlock_irqrestore() perhaps?
J
next prev parent reply other threads:[~2009-06-19 0:29 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-16 18:26 problem with function_graph self-test? Jake Edge
2009-06-16 18:37 ` Steven Rostedt
2009-06-16 19:04 ` Jake Edge
2009-06-16 20:01 ` Steven Rostedt
2009-06-16 20:08 ` Frederic Weisbecker
2009-06-18 3:24 ` Steven Rostedt
2009-06-18 3:43 ` Jake Edge
2009-06-18 3:52 ` Steven Rostedt
2009-06-18 4:34 ` Steven Rostedt
2009-06-19 0:29 ` Jeremy Fitzhardinge [this message]
2009-06-19 0:32 ` Steven Rostedt
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=4A3ADBFA.1060702@goop.org \
--to=jeremy@goop.org \
--cc=fweisbec@gmail.com \
--cc=jake@lwn.net \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=rostedt@goodmis.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.