While not an answer, it might help - I wrote a how-to use gdb with rump and
xen. I had a similar issue in my program and plan to use gdb to debug it
next week

https://github.com/emc-advanced-dev/unik/blob/master/docs/debug/aws.md

It's geared towards our project, but with small adaptations can be used in
a general use case

On Aug 6, 2016 12:03 AM, "Myungho Jung" <[email protected]> wrote:

> Hello all,
>
> While porting an application to rump, I got stuck in an error shown below.
>
> ------------------------------------------------------------
> -------------------------------------------
> Page fault at linear address 0xc, rip 0x103a0143, regs 0x30fc458, sp
> 0x30fc500, our_sp 0x30fc440, code 0
> Thread: lwp
> RIP: e030:[<00000000103a0143>]
> RSP: e02b:00000000030fc500  EFLAGS: 00010206
> RAX: 000000000388c8e0 RBX: 000000000388c8e0 RCX: 00000000081314a8
> RDX: 0000000000000000 RSI: 00000000081314a8 RDI: 0000000002d70800
> RBP: 00000000030fc5d0 R08: 0000000000000072 R09: 00000000ffffffff
> R10: 00000000015f8be0 R11: 00000000103a0130 R12: 0000000000000000
> R13: 00000000030fc568 R14: 0000000000000000 R15: 0000000002d70800
> base is 0x30fc5d0 caller is 0x10008271
>
> 30fc4f0: 00 c5 0f 03 00 00 00 00 2b e0 00 00 00 00 00 00
> 30fc500: a8 14 13 08 00 00 00 00 15 96 04 10 00 00 00 00
> 30fc510: 50 5c b5 0a 00 00 00 00 28 c5 0f 03 00 00 00 00
> 30fc520: 00 00 00 00 fe ff ff ff 00 ad 5f 01 00 00 00 00
>
> 30fc5c0: 68 c5 0f 03 00 00 00 00 e8 c5 0f 03 00 00 00 00
> 30fc5d0: 38 c6 0f 03 00 00 00 00 71 82 00 10 00 00 00 00
> 30fc5e0: 30 13 13 08 00 00 00 00 00 13 13 08 00 00 00 00
> 30fc5f0: c0 0f 13 08 00 00 00 00 f8 c5 0f 03 00 00 00 00
>
> 103a0130: 89 84 24 00 a0 fe ff 55 48 83 ec 50 48 89 34 24
> 103a0140: 4c 8b f2 44 8b 42 0c 41 8b 58 0c 8b 7e 10 44 8b
> 103a0150: 57 0c 44 89 54 24 14 44 8b 4e 0c 8b eb 41 03 e9
> 103a0160: 44 8b dd 44 2b 5c 24 14 45 85 db 7f 71 41 8b 68
> Pagetable walk from virt c, base 1b4c000:
>  L4 = 000000011a34d067 (0x1b4d000)  [offset = 0]
>   L3 = 000000011a34e067 (0x1b4e000)  [offset = 0]
>    L2 = 000000011a34f067 (0x1b4f000)  [offset = 0]
>     L1 = 0000000000000000 [offset = 0]
>
> ------------------------------------------------------------
> -------------------------------------------
>
> I'm testing the program with xen because I could not scroll the screen
> when using kvm or qemu. Is there a way to scroll screen in the qemu window?
> Keyboard and mouse are not working in that window. I'm using Ubuntu 16.04.
>
> I searched addresses of symbols close to the instruction pointer but the
> RIP is much higher than any symbols in binary. Does anyone assume that
> where can I get some hint from the message? The same message is shown
> almost every time at the same point but could not backtrace after
> do_page_fault(). The stack and address values are fixed for each test
> except RIP. RIP changes a little bit every time.
>
> Can I trace rumprun application using Valgrind or Helgrind? It is
> multi-threaded program, so helgrind will be helpful.
>
>
> Thanks,
> Myungho
>
>

Reply via email to