bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug-hurd] Bug#71781: Bug-hurd] Bug#71781: [hurd] dh_compress causes ker


From: Neal H Walfield
Subject: [Bug-hurd] Bug#71781: Bug-hurd] Bug#71781: [hurd] dh_compress causes kernel panic
Date: Tue, 19 Sep 2000 18:23:32 -0500
User-agent: Mutt/1.2i

On Tue, Sep 19, 2000 at 06:05:19PM -0400, Roland McGrath wrote:
> > I rebuilt the kernel to include floppy support.  This time, I got the
> > expected result, a panic.  The result of addr2line is: 
> > 
> > /gnumach/build/i386/linux/../../../i386/linux/../../linux/dev/glue/block.c:940
> > 
> > This is the function init_partition as previously reported.
> 
> Well, that line number has no code on it, so it's hard to tell exactly
> where the PC value really lines.  Can you run gdb on your binary, do "info
> line *PC" and "disas PC" and send me the output?  It looks like it must be
> either a null pointer in thread->pcb (which would be some bad corruption),
> or a null pointer as the PART argument.  You could insert printfs to see
> what is up.

This should get you started.

(gdb) info line *(0x146d82)
Line 939 of "../../../i386/linux/../../linux/dev/glue/block.c"
   starts at address 0x146d7e <init_partition+18>
   and ends at 0x146d8f <init_partition+35>.
(gdb) disas 0x146d82
Dump of assembler code for function init_partition:
0x146d6c <init_partition>:      push   %ebp
0x146d6d <init_partition+1>:    mov    %esp,%ebp
0x146d6f <init_partition+3>:    sub    $0x2c,%esp
0x146d72 <init_partition+6>:    push   %edi
0x146d73 <init_partition+7>:    push   %esi
0x146d74 <init_partition+8>:    push   %ebx
0x146d75 <init_partition+9>:    mov    0x10(%ebp),%eax
0x146d78 <init_partition+12>:   mov    0xc(%eax),%eax
0x146d7b <init_partition+15>:   mov    %eax,0xfffffffc(%ebp)
0x146d7e <init_partition+18>:   mov    0x1a1134,%eax
0x146d83 <init_partition+23>:   mov    0x24(%eax),%eax
0x146d86 <init_partition+26>:   mov    0xb0(%eax),%eax
0x146d8c <init_partition+32>:   mov    %eax,0xfffffff8(%ebp)
0x146d8f <init_partition+35>:   mov    0xfffffffc(%ebp),%edx
0x146d92 <init_partition+38>:   mov    0x8(%edx),%ecx
0x146d95 <init_partition+41>:   mov    $0x1,%eax
0x146d9a <init_partition+46>:   shl    %cl,%eax
0x146d9c <init_partition+48>:   dec    %eax
0x146d9d <init_partition+49>:   mov    %eax,0xfffffff4(%ebp)
0x146da0 <init_partition+52>:   test   %edx,%edx
0x146da2 <init_partition+54>:   jne    0x146db2 <init_partition+70>
0x146da4 <init_partition+56>:   mov    0x18(%ebp),%ecx
0x146da7 <init_partition+59>:   movl   $0xffffffff,(%ecx)
0x146dad <init_partition+65>:   jmp    0x146fe0 <init_partition+628>
0x146db2 <init_partition+70>:   mov    0x10(%ebp),%eax
0x146db5 <init_partition+73>:   mov    0x14(%eax),%ebx
0x146db8 <init_partition+76>:   test   %ebx,%ebx
0x146dba <init_partition+78>:   jne    0x146f56 <init_partition+490>
0x146dc0 <init_partition+84>:   add    $0xfffffff4,%esp
0x146dc3 <init_partition+87>:   mov    0xfffffffc(%ebp),%edx
0x146dc6 <init_partition+90>:   mov    0xc(%edx),%eax
0x146dc9 <init_partition+93>:   shl    $0x2,%eax
0x146dcc <init_partition+96>:   imul   0x10(%edx),%eax
0x146dd0 <init_partition+100>:  push   %eax
0x146dd1 <init_partition+101>:  call   0x10f68c <kalloc>
0x146dd6 <init_partition+106>:  mov    %eax,%edi
0x146dd8 <init_partition+108>:  mov    0x10(%ebp),%ecx
0x146ddb <init_partition+111>:  mov    %edi,0x14(%ecx)
0x146dde <init_partition+114>:  add    $0x10,%esp
0x146de1 <init_partition+117>:  test   %edi,%edi
0x146de3 <init_partition+119>:  jne    0x146df0 <init_partition+132>
0x146de5 <init_partition+121>:  mov    $0x9cc,%eax
0x146dea <init_partition+126>:  jmp    0x146fe2 <init_partition+630>
0x146def <init_partition+131>:  nop    
0x146df0 <init_partition+132>:  mov    0xfffffffc(%ebp),%eax
0x146df3 <init_partition+135>:  mov    0xc(%eax),%esi
0x146df6 <init_partition+138>:  shl    $0x2,%esi
0x146df9 <init_partition+141>:  imul   0x10(%eax),%esi
0x146dfd <init_partition+145>:  mov    %esi,%ecx
0x146dff <init_partition+147>:  shr    $0x2,%ecx
0x146e02 <init_partition+150>:  mov    %ebx,%eax
0x146e04 <init_partition+152>:  mov    %esi,%edx
0x146e06 <init_partition+154>:  cld    
0x146e07 <init_partition+155>:  repz stos %eax,%es:(%edi)
0x146e09 <init_partition+157>:  test   $0x2,%dl
0x146e0c <init_partition+160>:  je     0x146e10 <init_partition+164>
0x146e0e <init_partition+162>:  stos   %ax,%es:(%edi)
0x146e10 <init_partition+164>:  test   $0x1,%dl
0x146e13 <init_partition+167>:  je     0x146e16 <init_partition+170>
0x146e15 <init_partition+169>:  stos   %al,%es:(%edi)
0x146e16 <init_partition+170>:  mov    $0x1,%ebx
0x146e1b <init_partition+175>:  mov    0xfffffffc(%ebp),%ecx
0x146e1e <init_partition+178>:  cmp    0xc(%ecx),%ebx
0x146e21 <init_partition+181>:  jge    0x146f56 <init_partition+490>
0x146e27 <init_partition+187>:  mov    %ebx,%eax
0x146e29 <init_partition+189>:  mov    0xc(%ebp),%edx
0x146e2c <init_partition+192>:  or     (%edx),%ax
0x146e2f <init_partition+195>:  mov    0xfffffff8(%ebp),%ecx
0x146e32 <init_partition+198>:  mov    %ax,0x2(%ecx)
0x146e36 <init_partition+202>:  movzbl %al,%edi
0x146e39 <init_partition+205>:  and    0xfffffff4(%ebp),%edi
0x146e3c <init_partition+208>:  mov    0xfffffffc(%ebp),%edx
0x146e3f <init_partition+211>:  mov    0x18(%edx),%eax
0x146e42 <init_partition+214>:  lea    0x1(%ebx),%ecx
0x146e45 <init_partition+217>:  mov    %ecx,0xfffffff0(%ebp)
0x146e48 <init_partition+220>:  cmpl   $0x0,0x4(%eax,%edi,8)
0x146e4d <init_partition+225>:  jle    0x146f47 <init_partition+475>
0x146e53 <init_partition+231>:  cmpl   $0x0,(%eax,%edi,8)
0x146e57 <init_partition+235>:  jl     0x146f47 <init_partition+475>
0x146e5d <init_partition+241>:  movl   $0x5,0x1a0c44
0x146e67 <init_partition+251>:  mov    0xfffffff8(%ebp),%eax
0x146e6a <init_partition+254>:  movw   $0x0,0x10(%eax)
0x146e70 <init_partition+260>:  movw   $0x0,0x4(%eax)
0x146e76 <init_partition+266>:  mov    0x10(%ebp),%ecx
0x146e79 <init_partition+269>:  mov    0x4(%ecx),%edx
0x146e7c <init_partition+272>:  cmpl   $0x0,0x1c(%edx)
0x146e80 <init_partition+276>:  je     0x146e9d <init_partition+305>
0x146e82 <init_partition+278>:  add    $0xfffffff8,%esp
0x146e85 <init_partition+281>:  add    $0x4,%eax
0x146e88 <init_partition+284>:  push   %eax
0x146e89 <init_partition+285>:  mov    0xfffffff8(%ebp),%eax
0x146e8c <init_partition+288>:  push   %eax
0x146e8d <init_partition+289>:  mov    0x1c(%edx),%eax
0x146e90 <init_partition+292>:  call   *%eax
0x146e92 <init_partition+294>:  add    $0x10,%esp
0x146e95 <init_partition+297>:  test   %eax,%eax
0x146e97 <init_partition+299>:  jne    0x146f47 <init_partition+475>
0x146e9d <init_partition+305>:  add    $0xfffffff4,%esp
0x146ea0 <init_partition+308>:  mov    0xfffffff8(%ebp),%edx
0x146ea3 <init_partition+311>:  movzwl 0x2(%edx),%eax
0x146ea7 <init_partition+315>:  push   %eax
0x146ea8 <init_partition+316>:  call   0x146be4 <read_bsd_label>
0x146ead <init_partition+321>:  mov    %eax,%esi
0x146eaf <init_partition+323>:  add    $0x10,%esp
0x146eb2 <init_partition+326>:  test   %esi,%esi
0x146eb4 <init_partition+328>:  jne    0x146ecb <init_partition+351>
0x146eb6 <init_partition+330>:  add    $0xfffffff4,%esp
0x146eb9 <init_partition+333>:  mov    0xfffffff8(%ebp),%ecx
0x146ebc <init_partition+336>:  movzwl 0x2(%ecx),%eax
0x146ec0 <init_partition+340>:  push   %eax
0x146ec1 <init_partition+341>:  call   0x146c80 <read_vtoc>
0x146ec6 <init_partition+346>:  mov    %eax,%esi
0x146ec8 <init_partition+348>:  add    $0x10,%esp
0x146ecb <init_partition+351>:  mov    0x10(%ebp),%eax
0x146ece <init_partition+354>:  mov    0x4(%eax),%edx
0x146ed1 <init_partition+357>:  cmpl   $0x0,0x20(%edx)
0x146ed5 <init_partition+361>:  je     0x146eed <init_partition+385>
0x146ed7 <init_partition+363>:  add    $0xfffffff8,%esp
0x146eda <init_partition+366>:  mov    0xfffffff8(%ebp),%eax
0x146edd <init_partition+369>:  add    $0x4,%eax
0x146ee0 <init_partition+372>:  push   %eax
0x146ee1 <init_partition+373>:  mov    0xfffffff8(%ebp),%ecx
0x146ee4 <init_partition+376>:  push   %ecx
0x146ee5 <init_partition+377>:  mov    0x20(%edx),%eax
0x146ee8 <init_partition+380>:  call   *%eax


-- 
Neal H Walfield
University of Massachusetts at Lowell
neal@walfield.org or nwalfiel@cs.uml.edu



reply via email to

[Prev in Thread] Current Thread [Next in Thread]