Who should I write to about this OOPS in 2,6,11-mm3?

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

 



On Fri, 18 Mar 2005 13:07:08 +0100 (CET), Jean Delvare
<khali at linux-fr.org> wrote:

> Miles, could you please try to modify your oopsing configuration in the
> following way:
>   CONFIG_I2C_CHARDEV=n
>   CONFIG_SENSORS_EEPROM=y
> I would expect if to oops in i2c_add_driver() as well.

I had to copy this by hand, but I think I got it all down correctly.

ksymoops -o /lib/modules/2.6.12-rc1-mm1/ -m
/boot/System.map-2.6.12-rc1-mm1 < oops2
ksymoops 2.4.9 on i686 2.6.11-bk5.  Options used
     -V (default)
     -k /proc/ksyms (default)
     -l /proc/modules (default)
     -o /lib/modules/2.6.12-rc1-mm1/ (specified)
     -m /boot/System.map-2.6.12-rc1-mm1 (specified)

Error (regular_file): read_ksyms stat /proc/ksyms failed
ksymoops: No such file or directory
No modules in ksyms, skipping objects
No ksyms, skipping lsmod
Unable to handle kernel NULL pointer dereference at virtual address 00000020
c02f094f
*pde = 00000000
Oops: 0000 [#1]
CPU:     0
EIP:      0060:[<c02f094f>}    Not tainted VLI
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010292   (2.6.12-rc1-mm1)
eax: 00000000 ebx: f7c076fc ecx: 00000001 edx: f7c07558
esi: c047c8e0 edi: 00000000 epb: f7c33f80 esp: f7c33f38
Warning (Oops_set_regs): garbage 'epb: f7c33f80 esp: f7c33f38' at end
of register line ignored
ds: 007b es: 007b ss: 0068
Stack: c02416fb c047bcc8 c047c94c f7c33f54 c047c94c ffffffea c047c920 f7c33f70
         00000246 c047c94c 00000000 c047bc64 c047bc00 c047c920 f7c33f94 f7c076fc
         c047c8e0 00000000 f7c33f94 c02f1aa1 f7c07558 c047c8c8 c02f1ab0 f7c33fb0
Call trace:
[<c0104d7f>] show_stack+0x74/0xa0
[<c0104f1a>] show_registers+0x15a/0x1c0
[<c0105184>] die+0x164/0x2e0
[<c0119936>] do_page_fault+0x356/0x68d
[<c0104853>] error_code+0x4f/0x54
[<c02f1aa1>] eeprom_attach_adapter+0x21/0x30
[<c02ee704>] i2c_add_driver+0xb4/0xe0
[<c050a652>] eeprom_init+0x12/0x40
[<c04ee8ab>] do_initcalls+0x2b/0xc0
[<c0100302>] init+0x32/0x130
[<c0101351>] kernel_thread_helper+0x5/0x14
Code: 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 55 89 e5 57 56 53 83 ec 3c 8b 55 08 8b 42 0c <81>
78 20 00 00 05 00 c7 45 e4 e7 23 00 00 0f 94 c0 0f b6 c0 85


>>EIP; c02f094f <i2c_detect+f/500>   <=====

>>ebx; f7c076fc <pg0+376a46fc/3fa9b400>
>>edx; f7c07558 <pg0+376a4558/3fa9b400>
>>esi; c047c8e0 <eeprom_driver+0/e0>

Trace; c0104d7f <show_stack+7f/a0>
Trace; c0104f1a <show_registers+15a/1c0>
Trace; c0105184 <die+164/2e0>
Trace; c0119936 <do_page_fault+356/68d>
Trace; c0104853 <error_code+4f/54>
Trace; c02f1aa1 <eeprom_attach_adapter+21/30>
Trace; c02ee704 <i2c_add_driver+b4/e0>
Trace; c050a652 <eeprom_init+12/40>
Trace; c04ee8ab <do_initcalls+2b/c0>
Trace; c0100302 <init+32/130>
Trace; c0101351 <kernel_thread_helper+5/14>

This architecture has variable length instructions, decoding before eip
is unreliable, take these instructions with a pinch of salt.

Code;  c02f0924 <.text.lock.i2c_core+1be/1da>
00000000 <_EIP>:
Code;  c02f0924 <.text.lock.i2c_core+1be/1da>
   0:   90                        nop
Code;  c02f0925 <.text.lock.i2c_core+1bf/1da>
   1:   90                        nop
Code;  c02f0926 <.text.lock.i2c_core+1c0/1da>
   2:   90                        nop
Code;  c02f0927 <.text.lock.i2c_core+1c1/1da>
   3:   90                        nop
Code;  c02f0928 <.text.lock.i2c_core+1c2/1da>
   4:   90                        nop
Code;  c02f0929 <.text.lock.i2c_core+1c3/1da>
   5:   90                        nop
Code;  c02f092a <.text.lock.i2c_core+1c4/1da>
   6:   90                        nop
Code;  c02f092b <.text.lock.i2c_core+1c5/1da>
   7:   90                        nop
Code;  c02f092c <.text.lock.i2c_core+1c6/1da>
   8:   90                        nop
Code;  c02f092d <.text.lock.i2c_core+1c7/1da>
   9:   90                        nop
Code;  c02f092e <.text.lock.i2c_core+1c8/1da>
   a:   90                        nop
Code;  c02f092f <.text.lock.i2c_core+1c9/1da>
   b:   90                        nop
Code;  c02f0930 <.text.lock.i2c_core+1ca/1da>
   c:   90                        nop
Code;  c02f0931 <.text.lock.i2c_core+1cb/1da>
   d:   90                        nop
Code;  c02f0932 <.text.lock.i2c_core+1cc/1da>
   e:   90                        nop
Code;  c02f0933 <.text.lock.i2c_core+1cd/1da>
   f:   90                        nop
Code;  c02f0934 <.text.lock.i2c_core+1ce/1da>
  10:   90                        nop
Code;  c02f0935 <.text.lock.i2c_core+1cf/1da>
  11:   90                        nop
Code;  c02f0936 <.text.lock.i2c_core+1d0/1da>
  12:   90                        nop
Code;  c02f0937 <.text.lock.i2c_core+1d1/1da>
  13:   90                        nop
Code;  c02f0938 <.text.lock.i2c_core+1d2/1da>
  14:   90                        nop
Code;  c02f0939 <.text.lock.i2c_core+1d3/1da>
  15:   90                        nop
Code;  c02f093a <.text.lock.i2c_core+1d4/1da>
  16:   90                        nop
Code;  c02f093b <.text.lock.i2c_core+1d5/1da>
  17:   90                        nop
Code;  c02f093c <.text.lock.i2c_core+1d6/1da>
  18:   90                        nop
Code;  c02f093d <.text.lock.i2c_core+1d7/1da>
  19:   90                        nop
Code;  c02f093e <.text.lock.i2c_core+1d8/1da>
  1a:   90                        nop
Code;  c02f093f <.text.lock.i2c_core+1d9/1da>
  1b:   90                        nop
Code;  c02f0940 <i2c_detect+0/500>
  1c:   55                        push   %ebp
Code;  c02f0941 <i2c_detect+1/500>
  1d:   89 e5                     mov    %esp,%ebp
Code;  c02f0943 <i2c_detect+3/500>
  1f:   57                        push   %edi
Code;  c02f0944 <i2c_detect+4/500>
  20:   56                        push   %esi
Code;  c02f0945 <i2c_detect+5/500>
  21:   53                        push   %ebx
Code;  c02f0946 <i2c_detect+6/500>
  22:   83 ec 3c                  sub    $0x3c,%esp
Code;  c02f0949 <i2c_detect+9/500>
  25:   8b 55 08                  mov    0x8(%ebp),%edx
Code;  c02f094c <i2c_detect+c/500>
  28:   8b 42 0c                  mov    0xc(%edx),%eax

This decode from eip onwards should be reliable

Code;  c02f094f <i2c_detect+f/500>
00000000 <_EIP>:
Code;  c02f094f <i2c_detect+f/500>   <=====
   0:   81 78 20 00 00 05 00      cmpl   $0x50000,0x20(%eax)   <=====
Code;  c02f0956 <i2c_detect+16/500>
   7:   c7 45 e4 e7 23 00 00      movl   $0x23e7,0xffffffe4(%ebp)
Code;  c02f095d <i2c_detect+1d/500>
   e:   0f 94 c0                  sete   %al
Code;  c02f0960 <i2c_detect+20/500>
  11:   0f b6 c0                  movzbl %al,%eax
Code;  c02f0963 <i2c_detect+23/500>
  14:   85                        .byte 0x85

<0>Kernel panic - not syncing: Attempted to kill init!

1 warning and 1 error issued.  Results may not be reliable.

(gdb) x/30i 0xc02f094f
0xc02f094f <i2c_detect+15>:     cmpl   $0x50000,0x20(%eax)
0xc02f0956 <i2c_detect+22>:     movl   $0x23e7,0xffffffe4(%ebp)
0xc02f095d <i2c_detect+29>:     sete   %al
0xc02f0960 <i2c_detect+32>:     movzbl %al,%eax
0xc02f0963 <i2c_detect+35>:     test   %eax,%eax
0xc02f0965 <i2c_detect+37>:     mov    %eax,0xffffffe8(%ebp)
0xc02f0968 <i2c_detect+40>:     je     0xc02f0e1c <i2c_detect+1244>
0xc02f096e <i2c_detect+46>:     mov    0xffffffe8(%ebp),%eax
0xc02f0971 <i2c_detect+49>:     test   %eax,%eax
0xc02f0973 <i2c_detect+51>:     je     0xc02f0df7 <i2c_detect+1207>
0xc02f0979 <i2c_detect+57>:     mov    0xc(%ebp),%edx
0xc02f097c <i2c_detect+60>:     movl   $0xc047bf00,0xffffffd8(%ebp)
0xc02f0983 <i2c_detect+67>:     movl   $0xc047bf00,0xffffffd4(%ebp)
0xc02f098a <i2c_detect+74>:     movl   $0xc047bf04,0xffffffdc(%ebp)
0xc02f0991 <i2c_detect+81>:     mov    (%edx),%eax
0xc02f0993 <i2c_detect+83>:     test   %eax,%eax
0xc02f0995 <i2c_detect+85>:     cmove  0xffffffd8(%ebp),%eax
0xc02f0999 <i2c_detect+89>:     mov    %eax,0xffffffe0(%ebp)
0xc02f099c <i2c_detect+92>:     mov    0x4(%edx),%eax
0xc02f099f <i2c_detect+95>:     test   %eax,%eax
0xc02f09a1 <i2c_detect+97>:     cmove  0xffffffdc(%ebp),%eax
0xc02f09a5 <i2c_detect+101>:    mov    %eax,0xffffffdc(%ebp)
0xc02f09a8 <i2c_detect+104>:    mov    0x8(%edx),%eax
0xc02f09ab <i2c_detect+107>:    test   %eax,%eax
0xc02f09ad <i2c_detect+109>:    cmove  0xffffffd8(%ebp),%eax
0xc02f09b1 <i2c_detect+113>:    mov    %eax,0xffffffd8(%ebp)
0xc02f09b4 <i2c_detect+116>:    mov    0xc(%edx),%eax
0xc02f09b7 <i2c_detect+119>:    movl   $0x0,0xfffffff0(%ebp)
0xc02f09be <i2c_detect+126>:    test   %eax,%eax
0xc02f09c0 <i2c_detect+128>:    cmove  0xffffffd4(%ebp),%eax

I hope this helps,
            Miles



[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux