Am Thu, 4 Nov 2021 11:47:00 +0000
schrieb Raimundo Sagarzazu <[email protected]>:
> Hello all,
>
> I'm experiencing a "system hanging" problem when jalhouse is enabled.
> It happens with just rootcell enabled, no need to start inmate cells.
> I've been working on it for several weeks trying to have at least an
> error log or report but I didn't success. System just freezes.
You should see what happens without jailhouse. If the hypervisor was
blocking any access to anything, it would tell you. So it might be that
it in fact has nothing to do with jailhouse.
> I'm able to reproduce it by launching and killing an application
> repeatedly. It hangs when launching, not when killing, so I'm
> thinking it could happen when trying to access an invalid memory
> region. Could be?
Unlikely because applications can not directly use physical memory.
Unless you have an application using "/dev/mem". In fact you can try a
dd of /dev/mem and break out ... i bet you would see a hypervisor
violation and not just a hang.
"dd if=/dev/mem of=/dev/null bs=1 count=1 seek=<address not allowed
for that cell>"
> Sometimes it arrives quit easily, just after some launches but
> sometimes it can take several hours, more than 7000 launches ...
Sounds more like a memory leak or something, a memory leak would also
show quicker when running under jailhouse (with reduces memory).
I suggest to valgrind that application, or just keep an eye on "free"
as you re-launch. Regular applications should not be a problem, but say
that application re-loads a leaky kernel module ...
regards,
Henning
> I'm working with x86 Intl Atom E3950 hardware platforms. I'm
> attaching "/proc/iomem" and "memregions" from the config file, in
> case anyone can see something is wrong.
>
> Any hint on how to debug it or where should I focus on will be very
> welcome.
>
>
> /proc/Iomem:
>
> 00000000-00000fff : Reserved
> 00001000-0003efff : System RAM
> 0003f000-0003ffff : Reserved
> 00040000-0009efff : System RAM
> 0009f000-000fffff : Reserved
> 000a0000-000bffff : PCI Bus 0000:00
> 000c0000-000dffff : PCI Bus 0000:00
> 000e0000-000fffff : PCI Bus 0000:00
> 000f0000-000fffff : System ROM
> 00100000-0fffffff : System RAM
> 10000000-12150fff : Reserved
> 12151000-77874fff : System RAM
> 77875000-79994fff : Reserved
> 79995000-79a69fff : System RAM
> 79a6a000-79d8efff : ACPI Non-volatile Storage
> 79d8f000-7a1a9fff : Reserved
> 7a1aa000-7a1fbfff : Unknown E820 type
> 7a1fc000-7a569fff : System RAM
> 7a56a000-7a56afff : ACPI Non-volatile Storage
> 7a56b000-7a594fff : Reserved
> 7a595000-7aae5fff : System RAM
> 7aae6000-7aae7fff : Reserved
> 7aae8000-7affffff : System RAM
> 7b000000-7fffffff : Reserved
> 7b800001-7bffffff : PCI Bus 0000:00
> 7c000001-7fffffff : PCI Bus 0000:00
> 7c000001-7ffffffe : Graphics Stolen Memory
> 80000000-cfffffff : PCI Bus 0000:00
> 80000000-8fffffff : 0000:00:02.0
> 90000000-90ffffff : 0000:00:02.0
> 91000000-910fffff : 0000:00:0e.0
> 91100000-912fffff : PCI Bus 0000:05
> 91100000-911fffff : 0000:05:00.0
> 91200000-91203fff : 0000:05:00.0
> 91300000-914fffff : PCI Bus 0000:03
> 91300000-913fffff : 0000:03:00.0
> 91400000-91403fff : 0000:03:00.0
> 91500000-916fffff : PCI Bus 0000:01
> 91500000-915fffff : 0000:01:00.0
> 91600000-9160ffff : 0000:01:00.0
> 91700000-9170ffff : 0000:00:15.0
> 91700000-9170ffff : xhci-hcd
> 91708070-9170846f : intel_xhci_usb_sw
> 91710000-91713fff : 0000:00:0e.0
> 91710000-91713fff : ICH HD audio
> 91714000-91715fff : 0000:00:12.0
> 91714000-91715fff : ahci
> 91716000-917160ff : 0000:00:1f.1
> 91717000-91717fff : 0000:00:16.0
> 91718000-91718fff : 0000:00:16.0
> 91719000-917197ff : 0000:00:12.0
> 91719000-917197ff : ahci
> 9171a000-9171a0ff : 0000:00:12.0
> 9171a000-9171a0ff : ahci
> 9171d000-9171dfff : 0000:00:0f.0
> d0000000-d0ffffff : Reserved
> d0c00000-d0c00653 : INT3452:03
> d0c40000-d0c40763 : INT3452:01
> d0c50000-d0c5076b : INT3452:00
> d0c70000-d0c70673 : INT3452:02
> e0000000-efffffff : PCI MMCONFIG 0000 [bus 00-ff]
> e0000000-efffffff : Reserved
> e0000000-efffffff : PCI Bus 0000:00
> e0000000-efffffff : pnp 00:05
> fe042000-fe044fff : Reserved
> fe900000-fe902fff : Reserved
> fea00000-feafffff : pnp 00:05
> fec00000-fec00fff : Reserved
> fec00000-fec003ff : IOAPIC 0
> fed00000-fed003ff : PNP0103:00
> fed01000-fed01fff : Reserved
> fed01000-fed01fff : pnp 00:05
> fed03000-fed03fff : pnp 00:05
> fed06000-fed06fff : pnp 00:05
> fed08000-fed09fff : pnp 00:05
> fed1c000-fed1cfff : pnp 00:05
> fed64000-fed64fff : dmar0
> fed65000-fed65fff : dmar1
> fed80000-fedbffff : pnp 00:05
> fee00000-fee00fff : Local APIC
> fee00000-fee00fff : Reserved
> ff000000-ffffffff : Reserved
> 100000000-17fffffff : System RAM
> 175600000-176603b86 : Kernel code
> 176800000-176bacfff : Kernel rodata
> 176c00000-176e919ff : Kernel data
> 17754e000-1775fffff : Kernel bss
>
>
> Config:
>
> .mem_regions = {
> /* MemRegion: 00000000-0003efff :
> System RAM */ {
> .phys_start = 0x0,
> .virt_start = 0x0,
> .size = 0x3f000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_EXECUTE |
> JAILHOUSE_MEM_DMA, },
> /* MemRegion: 00040000-0009efff :
> System RAM */ {
> .phys_start = 0x40000,
> .virt_start = 0x40000,
> .size = 0x5f000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_EXECUTE |
> JAILHOUSE_MEM_DMA, },
> /* MemRegion: 000a0000-000bffff : PCI
> Bus 0000:00 */ {
> .phys_start = 0xa0000,
> .virt_start = 0xa0000,
> .size = 0x20000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, },
> /* MemRegion: 000f0000-000fffff :
> System ROM */ {
> .phys_start = 0xf0000,
> .virt_start = 0xf0000,
> .size = 0x10000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, },
> /* MemRegion: 00100000-0fffffff :
> System RAM */ {
> .phys_start = 0x100000,
> .virt_start = 0x100000,
> .size = 0xff00000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_EXECUTE |
> JAILHOUSE_MEM_DMA, },
> /* MemRegion: 12151000-77874fff :
> System RAM */ {
> .phys_start = 0x12151000,
> .virt_start = 0x12151000,
> .size = 0x65724000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_EXECUTE |
> JAILHOUSE_MEM_DMA, },
> /* MemRegion: 79995000-79a69fff :
> System RAM */ {
> .phys_start = 0x79995000,
> .virt_start = 0x79995000,
> .size = 0xd5000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_EXECUTE |
> JAILHOUSE_MEM_DMA, },
> /* MemRegion: 79a6a000-79d8efff : ACPI
> Non-volatile Storage */ {
> .phys_start = 0x79a6a000,
> .virt_start = 0x79a6a000,
> .size = 0x325000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, },
> /* MemRegion: 7a1aa000-7a1fbfff :
> Unknown E820 type */ {
> .phys_start = 0x7a1aa000,
> .virt_start = 0x7a1aa000,
> .size = 0x52000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, },
> /* MemRegion: 7a1fc000-7a569fff :
> System RAM */ {
> .phys_start = 0x7a1fc000,
> .virt_start = 0x7a1fc000,
> .size = 0x36e000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_EXECUTE |
> JAILHOUSE_MEM_DMA, },
> /* MemRegion: 7a56a000-7a56afff : ACPI
> Non-volatile Storage */ {
> .phys_start = 0x7a56a000,
> .virt_start = 0x7a56a000,
> .size = 0x1000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, },
> /* MemRegion: 7a595000-7aae5fff :
> System RAM */ {
> .phys_start = 0x7a595000,
> .virt_start = 0x7a595000,
> .size = 0x551000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_EXECUTE |
> JAILHOUSE_MEM_DMA, },
> /* MemRegion: 7aae8000-7affffff :
> System RAM */ {
> .phys_start = 0x7aae8000,
> .virt_start = 0x7aae8000,
> .size = 0x518000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_EXECUTE |
> JAILHOUSE_MEM_DMA, },
> /* MemRegion: 7c000001-7ffffffe :
> Graphics Stolen Memory */ {
> .phys_start = 0x7c000001,
> .virt_start = 0x7c000001,
> .size = 0x4000000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, },
> /* MemRegion: 80000000-8fffffff :
> 0000:00:02.0 */ {
> .phys_start = 0x80000000,
> .virt_start = 0x80000000,
> .size = 0x10000000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, },
> /* MemRegion: 90000000-90ffffff :
> 0000:00:02.0 */ {
> .phys_start = 0x90000000,
> .virt_start = 0x90000000,
> .size = 0x1000000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, },
> /* MemRegion: 91000000-910fffff :
> 0000:00:0e.0 */ {
> .phys_start = 0x91000000,
> .virt_start = 0x91000000,
> .size = 0x100000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, },
> /* MemRegion: 91100000-911fffff :
> 0000:05:00.0 */ {
> .phys_start = 0x91100000,
> .virt_start = 0x91100000,
> .size = 0x100000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, },
> /* MemRegion: 91201000-91203fff :
> 0000:05:00.0 */ {
> .phys_start = 0x91201000,
> .virt_start = 0x91201000,
> .size = 0x3000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, },
> /* MemRegion: 91300000-913fffff :
> 0000:03:00.0 */ {
> .phys_start = 0x91300000,
> .virt_start = 0x91300000,
> .size = 0x100000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, },
> /* MemRegion: 91401000-91403fff :
> 0000:03:00.0 */ {
> .phys_start = 0x91401000,
> .virt_start = 0x91401000,
> .size = 0x3000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, },
> /* MemRegion: 91500000-915fffff :
> 0000:01:00.0 */ {
> .phys_start = 0x91500000,
> .virt_start = 0x91500000,
> .size = 0x100000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, },
> /* MemRegion: 91600000-9160ffff :
> 0000:01:00.0 */ {
> .phys_start = 0x91600000,
> .virt_start = 0x91600000,
> .size = 0x10000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, },
> /* MemRegion: 91708070-9170846f :
> intel_xhci_usb_sw */ {
> .phys_start = 0x91708070,
> .virt_start = 0x91708070,
> .size = 0x1000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, },
> /* MemRegion: 91710000-91713fff : ICH
> HD audio */ {
> .phys_start = 0x91710000,
> .virt_start = 0x91710000,
> .size = 0x4000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, },
> /* MemRegion: 91714000-91715fff : ahci
> */ {
> .phys_start = 0x91714000,
> .virt_start = 0x91714000,
> .size = 0x2000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, },
> /* MemRegion: 91716000-917160ff :
> 0000:00:1f.1 */ {
> .phys_start = 0x91716000,
> .virt_start = 0x91716000,
> .size = 0x1000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, },
> /* MemRegion: 91717000-91717fff :
> 0000:00:16.0 */ {
> .phys_start = 0x91717000,
> .virt_start = 0x91717000,
> .size = 0x1000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, },
> /* MemRegion: 91718000-91718fff :
> 0000:00:16.0 */ {
> .phys_start = 0x91718000,
> .virt_start = 0x91718000,
> .size = 0x1000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, },
> /* MemRegion: 91719000-917197ff : ahci
> */ {
> .phys_start = 0x91719000,
> .virt_start = 0x91719000,
> .size = 0x1000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, },
> /* MemRegion: 9171a000-9171a0ff : ahci
> */ {
> .phys_start = 0x9171a000,
> .virt_start = 0x9171a000,
> .size = 0x1000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, },
> /* MemRegion: 9171d000-9171dfff :
> 0000:00:0f.0 */ {
> .phys_start = 0x9171d000,
> .virt_start = 0x9171d000,
> .size = 0x1000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, },
> /* MemRegion: d0c00000-d0c00653 :
> INT3452:03 */ {
> .phys_start = 0xd0c00000,
> .virt_start = 0xd0c00000,
> .size = 0x1000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, },
> /* MemRegion: d0c40000-d0c40763 :
> INT3452:01 */ {
> .phys_start = 0xd0c40000,
> .virt_start = 0xd0c40000,
> .size = 0x1000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, },
> /* MemRegion: d0c50000-d0c5076b :
> INT3452:00 */ {
> .phys_start = 0xd0c50000,
> .virt_start = 0xd0c50000,
> .size = 0x1000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, },
> /* MemRegion: d0c70000-d0c70673 :
> INT3452:02 */ {
> .phys_start = 0xd0c70000,
> .virt_start = 0xd0c70000,
> .size = 0x1000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, },
> /* MemRegion: fea00000-feafffff : pnp
> 00:05 */ {
> .phys_start = 0xfea00000,
> .virt_start = 0xfea00000,
> .size = 0x100000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, },
> /* MemRegion: fed00000-fed003ff :
> PNP0103:00 */ {
> .phys_start = 0xfed00000,
> .virt_start = 0xfed00000,
> .size = 0x1000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, },
> /* MemRegion: fed01000-fed01fff : pnp
> 00:05 */ {
> .phys_start = 0xfed01000,
> .virt_start = 0xfed01000,
> .size = 0x1000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, },
> /* MemRegion: fed03000-fed03fff : pnp
> 00:05 */ {
> .phys_start = 0xfed03000,
> .virt_start = 0xfed03000,
> .size = 0x1000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, },
> /* MemRegion: fed06000-fed06fff : pnp
> 00:05 */ {
> .phys_start = 0xfed06000,
> .virt_start = 0xfed06000,
> .size = 0x1000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, },
> /* MemRegion: fed08000-fed09fff : pnp
> 00:05 */ {
> .phys_start = 0xfed08000,
> .virt_start = 0xfed08000,
> .size = 0x2000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, },
> /* MemRegion: fed1c000-fed1cfff : pnp
> 00:05 */ {
> .phys_start = 0xfed1c000,
> .virt_start = 0xfed1c000,
> .size = 0x1000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, },
> /* MemRegion: fed80000-fedbffff : pnp
> 00:05 */ {
> .phys_start = 0xfed80000,
> .virt_start = 0xfed80000,
> .size = 0x40000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, },
> /* MemRegion: 140600000-17fffffff :
> System RAM */ {
> .phys_start = 0x140600000,
> .virt_start = 0x140600000,
> .size = 0x3fa00000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_EXECUTE |
> JAILHOUSE_MEM_DMA, },
> /* MemRegion: 79930000-7994ffff : ACPI
> DMAR RMRR */ /* PCI device: 00:15.0 */
> {
> .phys_start = 0x79930000,
> .virt_start = 0x79930000,
> .size = 0x20000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_EXECUTE |
> JAILHOUSE_MEM_DMA, },
> /* MemRegion: 7b800000-7fffffff : ACPI
> DMAR RMRR */ /* PCI device: 00:02.0 */
> {
> .phys_start = 0x7b800000,
> .virt_start = 0x7b800000,
> .size = 0x4800000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_EXECUTE |
> JAILHOUSE_MEM_DMA, },
> /* MemRegion: 100600000-1405fffff :
> JAILHOUSE Inmate Memory */ {
> .phys_start = 0x100600000,
> .virt_start = 0x100600000,
> .size = 0x40000000,
> .flags =
> JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, },
> },
>
> Thank you,
>
> Rai.
>
>
--
You received this message because you are subscribed to the Google Groups
"Jailhouse" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jailhouse-dev/20211104145624.5fb4b0d4%40md1za8fc.ad001.siemens.net.