|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Xen 4.12 panic on Thinkpad W540 with UEFI mutiboot2, efi=no-rs workarounds it
On Wed, Aug 07, 2019 at 04:45:43PM +0200, Jan Beulich wrote:
> On 07.08.2019 15:26, Marek Marczykowski-Górecki wrote:
> > Hi,
> >
> > Xen 4.12 crashes when booting on UEFI (with multiboot2) unless I disable
> > runtime services. The crash happens shortly after starting dom0 kernel.
> > Unfortunately I don't have serial console there, so the only log I have
> > is a photo of VGA console (attached). Below I retype part of the message:
> >
> > (XEN) ----[ Xen-4.12.0-3.fc29 x86_64 debug=n Not tainted ]----
> > (XEN) CPU: 0
> > (XEN) RIP: e008:[<00000000000000f6>] 00000000000000f6
> > (XEN) RFLAGS: 0000000000010287 CONTEXT: hypervisor (d0v0)
> > ...
> > (XEN) Xen call trace:
> > (XEN) [<00000000000000f6>] 00000000000000f6
> > (XEN) [<ffff82d08026c6ad>] flushtlb.c#pre_flush+0x3d/0x80
> > (XEN) [ ] efi_runtime_call+0x493/0xbd0
> > (XEN) [ ] efi_runtime_call+0x441/0xbd0
> > (XEN) [ ] vcpu_restore_fpu_nonlazy+0xe7/0x180
> > (XEN) [ ] do_platform_op+0/0x1880
> > (XEN) [ ] do_platform_op+0xb9c/0x1880
> > (XEN) [ ] do_platform_op+0xb9c/0x1880
> > (XEN) [ ] sched_credit2.c#csched2_schedule+0xcd0/0x13a0
> > (XEN) [ ] lstar_enter+0xae/0x120
> > (XEN) [ ] do_platform_op+0/0x1880
> > (XEN) [ ] pv_hypercall+0x152/0x220
> > (XEN) [ ] lstar_enter+0xae/0x120
> > (XEN) [ ] lstar_enter+0xa2/0x120
> > (XEN) [ ] lstar_enter+0xae/0x120
> > (XEN) [ ] lstar_enter+0xa2/0x120
> > (XEN) [ ] lstar_enter+0xae/0x120
> > (XEN) [ ] lstar_enter+0xa2/0x120
> > (XEN) [ ] lstar_enter+0xae/0x120
> > (XEN) [ ] lstar_enter+0xa2/0x120
> > (XEN) [ ] lstar_enter+0xae/0x120
> > (XEN) [ ] lstar_enter+0xa2/0x120
> > (XEN) [ ] lstar_enter+0xae/0x120
> > (XEN) [ ] lstar_enter+0x10c/0x120
> > (XEN)
> > (XEN)
> > (XEN) *****************************************
> > (XEN) Panic on CPU 0:
> > (XEN) FATAL TRAP: vector = 0 (divide error)
> > (XEN) [error_code=0000]
> > (XEN) *****************************************
> >
> > Any idea? Lack of serial console doesn't help with collecting logs...
>
> May I suggest that you repeat this with a debug hypervisor, such that
> the call trace becomes more usable/sensible?
Actually, I've already tried, but every other build I try, I get even
less useful call trace, for example debug unstable build:
Xen call trace:
[<000000007b751c09>] 000000007b751c09
[<8c2b0398e0000daa>] 8c2b0398e0000daa
...
GENERAL PROTECTION FAULT
[error_code=0000]
(photo with full message attached)
> I think, for example,
> that the pre_flush() that caught Andrew's eye is a red herring, and
> that instead a call through NULL has happened in e.g.
> efi_runtime_call().
That's probably true...
Here is disassembled pre_flush anyway:
0x0026c670 <+0>: mov 0x1993ca,%edx
0x0026c676 <+6>: push %ebx
0x0026c677 <+7>: test %edx,%edx
0x0026c679 <+9>: je 0x26c6d8 <pre_flush+104>
0x0026c67b <+11>: lea 0x1(%edx),%ecx
0x0026c67e <+14>: mov %edx,%eax
0x0026c680 <+16>: dec %eax
0x0026c681 <+17>: mov %ecx,%ebx
0x0026c683 <+19>: lock cmpxchg %ecx,0x1993b5
0x0026c68b <+27>: mov %eax,%ecx
0x0026c68d <+29>: cmp %edx,%eax
0x0026c68f <+31>: jne 0x26c6b8 <pre_flush+72>
0x0026c691 <+33>: test %ebx,%ebx
0x0026c693 <+35>: je 0x26c6e0 <pre_flush+112>
0x0026c695 <+37>: cmpb $0x0,0x18c344
0x0026c69c <+44>: jne 0x26c6a8 <pre_flush+56>
0x0026c69e <+46>: mov %ebx,%eax
0x0026c6a0 <+48>: pop %ebx
0x0026c6a1 <+49>: ret
0x0026c6a2 <+50>: nopw 0x0(%eax,%eax,1)
0x0026c6a8 <+56>: call 0x2d4690 <hvm_asid_flush_core>
0x0026c6ad <+61>: mov %ebx,%eax
0x0026c6af <+63>: pop %ebx
0x0026c6b0 <+64>: ret
0x0026c6b1 <+65>: mov %eax,%ecx
0x0026c6b3 <+67>: nopl 0x0(%eax,%eax,1)
0x0026c6b8 <+72>: test %ecx,%ecx
0x0026c6ba <+74>: je 0x26c6d8 <pre_flush+104>
0x0026c6bc <+76>: lea 0x1(%ecx),%edx
0x0026c6bf <+79>: mov %ecx,%eax
0x0026c6c1 <+81>: dec %eax
0x0026c6c2 <+82>: mov %edx,%ebx
0x0026c6c4 <+84>: lock cmpxchg %edx,0x199374
0x0026c6cc <+92>: cmp %eax,%ecx
0x0026c6ce <+94>: je 0x26c691 <pre_flush+33>
0x0026c6d0 <+96>: jmp 0x26c6b1 <pre_flush+65>
0x0026c6d2 <+98>: nopw 0x0(%eax,%eax,1)
0x0026c6d8 <+104>: xor %ebx,%ebx
0x0026c6da <+106>: jmp 0x26c695 <pre_flush+37>
0x0026c6dc <+108>: nopl 0x0(%eax)
0x0026c6e0 <+112>: mov $0x2,%edi
0x0026c6e5 <+117>: call 0x232170 <raise_softirq>
0x0026c6ea <+122>: jmp 0x26c695 <pre_flush+37>
> Of course trying to capture more of Xen's boot log (in particular
> the EFI memory map) may be helpful, too, if you could manage to do
> so.
Attached a photo of memory map...
--
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
Attachment:
memory-map.jpg Attachment:
unstable-crash.jpg Attachment:
signature.asc _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |