[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Fwd: Debugging "Xen BUG at ... list.h" on ARM


  • To: xen-devel@xxxxxxxxxxxxx
  • From: Thomas Leonard <tal36@xxxxxxxxx>
  • Date: Mon, 14 Apr 2014 09:02:55 +0100
  • Delivery-date: Mon, 14 Apr 2014 08:03:09 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xen.org>

Hi all,

I'm new to Xen, and trying to get the arm32 port of Mini-OS working on
a Cubieboard2. I have the board running an Ubuntu Dom0 and an Ubuntu
guest happily, and I've written up the instructions for that here:

  
https://github.com/talex5/mirage-www/blob/master/tmpl/wiki/xen-on-cubieboard2.md

However, while trying to get a Mini-OS domU guest working I can now
reliably crash the hypervisor. No doubt this is a bug in my guest
code, but I assume it shouldn't be possible for a buggy guest to take
down Xen itself.

Here's a simplified version of my code which shows the problem:

  https://github.com/talex5/xen-paratest

I'm building Xen from the stable-4.4 Git branch (03eb51340), compiled
with debug on.

The code is rather simple: it's just trying to initialise the data
cache, as described in the "ARM Cortex-A Series Programmerâs Guide".
I'm not actually sure whether this is necessary for a paravirtualised
guest, but I was getting some odd problems which looked cache related,
so I added this code in the hope of fixing that.

The cfg file is just:

kernel = "/root/paratest.img"
memory = 128
name = "paratest"
vcpus = 1
serial="pty"

When the guest is started, Xen always crashes. Sometimes silently, but
usually writing a stack-trace to the console. I've included a
selection of them in the commit messages, but a typical one looks like
this:

    (XEN) Assertion 'svc ==
CSCHED_VCPU(curr_on_cpu(svc->vcpu->processor))' failed, line 859, file
sche
    (XEN) Xen BUG at sched_credit.c:859
    (XEN) CPU1: Unexpected Trap: Undefined Instruction
    (XEN) ----[ Xen-4.4.1-pre  arm32  debug=y  Not tainted ]----
    (XEN) CPU:    1
    (XEN) PC:     002417b4 __bug+0x28/0x44
    (XEN) CPSR:   2000015a MODE:Hypervisor
    (XEN)      R0: 002656dc R1: 00000000 R2: 3fd2bd80 R3: 2000015a
    (XEN)      R4: 0000035b R5: 0025d9d0 R6: 40006230 R7: 47fe4be0
    (XEN)      R8: 00265e00 R9: 002b1ff0 R10:002e4254 R11:47fd7e9c R12:00000001
    (XEN) HYP: SP: 47fd7e94 LR: 002417b4
[...]
    (XEN) Xen call trace:
    (XEN)    [<002417b4>] __bug+0x28/0x44 (PC)
    (XEN)    [<002417b4>] __bug+0x28/0x44 (LR)
    (XEN)    [<0021bac0>] csched_tick+0x1ac/0x4d4
    (XEN)    [<0022d820>] execute_timer+0xcc/0xe0
    (XEN)    [<0022d910>] timer_softirq_action+0xdc/0x230
    (XEN)    [<00229b88>] __do_softirq+0xf4/0x100
    (XEN)    [<00229c20>] do_softirq+0x14/0x18
    (XEN)    [<0024f100>] leave_hypervisor_tail+0x50/0x6c
    (XEN)    [<00251450>] return_to_guest+0xc/0xb8


Any hints welcome.

Thanks,


-- 
Dr Thomas Leonard        http://0install.net/
GPG: 9242 9807 C985 3C07 44A6  8B9A AE07 8280 59A5 3CC1
GPG: DA98 25AE CAD0 8975 7CDA  BD8E 0713 3F96 CA74 D8BA

Attachment: xen-bug.txt
Description: Text document

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.