xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [Xen-devel] [BUG] panic: "IO-APIC + timer doesn't work" - several people have reproduced
@ 2019-12-31  7:52 Aaron Janse
  2019-12-31  8:27 ` Andrew Cooper
  2020-01-03 12:51 ` Jan Beulich
  0 siblings, 2 replies; 27+ messages in thread
From: Aaron Janse @ 2019-12-31  7:52 UTC (permalink / raw)
  To: xen-devel

Hello all,

After attempting to install QubesOS on a new laptop, I've stumbled upon
a group of people with an assortment of laptops but all the same
problem: a Xen panic stating "IO-APIC + timer doesn't work!"

Many of us are on different stages of debugging this, so I'll cite all
our efforts here.

# Affected Xen versions
- 4.0.5-14.fc25
- 4.13.0
- probably other versions

# Affected hardware

- Dell XPS 7390 13" (i7-10710U) [1] [2] [3] [4]
- Dell XPS 7390 2-in-1 [1]
- Surface Laptop 3 Business Edition (i7-1065G7) [5] [6]
- Lenovo ThinkBook 13s (i7-8565U) [7]
- Mini-PcBarebone [8] [9]

[1]: https://www.reddit.com/r/Qubes/comments/edqrab/qubes_and_ice_lake/

[2]: https://www.reddit.com/r/Qubes/comments/dfv6jx/panic_on_cpu_0_ioapic_timer_doesnt_work_on_ice/
[3]: https://groups.google.com/forum/#!topic/qubes-users/W8mX-07xNZU
[4]: https://lists.xenproject.org/archives/html/xen-users/2019-12/msg00031.html

[5]: https://lists.xenproject.org/archives/html/xen-users/2019-12/msg00017.html
[6]: https://groups.google.com/forum/#!topic/qubes-users/4iswU7cfJHY

[7]: https://www.reddit.com/r/Qubes/comments/clk0eu/help_install_qubes_4_on_lenovo_thinkbook_13s/

[8]: https://groups.google.com/forum/#!topic/qubes-users/PIyz7BEV1mg
[9]: https://archive.is/RuiAD

# Excerpts from boot logs

Qubes on my XPS 7390 13"

    (XEN) ..TIMER: vector=0xF0 apic1=0 pin1=2 apic2=-1 pin2=-1
    (XEN) ..MP-BIOS bug: 8254 timer not connected to IO-APIC
    (XEN) ...trying to set up timer (IRQ0) through 8259A ,,,
    (XEN) ...trying to set up timer as Virtual Wire IRQ... failed.
    (XEN) ...trying to set up timer as ExtINT IRQ...spurious 8259A interrupt: IRQ7.
    (XEN) CPU0: no irq handler for vector e7 (IRQ -8)
    (XEN) IRQ7 a=0001[0001,0000] v=60[ffffffff] t=IO-APIC-edge s=00000002
    (XEN)  failed :(.
    (XEN)
    (XEN) ***************************************
    (XEN) Panic on CPU 0:
    (XEN) IO-APIC + timer doesn't work! Boot with apic_verbosity=debug and send a report.  Then try booting with the 'noapic' option
    (XEN) ***************************************

Ubuntu (w/out Xen) on my XPS 7390 13"
(full logs: https://pastebin.com/SdRg87F8 https://pastebin.com/E3zCfb35)

    [    0.000000] microcode: microcode updated early to revision 0xca, date = 2019-10-03
    [    0.000000] Linux version 5.3.0-24-generic (buildd@lgw01-amd64-035) (gcc version 9.2.1 20191008 (Ubuntu 9.2.1-9ubuntu2)) #26-Ubuntu SMP Thu Nov 14 01:33:18 UTC 2019 (Ubuntu 5.3.0-24.26-generic 5.3.10)
    [    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.3.0-24-generic root=UUID=062d0c69-31dc-4c7f-9915-731505fea81b ro quiet splash apic=debug vt.handoff=7
    [    ....    ]
    [    0.188468] x2apic enabled
    [    0.188492] Switched APIC routing to cluster x2apic.
    [    0.188493] masked ExtINT on CPU#0
    [    0.195266] ENABLING IO-APIC IRQs
    [    0.195267] init IO_APIC IRQs
    [    ....    ]
    [    0.195633] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
    [    0.213854] clocksource: tsc-early: mask: 0xffffffffffffffff max_cycles: 0x170fff30cc4, max_idle_ns: 440795237869 ns
    [    0.213857] Calibrating delay loop (skipped), value calculated using timer frequency.. 3199.92 BogoMIPS (lpj=6399840)
    [    0.213859] pid_max: default: 32768 minimum: 301
    [    0.215117] LSM: Security Framework initializing
    [    0.215124] Yama: becoming mindful.
    [    0.215172] AppArmor: AppArmor initialized

I'd like to note that Ubuntu, unlike Qubes, doesn't need to try
any `MP-BIOS bug` fallbacks.

# Relevant source code

Xen: https://github.com/xen-project/xen/blob/0cd791c499bdc698d14a24050ec56d60b45732e0/xen/arch/x86/io_apic.c#L1923-L1933
Linux: https://github.com/torvalds/linux/blob/fd6988496e79a6a4bdb514a4655d2920209eb85d/arch/x86/kernel/apic/io_apic.c#L2185-L2211

# Things that have been tried

Disabling APIC entirely (`noapic x2apic=off`)
- This is avoiding the problem, not fixing it
- QubeOS requires APIC anyway, so this is not an option for many of us

Switching the timer to HPET (via the `clocksource` flag)
- This didn't fix the panic (I've tried `acpi` and `pit`)
- On my XPS 13, this doesn't change any of the timer error output
- Ubuntu works on my laptop using HPET
- http://xenbits.xen.org/docs/unstable/misc/xen-command-line.html#clocksource-x86

Updating to 5.4 Linux kernel [77]
- This didn't fix the panic
- https://www.reddit.com/r/Qubes/comments/edqrab/qubes_and_ice_lake/fcak799/

Reproducing the problem on Ubuntu
- I'm able to reproduce Xen crashing, but I'm unable to enable verbose
  logging
- https://lists.xenproject.org/archives/html/xen-users/2019-12/msg00031.html

# More verbose boot logs

I had to type these up by hand so please excuse the lack of detail.

    (XEN) [...]
    (XEN) CPU0: No irq handler for vector 40 (IRC -2147483648, LAPIC)
    (XEN) PCI: MCFG configuration 0: base e0000000 segment 0000 buses 00 - ff
    (XEN) PCI: Not using MCFG for segment 0000 bus 00-ff
    (XEN) Intel VT-d iommu 0 supported page sizes: 4kB, 2MB, 1GB.
    (XEN) Intel VT-d iommu 1 supported page sizes: 4kB, 2MB, 1GB.
    (XEN) Intel VT-d Snoop Control not enabled.
    (XEN) Intel VT-d Dom0 DMA Passthrough not enabled.
    (XEN) Intel VT-d Queued Invalidation enabled.
    (XEN) Intel VT-d Posted Interrupt not enabled.
    (XEN) Intel VT-d Shared EPT tables enabled.
    (XEN) I/O virtualization enabled.
    (XEN)  - Dom0 mode: Relaxed

    (XEN) Interrupt remapping enabled
    (XEN) nr_sockets: 2
    (XEN) Getting VERSION: 1060015
    (XEN) Getting VERSION: 1060015

    (XEN) Enabled directed EOI with ioapic_ack_old on!
    (XEN) Getting ID: 0
    (XEN) Getting LVT0: 700
    (XEN) Getting LVT1: 400
    (XEN) Suppress EOI broadcast on CPU#0
    (XEN) enabled ExtINT on CPU#0

    (XEN) ENABLING IO_APIC IRQs
    (XEN)  -> Using old ACK method
    (XEN) init IO_APIC IRQs
    (XEN)  IO-APIC (apicid-pin) 2-0, 2-16, 2-17, 2-18, 2-19, 2-20, 2-21, 2-22, 2-23, 2-24, 2-25, [...], 2-115, 2-116, 2-117, 2-118, 2-119 not connected.

    (XEN) ..TIMER: vector=0xF0 apic1=0 pin1=2 apic2=-1 pin2=-1
    (XEN) ..MP-BIOS bug: 8254 timer not connected to IO-APIC
    (XEN) ...trying to set up timer (IRQ0) through 8259A ,,,
    (XEN) ...trying to set up timer as Virtual Wire IRQ... failed.
    (XEN) ...trying to set up timer as ExtINT IRQ...spurious 8259A interrupt: IRQ7.
    (XEN) CPU0: no irq handler for vector e7 (IRQ -8)
    (XEN) IRQ7 a=0001[0001,0000] v=60[ffffffff] t=IO-APIC-edge s=00000002
    (XEN)  failed :(.
    (XEN)
    (XEN) ***************************************
    (XEN) Panic on CPU 0:
    (XEN) IO-APIC + timer doesn't work! Boot with apic_verbosity=debug and send a report.  Then try booting with the 'noapic' option
    (XEN) ***************************************
    (XEN)
    (XEN) Reboot in five seconds...


Cheers,
Aaron Janse

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2020-04-28 20:59 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-31  7:52 [Xen-devel] [BUG] panic: "IO-APIC + timer doesn't work" - several people have reproduced Aaron Janse
2019-12-31  8:27 ` Andrew Cooper
2019-12-31  9:07   ` Aaron Janse
2020-02-17 19:19     ` Jason Andryuk
2020-02-17 19:46       ` Andrew Cooper
2020-02-17 20:41         ` Jason Andryuk
2020-02-18  1:21           ` Andrew Cooper
2020-02-18 18:43             ` Jason Andryuk
2020-02-18 21:45               ` Andrew Cooper
2020-02-19  8:25                 ` Jan Beulich
2020-03-04 16:06                   ` Jason Andryuk
2020-03-17 13:48                     ` Jason Andryuk
2020-03-17 14:08                       ` Jason Andryuk
2020-03-17 14:17                         ` Jan Beulich
2020-03-17 14:08                       ` Jan Beulich
2020-03-17 14:15                         ` Jan Beulich
2020-03-17 15:23                           ` Jason Andryuk
2020-03-17 16:31                             ` Jason Andryuk
2020-03-18 10:28                             ` Jan Beulich
2020-03-18 14:04                               ` Jason Andryuk
2020-03-18 17:34                                 ` Jason Andryuk
2020-04-17  9:31                             ` Jan Beulich
2020-04-28 20:59                               ` Jason Andryuk
2020-03-04 16:05               ` Jason Andryuk
2020-01-03 12:51 ` Jan Beulich
2020-01-06  0:35   ` Aaron Janse
2020-01-06  8:57     ` Jan Beulich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).