Hi Jens.
I've tried your blk-8 patch and it oopses during boot. I only hand
copied the stack trace, and ran it through ksymoops:
Call Trace: [<c01310e0>] [<c0131f55>] [<c014c88e>] [<c014c3dc>]
[<c01b9cea>] [<c014c4ea>] [<c014c456>]
[<c01ba3a4>] [<c018c7ab>] [<c0105000>] [<c018c8ae>] [<c01070e7>]
[<c0108ce3>]
Warning (Oops_read): Code line not seen, dumping what data is available
Trace; c01310e0 <__wait_on_buffer+90/c0>
Trace; c0131f55 <bread+45/70>
Trace; c014c88e <msdos_partition+8e/3f0>
Trace; c014c3dc <check_partition+8c/d0>
Trace; c01b9cea <sd_init_onedisk+75a/770>
Trace; c014c4ea <grok_partitions+8a/d0>
Trace; c014c456 <register_disk+26/30>
Trace; c01ba3a4 <sd_finish+134/1c0>
Trace; c018c7ab <scsi_register_device_module+eb/110>
Trace; c0105000 <empty_bad_page+0/1000>
Trace; c018c8ae <scsi_register_module+4e/60>
Trace; c01070e7 <init+7/150>
Trace; c0108ce3 <kernel_thread+23/30>
I'm going to try taking MSDOS out of my .config to try to work around
this. I'll keep you posted as to my progress.
David Mansfield
On Fri, Nov 03 2000, David Mansfield wrote:
> Hi Jens.
>
> I've tried your blk-8 patch and it oopses during boot. I only hand
> copied the stack trace, and ran it through ksymoops:
>
> Call Trace: [<c01310e0>] [<c0131f55>] [<c014c88e>] [<c014c3dc>]
> [<c01b9cea>] [<c014c4ea>] [<c014c456>]
> [<c01ba3a4>] [<c018c7ab>] [<c0105000>] [<c018c8ae>] [<c01070e7>]
> [<c0108ce3>]
> Warning (Oops_read): Code line not seen, dumping what data is available
>
> Trace; c01310e0 <__wait_on_buffer+90/c0>
> Trace; c0131f55 <bread+45/70>
> Trace; c014c88e <msdos_partition+8e/3f0>
> Trace; c014c3dc <check_partition+8c/d0>
> Trace; c01b9cea <sd_init_onedisk+75a/770>
> Trace; c014c4ea <grok_partitions+8a/d0>
> Trace; c014c456 <register_disk+26/30>
> Trace; c01ba3a4 <sd_finish+134/1c0>
> Trace; c018c7ab <scsi_register_device_module+eb/110>
> Trace; c0105000 <empty_bad_page+0/1000>
> Trace; c018c8ae <scsi_register_module+4e/60>
> Trace; c01070e7 <init+7/150>
> Trace; c0108ce3 <kernel_thread+23/30>
>
> I'm going to try taking MSDOS out of my .config to try to work around
> this. I'll keep you posted as to my progress.
Thanks, I think this is a generic msdos problem though. If it still
oopses without blk-8, could you send the complete oops please?
--
* Jens Axboe <[email protected]>
* SuSE Labs
> On Fri, Nov 03 2000, David Mansfield wrote:
> > Hi Jens.
> >
> > I've tried your blk-8 patch and it oopses during boot. I only hand
> > copied the stack trace, and ran it through ksymoops:
> >
>
> > I'm going to try taking MSDOS out of my .config to try to work around
> > this. I'll keep you posted as to my progress.
>
> Thanks, I think this is a generic msdos problem though. If it still
> oopses without blk-8, could you send the complete oops please?
Actually, it has nothing to do with MSDOS fs, per-se. I misread the
trace. In fact, it's just an MSDOS style *partition table*, i.e. normal
Linux on a PC partition table.
I have here the bootup messages of 2.4.0-test10 + blk-8, along with a
ksymoops of the oops, and a gdb disassemble of __wait_on_buffer:
Linux version 2.4.0-test10 (kernel@mercury) (gcc version egcs-2.91.66
19990314/Linux (egcs-1.1.2 release)) #18 Fri Nov 3 11:01:28 EST 2000
BIOS-provided physical RAM map:
BIOS-e820: 000000000009fc00 @ 0000000000000000 (usable)
BIOS-e820: 0000000000000400 @ 000000000009fc00 (reserved)
BIOS-e820: 0000000000010000 @ 00000000000f0000 (reserved)
BIOS-e820: 0000000000010000 @ 00000000ffff0000 (reserved)
BIOS-e820: 000000000fef0000 @ 0000000000100000 (usable)
BIOS-e820: 000000000000d000 @ 000000000fff3000 (ACPI data)
BIOS-e820: 0000000000003000 @ 000000000fff0000 (ACPI NVS)
On node 0 totalpages: 65536
zone(0): 4096 pages.
zone(1): 61440 pages.
zone(2): 0 pages.
Kernel command line: BOOT_IMAGE=linux ro root=812 mem=256m
console=ttyS0,115200n8
Initializing CPU#0
Detected 698.665 MHz processor.
Console: colour VGA+ 80x25
Calibrating delay loop... 1392.64 BogoMIPS
Memory: 255508k/262144k available (1360k kernel code, 6248k reserved,
99k data, 196k init, 0k highmem)
Dentry-cache hash table entries: 32768 (order: 6, 262144 bytes)
Buffer-cache hash table entries: 16384 (order: 4, 65536 bytes)
Page-cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 16384 (order: 5, 131072 bytes)
CPU: L1 I Cache: 64K L1 D Cache: 64K (64 bytes/line)
CPU: L2 Cache: 512K
CPU: AMD-K7(tm) Processor stepping 02
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
mtrr: v1.36 (20000221) Richard Gooch ([email protected])
PCI: PCI BIOS revision 2.10 entry at 0xfb460, last bus=1
PCI: Using configuration type 1
PCI: Probing PCI hardware
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
apm: BIOS version 1.2 Flags 0x07 (Driver version 1.13)
ACPI: "AWARD" found at 0x000f6340
ACPI: unreserved table memory @ 0x0fff3000!
ACPI: missing RSDT at 0x0fff3000
Starting kswapd v1.8
pty: 256 Unix98 ptys configured
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
Uniform Multi-Platform E-IDE driver Revision: 6.31
ide: Assuming 33MHz system bus speed for PIO modes; override with
idebus=xx
AMD7409: IDE controller on PCI bus 00 dev 39
AMD7409: chipset revision 3
AMD7409: not 100% native mode: will probe irqs later
AMD7409: disabling single-word DMA support (revision < C4)
ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:DMA, hdb:pio
ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:pio, hdd:pio
hda: CREATIVE CD5230E, ATAPI CDROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hda: ATAPI 52X CD-ROM drive, 128kB Cache, DMA
Uniform CD-ROM driver Revision: 3.11
LVM version 0.8final by Heinz Mauelshagen (15/02/2000)
lvm -- Driver successfully initialized
Serial driver version 5.02 (2000-08-09) with MANY_PORTS SHARE_IRQ
SERIAL_PCI enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
SCSI subsystem driver Revision: 1.00
(scsi0) <Adaptec AHA-294X Ultra2 SCSI host adapter> found at PCI 0/11/0
(scsi0) Wide Channel, SCSI ID=7, 32/255 SCBs
(scsi0) Downloading sequencer code... 392 instructions downloaded
scsi0 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 5.2.1/5.2.0
<Adaptec AHA-294X Ultra2 SCSI host adapter>
(scsi0:0:0:0) Synchronous at 80.0 Mbyte/sec, offset 15.
Vendor: SEAGATE Model: ST39102LW Rev: 0006
Type: Direct-Access ANSI SCSI revision: 02
(scsi0:0:2:0) Synchronous at 80.0 Mbyte/sec, offset 31.
Vendor: IBM Model: DNES-318350W Rev: SA30
Type: Direct-Access ANSI SCSI revision: 03
Detected scsi disk sda at scsi0, channel 0, id 0, lun 0
Detected scsi disk sdb at scsi0, channel 0, id 2, lun 0
SCSI device sda: 17783240 512-byte hdwr sectors (9105 MB)
Partition check:
sda:<1>Unable to handle kernel NULL pointer dereference at virtual
address 00000010
printing eip:
00000010
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<00000010>]
EFLAGS: 00010202
eax: c15da9e4 ebx: c023c7ea ecx: c1591800 edx: 00000010
esi: c1582240 edi: c15fe000 ebp: c15ffe70 esp: c15ffe50
ds: 0018 es: 0018 ss: 0018
Process swapper (pid: 1, stackpage=c15ff000)
Stack: c01310e0 c1591800 00000800 00000000 00000800 c15da980 c1591800
c1582288
01234567 c15fe000 c158228c c158228c c0131f55 c1582240 c1582240
c014c88e
00000800 00000000 00000400 00000800 c0259b04 00000000 00000800
c15da980
Call Trace: [<c01310e0>] [<c0131f55>] [<c014c88e>] [<c014c3dc>]
[<c01b9cea>] [<c014c4ea>] [<c014c456>]
[<c01ba3a4>] [<c018c7ab>] [<c0105000>] [<c018c8ae>] [<c01070e7>]
[<c0108ce3>]
Code: Bad EIP value.
Kernel panic: Attempted to kill init!
And here's the ksymoops:
>>EIP; 00000010 Before first symbol <=====
Trace; c01310e0 <__wait_on_buffer+90/c0>
Trace; c0131f55 <bread+45/70>
Trace; c014c88e <msdos_partition+8e/3f0>
Trace; c014c3dc <check_partition+8c/d0>
Trace; c01b9cea <sd_init_onedisk+75a/770>
Trace; c014c4ea <grok_partitions+8a/d0>
Trace; c014c456 <register_disk+26/30>
Trace; c01ba3a4 <sd_finish+134/1c0>
Trace; c018c7ab <scsi_register_device_module+eb/110>
Trace; c0105000 <empty_bad_page+0/1000>
Trace; c018c8ae <scsi_register_module+4e/60>
Trace; c01070e7 <init+7/150>
Trace; c0108ce3 <kernel_thread+23/30>
And here's a 'disassemble' of __wait_on_buffer from gdb:
(gdb) disassemble __wait_on_buffer
Dump of assembler code for function __wait_on_buffer:
0xc0131050 <__wait_on_buffer>: sub $0x18,%esp
0xc0131053 <__wait_on_buffer+3>: push %ebp
0xc0131054 <__wait_on_buffer+4>: push %edi
0xc0131055 <__wait_on_buffer+5>: push %esi
0xc0131056 <__wait_on_buffer+6>: mov $0xffffe000,%edi
0xc013105b <__wait_on_buffer+11>: push %ebx
0xc013105c <__wait_on_buffer+12>: and %esp,%edi
0xc013105e <__wait_on_buffer+14>: mov 0x2c(%esp,1),%esi
0xc0131062 <__wait_on_buffer+18>: movl $0x1234567,0x18(%esp,1)
0xc013106a <__wait_on_buffer+26>: mov %edi,0x1c(%esp,1)
0xc013106e <__wait_on_buffer+30>: movl $0x0,0x20(%esp,1)
0xc0131076 <__wait_on_buffer+38>: movl $0x0,0x24(%esp,1)
0xc013107e <__wait_on_buffer+46>: incl 0x10(%esi)
0xc0131081 <__wait_on_buffer+49>: lea 0x18(%esp,1),%ebp
0xc0131085 <__wait_on_buffer+53>: lea 0x48(%esi),%ecx
0xc0131088 <__wait_on_buffer+56>: mov %ecx,0x14(%esp,1)
0xc013108c <__wait_on_buffer+60>: mov %ebp,%edx
0xc013108e <__wait_on_buffer+62>: mov %ecx,%eax
0xc0131090 <__wait_on_buffer+64>: call 0xc0118440 <add_wait_queue>
0xc0131095 <__wait_on_buffer+69>: jmp 0xc01310a2
<__wait_on_buffer+82>
0xc0131097 <__wait_on_buffer+71>: call 0xc01172b0 <schedule>
0xc013109c <__wait_on_buffer+76>: testb $0x4,0x18(%esi)
0xc01310a0 <__wait_on_buffer+80>: je 0xc01310f1
<__wait_on_buffer+161>
0xc01310a2 <__wait_on_buffer+82>: cmpl $0x0,0xc025ac20
0xc01310a9 <__wait_on_buffer+89>: je 0xc01310e5
<__wait_on_buffer+149>
0xc01310ab <__wait_on_buffer+91>: pushf
0xc01310ac <__wait_on_buffer+92>: pop %eax
0xc01310ad <__wait_on_buffer+93>: cli
0xc01310ae <__wait_on_buffer+94>: mov 0xc025ac20,%ebx
0xc01310b4 <__wait_on_buffer+100>: movl $0x0,0xc025ac20
0xc01310be <__wait_on_buffer+110>: push %eax
0xc01310bf <__wait_on_buffer+111>: popf
0xc01310c0 <__wait_on_buffer+112>: test %ebx,%ebx
0xc01310c2 <__wait_on_buffer+114>: je 0xc01310e5
<__wait_on_buffer+149>
0xc01310c4 <__wait_on_buffer+116>: mov 0xc(%ebx),%ecx
0xc01310c7 <__wait_on_buffer+119>: mov %ecx,0x10(%esp,1)
0xc01310cb <__wait_on_buffer+123>: mov 0x8(%ebx),%edx
0xc01310ce <__wait_on_buffer+126>: mov %ebx,%eax
0xc01310d0 <__wait_on_buffer+128>: mov (%ebx),%ebx
0xc01310d2 <__wait_on_buffer+130>: movl $0x0,0x4(%eax)
0xc01310d9 <__wait_on_buffer+137>: test %edx,%edx
0xc01310db <__wait_on_buffer+139>: je 0xc01310c0
<__wait_on_buffer+112>
0xc01310dd <__wait_on_buffer+141>: push %ecx
0xc01310de <__wait_on_buffer+142>: call *%edx
0xc01310e0 <__wait_on_buffer+144>: add $0x4,%esp
0xc01310e3 <__wait_on_buffer+147>: jmp 0xc01310c0
<__wait_on_buffer+112>
0xc01310e5 <__wait_on_buffer+149>: movl $0x2,(%edi)
0xc01310eb <__wait_on_buffer+155>: testb $0x4,0x18(%esi)
0xc01310ef <__wait_on_buffer+159>: jne 0xc0131097
<__wait_on_buffer+71>
0xc01310f1 <__wait_on_buffer+161>: movl $0x0,(%edi)
0xc01310f7 <__wait_on_buffer+167>: mov %ebp,%edx
0xc01310f9 <__wait_on_buffer+169>: mov 0x14(%esp,1),%eax
0xc01310fd <__wait_on_buffer+173>: call 0xc0118490 <remove_wait_queue>
0xc0131102 <__wait_on_buffer+178>: decl 0x10(%esi)
0xc0131105 <__wait_on_buffer+181>: pop %ebx
0xc0131106 <__wait_on_buffer+182>: pop %esi
0xc0131107 <__wait_on_buffer+183>: pop %edi
0xc0131108 <__wait_on_buffer+184>: pop %ebp
0xc0131109 <__wait_on_buffer+185>: add $0x18,%esp
0xc013110c <__wait_on_buffer+188>: ret
0xc013110d <__wait_on_buffer+189>: lea 0x0(%esi),%esi
End of assembler dump.