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

[Xen-devel] Faulting linear address??

  • To: xen-devel@xxxxxxxxxxxxx
  • From: Minjun Hong <nickeysgo@xxxxxxxxx>
  • Date: Fri, 8 Sep 2017 14:33:43 +0900
  • Delivery-date: Fri, 08 Sep 2017 05:33:58 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xen.org>

I think this might be duplicate issue but, I have not resolved for long time.
So, please understand this post generously.
First, I should explain my history.

1) I worked on the scheduler(credit scheduler) and I had a kernel panic by my modification.
2) I tried to get any information for debugging so that, I used serial console and could gain the serial logs like following: 

(XEN) ----[ Xen-4.5.0  x86_64  debug=n  Not tainted ]----
(XEN) CPU:    2
(XEN) RIP:    e008:[<ffff82d080120973>] csched_schedule+0x373/0x1180
(XEN) RFLAGS: 0000000000010086   CONTEXT: hypervisor
(XEN) rax: 00000000ffffffff   rbx: ffff830087ffa000   rcx: ffff830461d20000
(XEN) rdx: ffff830088002c98   rsi: ffff830461d20000   rdi: 0000000000000000
(XEN) rbp: ffff830461ce2ae0   rsp: ffff830461d27d10   r8:  0000001e582339ec
(XEN) r9:  0000000000000004   r10: 000000000000003c   r11: 0000000000000004
(XEN) r12: 0000000000000001   r13: ffff82d0803f26a0   r14: ffff830461c53000
(XEN) r15: 0000000000000000   cr0: 000000008005003b   cr4: 00000000003526f0
(XEN) cr3: 0000000086077000   cr2: ffff830088002c98
(XEN) ds: 002b   es: 002b   fs: 0000   gs: 0000   ss: e010   cs: e008
(XEN) Xen stack trace from rsp=ffff830461d27d10:
(XEN)    ffff830461d03950 ffff82d0804081e0 ffff830461c74068 ffff830461d27de0
(XEN)    ffff830461c24c30 ffff830461cec800 ffff82d0804081e0 0000000600000002
(XEN)    ffff830461ce29d0 ffff830461d20000 ffff82d0804081e0 ffff830461d3a720
(XEN)    0000000000000002 ffff830461d3a700 00ffffc000000000 ffff830461d27dd0
(XEN)    ffff830461d27e68 ffff82d080408180 0000001e5c106499 0000000001c9c380
(XEN)    0000000000000000 0000000000000000 ffff8300864e3000 ffff8302e1596fb0
(XEN)    ffff830461d27dd0 ffff830461d27dd0 000000000000004b 0000000000000000
(XEN)    0000000000000000 0000000000000000 ffff830461d3a738 ffff8300864e3000
(XEN)    ffff82d0804081e0 ffff830461d2e068 0000001e5c106499 ffff830461d2e060
(XEN)    ffff82d0803f26a0 ffff82d080128cb3 0000001e00000000 ffff830461d2e080
(XEN)    ffff82d080279944 ffff82d08015f295 0000001e5c0504ce ffff830461d3ad80
(XEN)    0000001e5c1054ba ffff82d08012f64e ffff82d0803f26a0 00000000ffffffff
(XEN)    ffff82d0803df880 0000000000000001 ffff82d0803df780 ffffffffffffffff
(XEN)    ffff830461d20000 ffff82d08012c03c ffffffffffffffff 00000000ffffffff
(XEN)    ffff830461d20000 ffff830461d2e068 0000001e5b762541 ffff830461d2e060
(XEN)    ffff82d0803f26a0 ffff82d080162e3a 0000000000000000 ffff8300864e3000
(XEN)    ffff8300864e3000 ffff8800f8bbbfd8 0000000000000000 ffff8800f8bbbfd8
(XEN)    0000000000000003 ffff8800f8bbbec0 0000000000000000 0000000000000246
(XEN)    0000000000007ff0 0000000000000000 0000000000000000 0000000000000000
(XEN)    ffffffff810013aa 0000000000000001 0000000000000000 0000000000000001
(XEN) Xen call trace:
(XEN)    [<ffff82d080120973>] csched_schedule+0x373/0x1180
(XEN)    [<ffff82d080128cb3>] schedule+0xf3/0x590
(XEN)    [<ffff82d08015f295>] reprogram_timer+0x75/0xe0
(XEN)    [<ffff82d08012f64e>] timer_softirq_action+0x13e/0x210
(XEN)    [<ffff82d08012c03c>] __do_softirq+0x7c/0xd0
(XEN)    [<ffff82d080162e3a>] idle_loop+0x3a/0x70
(XEN) Pagetable walk from ffff830088002c98:
(XEN)  L4[0x106] = 0000000086075063 ffffffffffffffff
(XEN)  L3[0x002] = 0000000086071063 ffffffffffffffff
(XEN)  L2[0x040] = 0000000000000000 ffffffffffffffff
(XEN) ****************************************
(XEN) Panic on CPU 2:
(XEN) [error_code=0000]
(XEN) Faulting linear address: ffff830088002c98
(XEN) ****************************************
(XEN) Reboot in five seconds...
(XEN) Resetting with ACPI MEMORY or I/O RESET_REG.

I want to know where I should start debugging from.
However, although I'm using serial console, I could get not enough clues only from the kernel log:
1) I could figure out what line and file caused the panic by its call trace, but it is too rough so it does not help me.
2) What linear address brings about this situation; 'Faulting linear address', but it is just an address and not recognizable something that human cannot read.

I think, literally, the 'Faulting linear address' is key point because I heard that it represents bad address that I should never access.
With the pointer(bad address), is there any way to figure out its real data or more accurate line in C source code?
If you have any other approach that can be used in some cases like this, could you please give me the guide?

I hope your help.
Thank you!
Xen-devel mailing list



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