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

Re: [Xen-devel] Faulting linear address??

On Mon, 2017-09-11 at 02:00 +0900, Minjun Hong wrote:
> I made the new Xen4.5 binary with 'debug=y' option that I modified
> and install it.
> Then, there was a kernel panic caused by the debugging code triggered
> by 'debug=y' during booting process(of dom0):
Once again, can you show us here what you are changing?

> (XEN) ----[ Xen-4.5.0  x86_64  debug=y  Not tainted ]----
> (XEN) CPU:    7
> (XEN) RIP:    e008:[<ffff82d08012ba6c>] vcpu_migrate+0x1bd/0x374
> (XEN) RFLAGS: 0000000000010096   CONTEXT: hypervisor
> [...]
> (XEN) Xen call trace:
> (XEN)    [<ffff82d08012ba6c>] vcpu_migrate+0x1bd/0x374
> (XEN)    [<ffff82d08012be23>] vcpu_force_reschedule+0x9e/0xa7
> (XEN)    [<ffff82d080107052>] do_vcpu_op+0x2e7/0x69d
> (XEN)    [<ffff82d080234d9b>] syscall_enter+0xeb/0x145
> (XEN)
> (XEN) Pagetable walk from ffff82d081422020:
> (XEN)  L4[0x105] = 0000000086092063 ffffffffffffffff
> (XEN)  L3[0x142] = 000000008608f063 ffffffffffffffff
> (XEN)  L2[0x00a] = 0000000000000000 ffffffffffffffff
> (XEN)
> (XEN) ****************************************
> (XEN) Panic on CPU 7:
> (XEN) [error_code=0000]
> (XEN) Faulting linear address: ffff82d081422020
> (XEN) ****************************************
> Because I received a solution from my professor, I think it is a hard
> work to change Xen version.
This makes it a bit harder for us to give effective advices, but if you
really can't move forward, then fine, we still can at least try.

> Anyway, even if I turned on the 'debug=y' option, I could not get
> accurate information like with 'debug=n'; I get only linear
> address(ffff82d081422020).
Well, the difference is that now, if Xen is compiled with frame
pointers, we are (much more) sure that the stack trace is accurate,
i.e., about where the problem is actually happening, and how you got

> So, I want to use a dis-assembly utility like 'addr2line' or
> 'objdump', which binaries can I use as input to the utility?
> I'm using Ubuntu and previously I used '/boot/xen-syms-4.5.0' as
> input to the utilities.
Yes, if that is the binary of the hypervisor you compiled (with
debug=y), that's what you should use. You should also have it, in the
source tree, as xen/xen-syms.

> But I could get wrong information, which told me a code line that is
> never related this problem.
The address you pass to addr2line is not the 'Faulting linear address'.
It must be the address of the instruction that was being executing when
the exception occurred. IOW, you shall use ffff82d08012ba6c, from here:

 (XEN)    [<ffff82d08012ba6c>] vcpu_migrate+0x1bd/0x374

Which, in fact, is the address present in the program counter register

 (XEN) RIP:    e008:[<ffff82d08012ba6c>] vcpu_migrate+0x1bd/0x374

> I know that a beginner in the Xen developer community like me might
> be annoying you, but I ask you one more help.
You being a beginner is not a problem. :-)

The biggest problem I have right now, while trying to help you, is that
I can't see what you are doing, and how you're changing the code.

<<This happens because I choose it to happen!>> (Raistlin Majere)
Dario Faggioli, Ph.D, http://about.me/dario.faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)

Attachment: signature.asc
Description: This is a digitally signed message part

Xen-devel mailing list



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