[Steps:] System reboot abnormally when I set bp in divide_error e xception routine

Keith Owens kaos at sgi.com
Sun Dec 8 22:06:04 PST 2002


On Mon, 9 Dec 2002 13:49:35 +0800 , 
"Zhang, Sonic" <sonic.zhang at intel.com> 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.




More information about the kdb mailing list