lkml.org 
[lkml]   [2013]   [Apr]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: clockevents_program_event WARN_ON preventing boot.
On Tue, Apr 30, 2013 at 05:20:07PM -0400, Dave Jones wrote:
> I have a machine that crashes instantly on boot up on Linus'
> post-3.9 tree. (8c55f1463c1fd318d5e785f02b80bcc32176d342)
>
> By booting with boot_delay=100, I was able to take a photo
> and capture the top of the trace. (For some reason, larger boot
> delay parameters seem to make it take forever before printing
> even a single character, which made this a pain to debug).
>
> The WARN_ON it prints right before locking up is this in clockevents_program_event
>
> 208 if (unlikely(expires.tv64 < 0)) {
> 209 WARN_ON_ONCE(1);
> 210 return -ETIME;
> 211 }
>
> booting with maxcpus=1 avoids the problem.
>
> I'm still trying to get a complete stack trace, though it's painful
> due to the above reason.

On a second machine, I'm seeing an oops even earlier. As soon as I
exit grub, I get a blinking cursor. If I boot with earlyprintk=vga
I can see..

Call Trace:
<IRQ>
tick_check_oneshot_broadcast
tick_check_idle
irq_enter
do_IRQ
common_interrupt
<EOI>
x86_64_start_reservations
x86_64_start_kernel
RIP: clockevents_set_mode+0x18

Matching up the Code: line of the trace with the disassembly I see..

if (dev->mode != mode) {
4c8: 39 77 38 cmp %esi,0x38(%rdi)


the comment above that code is telling..

/*
* Must be called with interrupts disabled !
*/

So how did we get an IRQ ?



\
 
 \ /
  Last update: 2013-05-01 00:01    [W:0.868 / U:1.664 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site