On Mon, 06 Oct 2003 13:58:08 +0530,
Sachin Sant <sachinp@xxxxxxxxxx> wrote:
>
>When I dump out the contents of esp and ebp for a certain pid I am
>seeing all zeroes. Is this a normal behaviour?
>
>I am using 2.4.21 + kdb-v4.3 on a 4 way ia32 system.
>
>[3]kdb> pid 888
>KDB current process is cron(pid=888)
>[3]kdb> rd u
>eax = 0x000000a2 ebx = 0xbfffe038 ecx = 0xbfffe038 edx = 0x4013cc90
>esi = 0xbfffe150 edi = 0xbfffe038 esp = 0xbfffe00c eip = 0x400c1d01
>ebp = 0xbfffe1e8 xss = 0x0000002b xcs = 0x00000023 eflags = 0x00000207
>xds = 0x4014002b xes = 0x0000002b origeax = 0x000000a2 ®s =
>0xc3d65fc4
>[3]kdb> md 0xbfffe00c
>0xbfffe00c 00000000 00000000 00000000 00000000 ................
That is not expected. kdb_getarea() is claiming that it got data but
the result is zero. It is probably a bug with getting the pages from
user space, although I cannot see anything wrong with the code.
Can you add some debug statements to these routines to track their
inputs and outputs.
include/asm-i386/kdb.h __kdba_getarea_size
kdb/kdbsupport.c kdb_getuserarea_size
kdb/kdbsupport.c kdb_get_one_user_page
mm/memory.c kdb_follow_page
Use "if (KDB_DEBUG(BT)) kdb_printf(...);" so the lines are only printed
when the kdb BT debug flag is on. "set KDBDEBUG 1" before issuing the
md commands, then "set KDBDEBUG 0" afterwards. Crude but it works.
|