Re: [crash] PANIC: double fault, error_code: 0x0

From: Ingo Molnar
Date: Sat Nov 25 2017 - 04:41:58 EST



* Ingo Molnar <mingo@xxxxxxxxxx> wrote:

> > diff --git a/arch/x86/entry/entry_64.S b/arch/x86/entry/entry_64.S
> > index 4ac952080869..ea992ca4e74f 100644
> > --- a/arch/x86/entry/entry_64.S
> > +++ b/arch/x86/entry/entry_64.S
> > @@ -547,6 +547,8 @@ END(irq_entries_start)
> > ud2
> > .Lokay_\@:
> > addq $8, %rsp
> > +#else
> > + .rep 64; nop; .endr
>
> Also note that turning off CONFIG_UNWINDER_ORC also solves the crash. I did that
> in an attempt to get a different backtrace.
>
> So it's either unwinder related, or seemingly minor changes to code
> alignment/placement will make the bug go away.

Ok, I think the Orc unwinder is innocent: I just forced a build with frame
pointers but with ORC debuginfo and unwinder, and that is booting fine too.

So it's the specific code size and alignment present in the config I sent that is
triggering the bug. Fudging that alignment/sizing with the workaround patch above
makes the crash go away.

Thanks,

Ingo