[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Xen-devel] help on debugging kernel module in Xen
- To: ushuanglily@xxxxxxxxx, xen-devel@xxxxxxxxxxxxxxxxxxx
- From: "Lily Huang" <ushuanglily@xxxxxxxxx>
- Date: Fri, 12 Jan 2007 18:20:54 -0500
- Delivery-date: Fri, 12 Jan 2007 15:20:40 -0800
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=fRshjuEeidvVrgOmUg3mQ0jj1w8DF5oOUAomyy/sTGKaaNDcoX255/gXE/xrGMQZpZLNJfneoOWEL42I6qVhGKEgg1dq0Y90D5hIEVjIH4FXWeM3sb0aKOwf6lArNmuuJQv5rZ1iIeDKTNpvdBVUAS7+qsifZwjXUPbw7VSSw+E=
- List-id: Xen developer discussion <xen-devel.lists.xensource.com>
Sorry, please skip my last question. I fixed the problem myself.
The problem occurred because I failed to run "add-symbol-file" command. Somehow gdb failed to recognize the strtab and symtab sections.
After I removed them, it works now.
Again, thanks for your help!
lily
On 1/12/07, Lily Huang <ushuanglily@xxxxxxxxx
> wrote:That's a great point. I just disabled the "Detect Soft Lockup" option in the "kernel hacking" group. Now the soft lockup disappeared and I can debug kernel now.
Next, I tried to debug kernel module in domU. New problem occurs.
After I set "br xxx(function in a loaded kernel module" and then "cont", I worked in the domu to activate the breakpoint.
Unfortunately, I found domU immediately print error messages:
/**********************************************************/ Message from syslogd@normal at Fri Jan 12 17:54:41 2007 ... normal kernel: int3: 0000 [#1] <----------------------------------------------------- seems to be a problem
Message from syslogd@normal at Fri Jan 12 17:54:41 2007 ... normal kernel: SMP
Message from syslogd@normal at Fri Jan 12 17:54:41 2007 ... normal kernel: CPU: 0
Message from syslogd@normal
at Fri Jan 12 17:54:41 2007 ...
normal kernel: EIP is at nfs3_proc_readdir+0xd/0x100 [nfs]
Message from syslogd@normal at Fri Jan 12 17:54:41 2007 ... normal kernel: eax: daa0c740 ebx: 00001000 ecx: c1353aa0 edx: db25cd14
Message from
syslogd@normal at Fri Jan 12 17:54:41 2007 ... normal kernel: esi: df02ced0 edi: daa0885c ebp: da9c7d34 esp: da9c7c4c
Message from syslogd@normal at Fri Jan 12 17:54:41 2007 ... normal kernel: ds: 007b es: 007b ss: 0069
Message from syslogd@normal at Fri Jan 12 17:54:41 2007 ... normal kernel: Process ls (pid: 1670, threadinfo=da9c6000 task=c05d7070) /**********************************************************/
Looks like "int 3" triggered kernel error. Why just for kernel module debugging?
BTW: I built the kernel moduel with "-g" option and use gdb command to load module symbols
/*************************************************/
add-symbol-file /path/to/module.ko 0xdf01f000 \ -s .altinstr_replacement 0xdf036629 \ -s .altinstructions 0xdf03add0 \ -s .bss 0xdf042a60 \ -s .data 0xdf041a20 \ -s .exit.text 0xdf0365f0 \
-s .gnu.linkonce.this_module 0xdf042840 \ -s .init.text 0xdf045000 \ -s .rodata 0xdf036680 \ -s .rodata.str1.1 0xdf039ef4 \ -s .rodata.str1.4 0xdf036cb8 \ -s .strtab 0xdf03e450 \
-s .symtab 0xdf03aec0 /*************************************************/
Thanks, lily
On 1/12/07, Brendan Cully <
brendan@xxxxxxxxx> wrote:
On Friday, 12 January 2007 at 16:32, Lily Huang wrote: > Hi Brendan, > > You are right. After I lift the breakpoint a little bit (to sys_open), the > breakpoint works. > > But now the domU kept complaining after I did "target remote
127.0.0.1:9999" > and then "br sys_open": > > /************************************************?
> BUG: soft lockup detected on CPU#0! >
> Pid: 0, comm: swapper > EIP: 0061:[<c01013a7>] CPU: 0 > EIP is at 0xc01013a7 > EFLAGS: 00000346 Not tainted (2.6.16.33-xenU #12) > EAX: 00000000 EBX: 00000001 ECX: 00000000 EDX: 00000000
> ESI: 00000001 EDI: c0354000 EBP: c0355f84 DS: 007b ES: 007b > CR0: 8005003b CR2: b7f77000 CR3: 1d633000 CR4: 00000640 > [<c0105bb3>] show_trace+0x13/0x20 > [<c0103390>] show_regs+0x190/0x1e0
> [<c013cf48>] softlockup_tick+0x88/0xa0 > [<c0126d45>] do_timer+0x215/0x440 > [<c010858c>] timer_interrupt+0x1bc/0x6a0 > [<c013d09f>] handle_IRQ_event+0x3f/0xd0 > [<c013d1be>] __do_IRQ+0x8e/0xf0
> [<c0106efd>] do_IRQ+0x1d/0x30 > [<c025d2d1>] evtchn_do_upcall+0xa1/0xe0 > [<c0105309>] hypervisor_callback+0x3d/0x48 > [<c01039df>] xen_idle+0x2f/0x60 > [<c0103a82>] cpu_idle+0x72/0xc0
> [<c0102035>] rest_init+0x35/0x40 > [<c035656a>] start_kernel+0x2ea/0x3a0 > [<c010006f>] 0xc010006f > > /********************************************************/ >
> What's wrong? Looks like I am really doomed to run into so many weird > problems. :(
soft lockup gets triggered when the kernel hasn't gotten a timer interrupt in a while. This tends to happen frequently when the kernel
is being debugged. I think there's a kernel config option to turn this off, or you can just live with the messages.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|