On Mon, 9 Dec 2002 13:49:35 +0800 , 
"Zhang, Sonic" <[EMAIL PROTECTED]> wrote:
>       I encounter this problem with kdb-v2.5-2.4.19 under pristine kernel
>2.4.19 on the i386 architecture.
>       After I set a break point with command "bp" within exception routine
>"divide_error" and order the KDB to "go", the system reboot abnormally.
>
>       Do you think it is a bug in KDB?
>
>       Steps:
>       1. Enter KDB by Pause key
>       2. pb divide_error + 0xa
>       3. go
>
>       Result:
>       The system reboot abnormally.

[0]kdb> id divide_error
0xc01077c4 divide_error:         push   $0x0
0xc01077c6 divide_error+0x2:     push   $0xc0107e10
0xc01077cb divide_error+0x7:     nop    
0xc01077cc error_code:         push   %ds
0xc01077cd error_code+0x1:     push   %eax
0xc01077ce error_code+0x2:     xor    %eax,%eax
0xc01077d0 error_code+0x4:     push   %ebp
0xc01077d1 error_code+0x5:     push   %edi
0xc01077d2 error_code+0x6:     push   %esi
0xc01077d3 error_code+0x7:     push   %edx
0xc01077d4 error_code+0x8:     dec    %eax
0xc01077d5 error_code+0x9:     push   %ecx
0xc01077d6 error_code+0xa:     push   %ebx
0xc01077d7 error_code+0xb:     cld    
0xc01077d8 error_code+0xc:     mov    %es,%ecx
0xc01077da error_code+0xe:     mov    0x24(%esp,1),%esi
[0]kdb> bp divide_error+0xa
Instruction(i) BP #0 at 0xc01077ce (error_code+0x2)
    is enabled globally adjust 1

divide_error+0xa is past the end of divide_error, it is error_code+0x2.
The debug handler branches to error_code, gets a tripple fault and
reboots the machine.  Do not try to debug any routines on the low level
error paths, in-kernel debuggers cannot handle that.


Reply via email to