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.

Reply via email to