From mboxrd@z Thu Jan 1 00:00:00 1970 From: miles.lane@gmail.com (Miles Lane) Date: Thu, 19 May 2005 06:25:45 +0000 Subject: Who should I write to about this OOPS in 2,6,11-mm3? Message-Id: List-Id: References: <20050315050746.GB13009@kroah.com> In-Reply-To: <20050315050746.GB13009@kroah.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: lm-sensors@vger.kernel.org On Fri, 18 Mar 2005 13:07:08 +0100 (CET), Jean Delvare 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:[} 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: [] show_stack+0x74/0xa0 [] show_registers+0x15a/0x1c0 [] die+0x164/0x2e0 [] do_page_fault+0x356/0x68d [] error_code+0x4f/0x54 [] eeprom_attach_adapter+0x21/0x30 [] i2c_add_driver+0xb4/0xe0 [] eeprom_init+0x12/0x40 [] do_initcalls+0x2b/0xc0 [] init+0x32/0x130 [] 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 <== >>ebx; f7c076fc >>edx; f7c07558 >>esi; c047c8e0 Trace; c0104d7f Trace; c0104f1a Trace; c0105184 Trace; c0119936 Trace; c0104853 Trace; c02f1aa1 Trace; c02ee704 Trace; c050a652 Trace; c04ee8ab Trace; c0100302 Trace; c0101351 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 1c: 55 push %ebp Code; c02f0941 1d: 89 e5 mov %esp,%ebp Code; c02f0943 1f: 57 push %edi Code; c02f0944 20: 56 push %esi Code; c02f0945 21: 53 push %ebx Code; c02f0946 22: 83 ec 3c sub $0x3c,%esp Code; c02f0949 25: 8b 55 08 mov 0x8(%ebp),%edx Code; c02f094c 28: 8b 42 0c mov 0xc(%edx),%eax This decode from eip onwards should be reliable Code; c02f094f 00000000 <_EIP>: Code; c02f094f <== 0: 81 78 20 00 00 05 00 cmpl $0x50000,0x20(%eax) <==Code; c02f0956 7: c7 45 e4 e7 23 00 00 movl $0x23e7,0xffffffe4(%ebp) Code; c02f095d e: 0f 94 c0 sete %al Code; c02f0960 11: 0f b6 c0 movzbl %al,%eax Code; c02f0963 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 : cmpl $0x50000,0x20(%eax) 0xc02f0956 : movl $0x23e7,0xffffffe4(%ebp) 0xc02f095d : sete %al 0xc02f0960 : movzbl %al,%eax 0xc02f0963 : test %eax,%eax 0xc02f0965 : mov %eax,0xffffffe8(%ebp) 0xc02f0968 : je 0xc02f0e1c 0xc02f096e : mov 0xffffffe8(%ebp),%eax 0xc02f0971 : test %eax,%eax 0xc02f0973 : je 0xc02f0df7 0xc02f0979 : mov 0xc(%ebp),%edx 0xc02f097c : movl $0xc047bf00,0xffffffd8(%ebp) 0xc02f0983 : movl $0xc047bf00,0xffffffd4(%ebp) 0xc02f098a : movl $0xc047bf04,0xffffffdc(%ebp) 0xc02f0991 : mov (%edx),%eax 0xc02f0993 : test %eax,%eax 0xc02f0995 : cmove 0xffffffd8(%ebp),%eax 0xc02f0999 : mov %eax,0xffffffe0(%ebp) 0xc02f099c : mov 0x4(%edx),%eax 0xc02f099f : test %eax,%eax 0xc02f09a1 : cmove 0xffffffdc(%ebp),%eax 0xc02f09a5 : mov %eax,0xffffffdc(%ebp) 0xc02f09a8 : mov 0x8(%edx),%eax 0xc02f09ab : test %eax,%eax 0xc02f09ad : cmove 0xffffffd8(%ebp),%eax 0xc02f09b1 : mov %eax,0xffffffd8(%ebp) 0xc02f09b4 : mov 0xc(%edx),%eax 0xc02f09b7 : movl $0x0,0xfffffff0(%ebp) 0xc02f09be : test %eax,%eax 0xc02f09c0 : cmove 0xffffffd4(%ebp),%eax I hope this helps, Miles