2003-07-28 11:45:43

by Nico Schottelius

[permalink] [raw]
Subject: bug in 2.6.0test2

Hello again!

When trying to boot from a cryptoloop we get the attached error.
Details:
modules loop,cryptoloop,aes (in this order) are loaded with insmod
(from initrd)
then mounting proc

Any suggestions / solutions ?

Nico

ps: please cc me and scholz AT wdt.de

--
echo God bless America | sed 's/.*\(A.*$\)/Why \1?/'
pgp: new id: 0x8D0E27A4 | ftp.schottelius.org/pub/familiy/nico/pgp-key.new


Attachments:
(No filename) (0.00 B)
(No filename) (189.00 B)
Download all attachments

2003-07-28 20:49:16

by Steve Lord

[permalink] [raw]
Subject: Re: bug in 2.6.0test2

On Mon, 2003-07-28 at 06:59, Nico Schottelius wrote:
> Hello again!
>
> When trying to boot from a cryptoloop we get the attached error.
> Details:
> modules loop,cryptoloop,aes (in this order) are loaded with insmod
> (from initrd)
> then mounting proc
>
> Any suggestions / solutions ?
>
> Nico
>
> ps: please cc me and scholz AT wdt.de

Something else went wrong before you crashed:

bio too big device loop0 (2 > 0)

This means you cannot use any bio larger than zero to this device,
which is probably why ext2 said this, since it caught the error when
building the bio.

EXT2-fs: unable to read superblock

XFS didn't catch the error building the bio and submitted it, at
which point the I/O tripped the BUG. I can fix this part, but
the original problem is something I know nothing about.

Steve

--

Steve Lord voice: +1-651-683-3511
Principal Engineer, Filesystem Software email: [email protected]

2003-07-29 06:34:31

by Nico Schottelius

[permalink] [raw]
Subject: Re: bug in 2.6.0test2

Steve Lord [Mon, Jul 28, 2003 at 03:47:30PM -0500]:
> On Mon, 2003-07-28 at 06:59, Nico Schottelius wrote:
> > Hello again!
> >
> > When trying to boot from a cryptoloop we get the attached error.
> > Details:
> > modules loop,cryptoloop,aes (in this order) are loaded with insmod
> > (from initrd)
> > then mounting proc
> >
> > Any suggestions / solutions ?
> >
> > Nico
> >
> > ps: please cc me and scholz AT wdt.de
>
> Something else went wrong before you crashed:
>
> bio too big device loop0 (2 > 0)
>
> This means you cannot use any bio larger than zero to this device,

assume i didn't understand very much you told me..what is a bio?
how do I use it? and why is it too big here?

> which is probably why ext2 said this, since it caught the error when
> building the bio.

ext2? I am wondering..afai understood that, the root wasn't even
decrypted, how can the kernel try to ext2-mount it?

> EXT2-fs: unable to read superblock
>
> XFS didn't catch the error building the bio and submitted it, at
> which point the I/O tripped the BUG. I can fix this part, but
> the original problem is something I know nothing about.

..or better why does it start mounting/before decrypt?


Nico

--
echo God bless America | sed 's/.*\(A.*$\)/Why \1?/'
pgp: new id: 0x8D0E27A4 | ftp.schottelius.org/pub/familiy/nico/pgp-key.new

2003-07-29 11:43:40

by Steve Lord

[permalink] [raw]
Subject: Re: bug in 2.6.0test2

On Mon, 2003-07-28 at 17:26, Nico Schottelius wrote:
> Steve Lord [Mon, Jul 28, 2003 at 03:47:30PM -0500]:
> >
> > Something else went wrong before you crashed:
> >
> > bio too big device loop0 (2 > 0)
> >
> > This means you cannot use any bio larger than zero to this device,
>
> assume i didn't understand very much you told me..what is a bio?
> how do I use it? and why is it too big here?

It looks like the loop device may not be correctly initialized yet,
no I/O is possible to it yet.

>
> > which is probably why ext2 said this, since it caught the error when
> > building the bio.
>
> ext2? I am wondering..afai understood that, the root wasn't even
> decrypted, how can the kernel try to ext2-mount it?
>
> > EXT2-fs: unable to read superblock
> >
> > XFS didn't catch the error building the bio and submitted it, at
> > which point the I/O tripped the BUG. I can fix this part, but
> > the original problem is something I know nothing about.
>
> ..or better why does it start mounting/before decrypt?
>

I have never used a crypto loop device, so I cannot what is really
going on. Some initialization step may be missing in the loop device
which means it is not usable, the mount it happening because the
kernel was told to mount it. If you are not specifying a filesystem
type, then possibly what is happening is it is attempting to open
the device as different filesystems, these all fail, until xfs
which does not detect the underlying error on the loop device,
and issues the IO which causes the BUG.

So, we caused the crash, but you were on your way to one anyway,
eventually it would have failed to find a root device and given
up that way.

Steve


2003-07-29 15:53:43

by Wiktor Wodecki

[permalink] [raw]
Subject: 2.6.0-test2 usb stack crashed was: Re: bug in 2.6.0test2

Hello,

On Tue, Jul 29, 2003 at 06:43:17AM -0500, Steve Lord wrote:
> On Mon, 2003-07-28 at 17:26, Nico Schottelius wrote:
> > Steve Lord [Mon, Jul 28, 2003 at 03:47:30PM -0500]:
> > >
> > > Something else went wrong before you crashed:
> > >
> > > bio too big device loop0 (2 > 0)
> > >
> > > This means you cannot use any bio larger than zero to this device,
> >
> > assume i didn't understand very much you told me..what is a bio?
> > how do I use it? and why is it too big here?
>
> It looks like the loop device may not be correctly initialized yet,
> no I/O is possible to it yet.
>
> >
> > > which is probably why ext2 said this, since it caught the error when
> > > building the bio.
> >
> > ext2? I am wondering..afai understood that, the root wasn't even
> > decrypted, how can the kernel try to ext2-mount it?
> >
> > > EXT2-fs: unable to read superblock
> > >
> > > XFS didn't catch the error building the bio and submitted it, at
> > > which point the I/O tripped the BUG. I can fix this part, but
> > > the original problem is something I know nothing about.
> >
> > ..or better why does it start mounting/before decrypt?
> >
>
> I have never used a crypto loop device, so I cannot what is really
> going on. Some initialization step may be missing in the loop device
> which means it is not usable, the mount it happening because the
> kernel was told to mount it. If you are not specifying a filesystem
> type, then possibly what is happening is it is attempting to open
> the device as different filesystems, these all fail, until xfs
> which does not detect the underlying error on the loop device,
> and issues the IO which causes the BUG.

I just experienced a similar bug.
I disconnected by accident the usb hob from power and the write crashed:

Jul 29 17:00:38 kakerlak kernel: SCSI error : <1 0 0 0> return code =
0x70000
Jul 29 17:00:38 kakerlak kernel: end_request: I/O error, dev sda, sector
11218
Jul 29 17:00:38 kakerlak kernel: Buffer I/O error on device sda1,
logical block 11155
Jul 29 17:00:38 kakerlak kernel: error on device sda1, logical block
52829
Jul 29 17:00:38 kakerlak kernel: Buffer I/O error on device sda1,
logical block 52830
Jul 29 17:00:38 kakerlak kernel: Buffer I/O error on device sda1,
logical block 52831
Jul 29 17:00:38 kakerlak kernel: Buffer I/O error on device sda1,
logical block 52832
Jul 29 17:00:38 kakerlak kernel: Buffer I/O error on device sda1,
logical block 52833
...
Jul 29 17:00:39 kakerlak kernel: Buffer I/O error on device sda1,
logical block 52882
Jul 29 17:00:39 kakerlak kernel: scsi1 (0:0): rejecting I/O to offline
device
Jul 29 17:00:39 kakerlak kernel: Buffer I/O error on device sda1,
logical block 52883
...
ul 29 17:00:40 kakerlak kernel: FAT: Filesystem panic (dev sda1)
Jul 29 17:00:40 kakerlak kernel: unable to read i-node block (i_pos
7987)
Jul 29 17:00:40 kakerlak kernel: File system has been set read-only
Jul 29 17:00:40 kakerlak kernel: usb 1-2.3: USB disconnect, address 3
Jul 29 17:00:40 kakerlak kernel: usb 1-2.4: USB disconnect, address 4
Jul 29 17:00:40 kakerlak kernel: bio too big device sda1 (1 > 0)
Jul 29 17:00:40 kakerlak kernel: FAT: bread(block 52) in fat_access
failed
Jul 29 17:00:40 kakerlak kernel: bio too big device sda1 (1 > 0)

nothing wrong here, was my fault
After powering on the usb hub again:

Jul 29 17:00:41 kakerlak kernel: hub 1-0:0: debounce: port 2: delay
100ms stable 4 status 0x101
Jul 29 17:00:41 kakerlak kernel: hub 1-0:0: new USB device on port 2,
assigned address 6
Jul 29 17:00:41 kakerlak kernel: hub 1-2:0: USB hub found
Jul 29 17:00:41 kakerlak kernel: hub 1-2:0: 4 ports detected
Jul 29 17:00:41 kakerlak kernel: hub 1-2:0: debounce: port 1: delay
100ms stable 4 status 0x101
Jul 29 17:00:41 kakerlak kernel: hub 1-2:0: new USB device on port 1,
assigned address 7
Jul 29 17:00:41 kakerlak kernel: scsi2 : SCSI emulation for USB Mass
Storage devices
Jul 29 17:00:41 kakerlak kernel: Vendor: 3SYSTEM Model: USB FLASH
DISK Rev: 1.00
Jul 29 17:00:41 kakerlak kernel: Type: Direct-Access
ANSI SCSI revision: 02
Jul 29 17:00:41 kakerlak kernel: SCSI device sda: 256000 512-byte hdwr
sectors (131 MB)
Jul 29 17:00:41 kakerlak kernel: sda: Write Protect is off
Jul 29 17:00:41 kakerlak kernel: sda: Mode Sense: 00 0e 00 00
Jul 29 17:00:41 kakerlak kernel: sda: cache data unavailable
Jul 29 17:00:41 kakerlak kernel: sda: assuming drive cache: write
through
Jul 29 17:00:41 kakerlak kernel: Unable to handle kernel NULL pointer
dereference at virtual address 00000000
Jul 29 17:00:41 kakerlak kernel: printing eip:
Jul 29 17:00:41 kakerlak kernel: c026cc89
Jul 29 17:00:41 kakerlak kernel: *pde = 00000000
Jul 29 17:00:41 kakerlak kernel: Oops: 0000 [#1]
Jul 29 17:00:41 kakerlak kernel: CPU: 0
Jul 29 17:00:41 kakerlak kernel: EIP: 0060:[scsi_device_get+25/112]
Not tainted
Jul 29 17:00:41 kakerlak kernel: EFLAGS: 00010292
Jul 29 17:00:41 kakerlak kernel: EIP is at scsi_device_get+0x19/0x70
Jul 29 17:00:41 kakerlak kernel: eax: 00000000 ebx: ca35d800 ecx:
cc2fb200 edx: c933b380
Jul 29 17:00:41 kakerlak kernel: esi: 00000001 edi: d3423840 ebp:
cc2fb200 esp: d3e01aec
Jul 29 17:00:41 kakerlak kernel: ds: 007b es: 007b ss: 0068
Jul 29 17:00:42 kakerlak kernel: Process khubd (pid: 5, threadinfo=d3e00000 task=d3f8e040)
Jul 29 17:00:42 kakerlak kernel: Stack: d3e00000 ca35d800 c02908c2 ca35d800 d3c4d400 d3e00000 c0290880 d3c64140
Jul 29 17:00:42 kakerlak kernel: 00000000 c015b7bc cc2fb200 d3e01c14 d3e00000 d3ccd800 c0108260 d3c64158
Jul 29 17:00:42 kakerlak kernel: d3e00000 00000000 d3c64140 00000001 d3e01c14 d3c4d400 c015b89d d3c64140
Jul 29 17:00:42 kakerlak kernel: Call Trace:
Jul 29 17:00:42 kakerlak kernel: [sd_open+66/288] sd_open+0x42/0x120
Jul 29 17:00:42 kakerlak kernel: [sd_open+0/288] sd_open+0x0/0x120
Jul 29 17:00:42 kakerlak kernel: [do_open+908/1008] do_open+0x38c/0x3f0
Jul 29 17:00:42 kakerlak kernel: [__up_wakeup+8/40] __up_wakeup+0x8/0x28
Jul 29 17:00:42 kakerlak kernel: [blkdev_get+125/160] blkdev_get+0x7d/0xa0
Jul 29 17:00:42 kakerlak kernel: [register_disk+191/352] register_disk+0xbf/0x160
Jul 29 17:00:42 kakerlak kernel: [add_disk+78/96] add_disk+0x4e/0x60
Jul 29 17:00:42 kakerlak kernel: [exact_match+0/16] exact_match+0x0/0x10
Jul 29 17:00:42 kakerlak kernel: [exact_lock+0/32] exact_lock+0x0/0x20
Jul 29 17:00:42 kakerlak kernel: [sd_probe+456/720] sd_probe+0x1c8/0x2d0
Jul 29 17:00:42 kakerlak kernel: [bus_match+69/128] bus_match+0x45/0x80
Jul 29 17:00:42 kakerlak kernel: [device_attach+67/128] device_attach+0x43/0x80
Jul 29 17:00:42 kakerlak kernel: [bus_add_device+100/176] bus_add_device+0x64/0xb0
Jul 29 17:00:42 kakerlak kernel: [device_add+205/256] device_add+0xcd/0x100
Jul 29 17:00:42 kakerlak kernel: [scsi_device_register+213/464] scsi_device_register+0xd5/0x1d0
Jul 29 17:00:42 kakerlak kernel: [_end+389556744/1068411384] slave_configure+0x0/0x10 [usb_storage]
Jul 29 17:00:42 kakerlak kernel: [scsi_add_lun+675/928] scsi_add_lun+0x2a3/0x3a0
Jul 29 17:00:42 kakerlak kernel: [scsi_probe_and_add_lun+157/304] scsi_probe_and_add_lun+0x9d/0x130
Jul 29 17:00:42 kakerlak kernel: [scsi_scan_target+80/208] scsi_scan_target+0x50/0xd0
Jul 29 17:00:42 kakerlak kernel: [scsi_scan_host+57/96] scsi_scan_host+0x39/0x60
Jul 29 17:00:42 kakerlak kernel: [_end+389567101/1068411384] storage_probe+0x125/0x190 [usb_storage]
Jul 29 17:00:42 kakerlak kernel: [sysfs_create+113/160] sysfs_create+0x71/0xa0
Jul 29 17:00:42 kakerlak kernel: [usb_device_probe+118/160] usb_device_probe+0x76/0xa0
Jul 29 17:00:42 kakerlak kernel: [bus_match+69/128] bus_match+0x45/0x80
Jul 29 17:00:42 kakerlak kernel: [device_attach+67/128] device_attach+0x43/0x80
Jul 29 17:00:42 kakerlak kernel: [bus_add_device+100/176] bus_add_device+0x64/0xb0
Jul 29 17:00:42 kakerlak kernel: [device_add+205/256] device_add+0xcd/0x100
Jul 29 17:00:42 kakerlak kernel: [usb_new_device+980/1312] usb_new_device+0x3d4/0x520
Jul 29 17:00:42 kakerlak kernel: [hub_port_connect_change+436/800] hub_port_connect_change+0x1b4/0x320
Jul 29 17:00:42 kakerlak kernel: [hub_events+720/848] hub_events+0x2d0/0x350
Jul 29 17:00:42 kakerlak kernel: [hub_thread+45/240] hub_thread+0x2d/0xf0
Jul 29 17:00:42 kakerlak kernel: [ret_from_fork+6/20] ret_from_fork+0x6/0x14
Jul 29 17:00:42 kakerlak kernel: [default_wake_function+0/48] default_wake_function+0x0/0x30
Jul 29 17:00:42 kakerlak kernel: [hub_thread+0/240] hub_thread+0x0/0xf0
Jul 29 17:00:42 kakerlak kernel: [kernel_thread_helper+5/12] kernel_thread_helper+0x5/0xc
Jul 29 17:00:42 kakerlak kernel:
Jul 29 17:00:42 kakerlak kernel: Code: 8b 10 85 d2 74 2f b8 00 e0 ff ff 21 e0 ff 40 14 83 3a 02 74
Jul 29 17:01:47 kakerlak kernel: bio too big device sda1 (1 > 0)
Jul 29 17:01:47 kakerlak kernel: FAT: Directory bread(block 499) failed
Jul 29 17:01:47 kakerlak kernel: bio too big device sda1 (1 > 0)
Jul 29 17:01:47 kakerlak kernel: FAT: Directory bread(block 500) failed
...
Jul 29 17:01:57 kakerlak kernel: buffer layer error at fs/buffer.c:2800
Jul 29 17:01:57 kakerlak kernel: Call Trace:
Jul 29 17:01:57 kakerlak kernel: [drop_buffers+179/192] drop_buffers+0xb3/0xc0
Jul 29 17:01:57 kakerlak kernel: [try_to_free_buffers+71/208] try_to_free_buffers+0x47/0xd0
Jul 29 17:01:57 kakerlak kernel: [block_invalidatepage+174/224] block_invalidatepage+0xae/0xe0
Jul 29 17:01:57 kakerlak kernel: [do_invalidatepage+39/48] do_invalidatepage+0x27/0x30
Jul 29 17:01:57 kakerlak kernel: [truncate_complete_page+123/128] truncate_complete_page+0x7b/0x80
Jul 29 17:01:57 kakerlak kernel: [truncate_inode_pages+240/656] truncate_inode_pages+0xf0/0x290
Jul 29 17:01:57 kakerlak kernel: [invalidate_inode_buffers+17/112] invalidate_inode_buffers+0x11/0x70
Jul 29 17:01:57 kakerlak kernel: [dispose_list+151/160] dispose_list+0x97/0xa0
Jul 29 17:01:57 kakerlak kernel: [invalidate_inodes+154/192] invalidate_inodes+0x9a/0xc0
Jul 29 17:01:57 kakerlak kernel: [generic_shutdown_super+121/400] generic_shutdown_super+0x79/0x190
Jul 29 17:01:57 kakerlak kernel: [kill_block_super+29/80] kill_block_super+0x1d/0x50
Jul 29 17:01:57 kakerlak kernel: [deactivate_super+94/192] deactivate_super+0x5e/0xc0
Jul 29 17:01:57 kakerlak kernel: [sys_umount+63/144] sys_umount+0x3f/0x90
Jul 29 17:01:57 kakerlak kernel: [sys_oldumount+23/32] sys_oldumount+0x17/0x20
Jul 29 17:01:57 kakerlak kernel: [syscall_call+7/11] syscall_call+0x7/0xb
... (repeating a couple of times)

Maybe my error can help to trace that down. I cannot reproduce, tho

After that the usb stack was dead. It's not a module, so I didn't tried
to unload it.

--
Regards,

Wiktor Wodecki


Attachments:
(No filename) (10.39 kB)
(No filename) (189.00 B)
Download all attachments

2003-07-29 17:42:38

by Nico Schottelius

[permalink] [raw]
Subject: Re: 2.6.0-test2 usb stack crashed was: Re: bug in 2.6.0test2

We've some more information, but tomorrow. My co-worker
is too tired now :)

Nico

Wiktor Wodecki [Tue, Jul 29, 2003 at 05:52:51PM +0200]:
> Hello,
>
> On Tue, Jul 29, 2003 at 06:43:17AM -0500, Steve Lord wrote:
> > On Mon, 2003-07-28 at 17:26, Nico Schottelius wrote:
> > > Steve Lord [Mon, Jul 28, 2003 at 03:47:30PM -0500]:
> > > >
> > > > Something else went wrong before you crashed:
> > > >
> > > > bio too big device loop0 (2 > 0)
> > > >
> > > > This means you cannot use any bio larger than zero to this device,
> > >
> > > assume i didn't understand very much you told me..what is a bio?
> > > how do I use it? and why is it too big here?
> >
> > It looks like the loop device may not be correctly initialized yet,
> > no I/O is possible to it yet.
> >
> > >
> > > > which is probably why ext2 said this, since it caught the error when
> > > > building the bio.
> > >
> > > ext2? I am wondering..afai understood that, the root wasn't even
> > > decrypted, how can the kernel try to ext2-mount it?
> > >
> > > > EXT2-fs: unable to read superblock
> > > >
> > > > XFS didn't catch the error building the bio and submitted it, at
> > > > which point the I/O tripped the BUG. I can fix this part, but
> > > > the original problem is something I know nothing about.
> > >
> > > ..or better why does it start mounting/before decrypt?
> > >
> >
> > I have never used a crypto loop device, so I cannot what is really
> > going on. Some initialization step may be missing in the loop device
> > which means it is not usable, the mount it happening because the
> > kernel was told to mount it. If you are not specifying a filesystem
> > type, then possibly what is happening is it is attempting to open
> > the device as different filesystems, these all fail, until xfs
> > which does not detect the underlying error on the loop device,
> > and issues the IO which causes the BUG.
>
> I just experienced a similar bug.
> I disconnected by accident the usb hob from power and the write crashed:
>
> Jul 29 17:00:38 kakerlak kernel: SCSI error : <1 0 0 0> return code =
> 0x70000
> Jul 29 17:00:38 kakerlak kernel: end_request: I/O error, dev sda, sector
> 11218
> Jul 29 17:00:38 kakerlak kernel: Buffer I/O error on device sda1,
> logical block 11155
> Jul 29 17:00:38 kakerlak kernel: error on device sda1, logical block
> 52829
> Jul 29 17:00:38 kakerlak kernel: Buffer I/O error on device sda1,
> logical block 52830
> Jul 29 17:00:38 kakerlak kernel: Buffer I/O error on device sda1,
> logical block 52831
> Jul 29 17:00:38 kakerlak kernel: Buffer I/O error on device sda1,
> logical block 52832
> Jul 29 17:00:38 kakerlak kernel: Buffer I/O error on device sda1,
> logical block 52833
> ...
> Jul 29 17:00:39 kakerlak kernel: Buffer I/O error on device sda1,
> logical block 52882
> Jul 29 17:00:39 kakerlak kernel: scsi1 (0:0): rejecting I/O to offline
> device
> Jul 29 17:00:39 kakerlak kernel: Buffer I/O error on device sda1,
> logical block 52883
> ...
> ul 29 17:00:40 kakerlak kernel: FAT: Filesystem panic (dev sda1)
> Jul 29 17:00:40 kakerlak kernel: unable to read i-node block (i_pos
> 7987)
> Jul 29 17:00:40 kakerlak kernel: File system has been set read-only
> Jul 29 17:00:40 kakerlak kernel: usb 1-2.3: USB disconnect, address 3
> Jul 29 17:00:40 kakerlak kernel: usb 1-2.4: USB disconnect, address 4
> Jul 29 17:00:40 kakerlak kernel: bio too big device sda1 (1 > 0)
> Jul 29 17:00:40 kakerlak kernel: FAT: bread(block 52) in fat_access
> failed
> Jul 29 17:00:40 kakerlak kernel: bio too big device sda1 (1 > 0)
>
> nothing wrong here, was my fault
> After powering on the usb hub again:
>
> Jul 29 17:00:41 kakerlak kernel: hub 1-0:0: debounce: port 2: delay
> 100ms stable 4 status 0x101
> Jul 29 17:00:41 kakerlak kernel: hub 1-0:0: new USB device on port 2,
> assigned address 6
> Jul 29 17:00:41 kakerlak kernel: hub 1-2:0: USB hub found
> Jul 29 17:00:41 kakerlak kernel: hub 1-2:0: 4 ports detected
> Jul 29 17:00:41 kakerlak kernel: hub 1-2:0: debounce: port 1: delay
> 100ms stable 4 status 0x101
> Jul 29 17:00:41 kakerlak kernel: hub 1-2:0: new USB device on port 1,
> assigned address 7
> Jul 29 17:00:41 kakerlak kernel: scsi2 : SCSI emulation for USB Mass
> Storage devices
> Jul 29 17:00:41 kakerlak kernel: Vendor: 3SYSTEM Model: USB FLASH
> DISK Rev: 1.00
> Jul 29 17:00:41 kakerlak kernel: Type: Direct-Access
> ANSI SCSI revision: 02
> Jul 29 17:00:41 kakerlak kernel: SCSI device sda: 256000 512-byte hdwr
> sectors (131 MB)
> Jul 29 17:00:41 kakerlak kernel: sda: Write Protect is off
> Jul 29 17:00:41 kakerlak kernel: sda: Mode Sense: 00 0e 00 00
> Jul 29 17:00:41 kakerlak kernel: sda: cache data unavailable
> Jul 29 17:00:41 kakerlak kernel: sda: assuming drive cache: write
> through
> Jul 29 17:00:41 kakerlak kernel: Unable to handle kernel NULL pointer
> dereference at virtual address 00000000
> Jul 29 17:00:41 kakerlak kernel: printing eip:
> Jul 29 17:00:41 kakerlak kernel: c026cc89
> Jul 29 17:00:41 kakerlak kernel: *pde = 00000000
> Jul 29 17:00:41 kakerlak kernel: Oops: 0000 [#1]
> Jul 29 17:00:41 kakerlak kernel: CPU: 0
> Jul 29 17:00:41 kakerlak kernel: EIP: 0060:[scsi_device_get+25/112]
> Not tainted
> Jul 29 17:00:41 kakerlak kernel: EFLAGS: 00010292
> Jul 29 17:00:41 kakerlak kernel: EIP is at scsi_device_get+0x19/0x70
> Jul 29 17:00:41 kakerlak kernel: eax: 00000000 ebx: ca35d800 ecx:
> cc2fb200 edx: c933b380
> Jul 29 17:00:41 kakerlak kernel: esi: 00000001 edi: d3423840 ebp:
> cc2fb200 esp: d3e01aec
> Jul 29 17:00:41 kakerlak kernel: ds: 007b es: 007b ss: 0068
> Jul 29 17:00:42 kakerlak kernel: Process khubd (pid: 5, threadinfo=d3e00000 task=d3f8e040)
> Jul 29 17:00:42 kakerlak kernel: Stack: d3e00000 ca35d800 c02908c2 ca35d800 d3c4d400 d3e00000 c0290880 d3c64140
> Jul 29 17:00:42 kakerlak kernel: 00000000 c015b7bc cc2fb200 d3e01c14 d3e00000 d3ccd800 c0108260 d3c64158
> Jul 29 17:00:42 kakerlak kernel: d3e00000 00000000 d3c64140 00000001 d3e01c14 d3c4d400 c015b89d d3c64140
> Jul 29 17:00:42 kakerlak kernel: Call Trace:
> Jul 29 17:00:42 kakerlak kernel: [sd_open+66/288] sd_open+0x42/0x120
> Jul 29 17:00:42 kakerlak kernel: [sd_open+0/288] sd_open+0x0/0x120
> Jul 29 17:00:42 kakerlak kernel: [do_open+908/1008] do_open+0x38c/0x3f0
> Jul 29 17:00:42 kakerlak kernel: [__up_wakeup+8/40] __up_wakeup+0x8/0x28
> Jul 29 17:00:42 kakerlak kernel: [blkdev_get+125/160] blkdev_get+0x7d/0xa0
> Jul 29 17:00:42 kakerlak kernel: [register_disk+191/352] register_disk+0xbf/0x160
> Jul 29 17:00:42 kakerlak kernel: [add_disk+78/96] add_disk+0x4e/0x60
> Jul 29 17:00:42 kakerlak kernel: [exact_match+0/16] exact_match+0x0/0x10
> Jul 29 17:00:42 kakerlak kernel: [exact_lock+0/32] exact_lock+0x0/0x20
> Jul 29 17:00:42 kakerlak kernel: [sd_probe+456/720] sd_probe+0x1c8/0x2d0
> Jul 29 17:00:42 kakerlak kernel: [bus_match+69/128] bus_match+0x45/0x80
> Jul 29 17:00:42 kakerlak kernel: [device_attach+67/128] device_attach+0x43/0x80
> Jul 29 17:00:42 kakerlak kernel: [bus_add_device+100/176] bus_add_device+0x64/0xb0
> Jul 29 17:00:42 kakerlak kernel: [device_add+205/256] device_add+0xcd/0x100
> Jul 29 17:00:42 kakerlak kernel: [scsi_device_register+213/464] scsi_device_register+0xd5/0x1d0
> Jul 29 17:00:42 kakerlak kernel: [_end+389556744/1068411384] slave_configure+0x0/0x10 [usb_storage]
> Jul 29 17:00:42 kakerlak kernel: [scsi_add_lun+675/928] scsi_add_lun+0x2a3/0x3a0
> Jul 29 17:00:42 kakerlak kernel: [scsi_probe_and_add_lun+157/304] scsi_probe_and_add_lun+0x9d/0x130
> Jul 29 17:00:42 kakerlak kernel: [scsi_scan_target+80/208] scsi_scan_target+0x50/0xd0
> Jul 29 17:00:42 kakerlak kernel: [scsi_scan_host+57/96] scsi_scan_host+0x39/0x60
> Jul 29 17:00:42 kakerlak kernel: [_end+389567101/1068411384] storage_probe+0x125/0x190 [usb_storage]
> Jul 29 17:00:42 kakerlak kernel: [sysfs_create+113/160] sysfs_create+0x71/0xa0
> Jul 29 17:00:42 kakerlak kernel: [usb_device_probe+118/160] usb_device_probe+0x76/0xa0
> Jul 29 17:00:42 kakerlak kernel: [bus_match+69/128] bus_match+0x45/0x80
> Jul 29 17:00:42 kakerlak kernel: [device_attach+67/128] device_attach+0x43/0x80
> Jul 29 17:00:42 kakerlak kernel: [bus_add_device+100/176] bus_add_device+0x64/0xb0
> Jul 29 17:00:42 kakerlak kernel: [device_add+205/256] device_add+0xcd/0x100
> Jul 29 17:00:42 kakerlak kernel: [usb_new_device+980/1312] usb_new_device+0x3d4/0x520
> Jul 29 17:00:42 kakerlak kernel: [hub_port_connect_change+436/800] hub_port_connect_change+0x1b4/0x320
> Jul 29 17:00:42 kakerlak kernel: [hub_events+720/848] hub_events+0x2d0/0x350
> Jul 29 17:00:42 kakerlak kernel: [hub_thread+45/240] hub_thread+0x2d/0xf0
> Jul 29 17:00:42 kakerlak kernel: [ret_from_fork+6/20] ret_from_fork+0x6/0x14
> Jul 29 17:00:42 kakerlak kernel: [default_wake_function+0/48] default_wake_function+0x0/0x30
> Jul 29 17:00:42 kakerlak kernel: [hub_thread+0/240] hub_thread+0x0/0xf0
> Jul 29 17:00:42 kakerlak kernel: [kernel_thread_helper+5/12] kernel_thread_helper+0x5/0xc
> Jul 29 17:00:42 kakerlak kernel:
> Jul 29 17:00:42 kakerlak kernel: Code: 8b 10 85 d2 74 2f b8 00 e0 ff ff 21 e0 ff 40 14 83 3a 02 74
> Jul 29 17:01:47 kakerlak kernel: bio too big device sda1 (1 > 0)
> Jul 29 17:01:47 kakerlak kernel: FAT: Directory bread(block 499) failed
> Jul 29 17:01:47 kakerlak kernel: bio too big device sda1 (1 > 0)
> Jul 29 17:01:47 kakerlak kernel: FAT: Directory bread(block 500) failed
> ...
> Jul 29 17:01:57 kakerlak kernel: buffer layer error at fs/buffer.c:2800
> Jul 29 17:01:57 kakerlak kernel: Call Trace:
> Jul 29 17:01:57 kakerlak kernel: [drop_buffers+179/192] drop_buffers+0xb3/0xc0
> Jul 29 17:01:57 kakerlak kernel: [try_to_free_buffers+71/208] try_to_free_buffers+0x47/0xd0
> Jul 29 17:01:57 kakerlak kernel: [block_invalidatepage+174/224] block_invalidatepage+0xae/0xe0
> Jul 29 17:01:57 kakerlak kernel: [do_invalidatepage+39/48] do_invalidatepage+0x27/0x30
> Jul 29 17:01:57 kakerlak kernel: [truncate_complete_page+123/128] truncate_complete_page+0x7b/0x80
> Jul 29 17:01:57 kakerlak kernel: [truncate_inode_pages+240/656] truncate_inode_pages+0xf0/0x290
> Jul 29 17:01:57 kakerlak kernel: [invalidate_inode_buffers+17/112] invalidate_inode_buffers+0x11/0x70
> Jul 29 17:01:57 kakerlak kernel: [dispose_list+151/160] dispose_list+0x97/0xa0
> Jul 29 17:01:57 kakerlak kernel: [invalidate_inodes+154/192] invalidate_inodes+0x9a/0xc0
> Jul 29 17:01:57 kakerlak kernel: [generic_shutdown_super+121/400] generic_shutdown_super+0x79/0x190
> Jul 29 17:01:57 kakerlak kernel: [kill_block_super+29/80] kill_block_super+0x1d/0x50
> Jul 29 17:01:57 kakerlak kernel: [deactivate_super+94/192] deactivate_super+0x5e/0xc0
> Jul 29 17:01:57 kakerlak kernel: [sys_umount+63/144] sys_umount+0x3f/0x90
> Jul 29 17:01:57 kakerlak kernel: [sys_oldumount+23/32] sys_oldumount+0x17/0x20
> Jul 29 17:01:57 kakerlak kernel: [syscall_call+7/11] syscall_call+0x7/0xb
> ... (repeating a couple of times)
>
> Maybe my error can help to trace that down. I cannot reproduce, tho
>
> After that the usb stack was dead. It's not a module, so I didn't tried
> to unload it.
>
> --
> Regards,
>
> Wiktor Wodecki



--
echo God bless America | sed 's/.*\(A.*$\)/Why \1?/'
pgp: new id: 0x8D0E27A4 | ftp.schottelius.org/pub/familiy/nico/pgp-key.new


Attachments:
(No filename) (11.04 kB)
(No filename) (189.00 B)
Download all attachments

2003-07-31 11:15:52

by Nico Schottelius

[permalink] [raw]
Subject: Re: bug in 2.6.0test2

Steve Lord [Tue, Jul 29, 2003 at 06:43:17AM -0500]:
> On Mon, 2003-07-28 at 17:26, Nico Schottelius wrote:
> > Steve Lord [Mon, Jul 28, 2003 at 03:47:30PM -0500]:
> > >
> > > Something else went wrong before you crashed:
> > >
> > > bio too big device loop0 (2 > 0)
> > >
> > > This means you cannot use any bio larger than zero to this device,
> >
> > assume i didn't understand very much you told me..what is a bio?
> > how do I use it? and why is it too big here?
>
> It looks like the loop device may not be correctly initialized yet,
> no I/O is possible to it yet.

...we tried and experiement some more, here the results:
- first we had old modutils (now: module-init-tools 0.9.13pre)
- all modules are able to load now (loaded: aes,loop,cryptoloop)
- losetup -e aes /dev/hda1 /dev/loop0
--> ioctl: LOOP_SET_FD: invalid argument
- mount /dev/hda1 / -o loop,encryption=aes
--> asks for pass, but doesn't unencrypt it
--> it fails to mount the xfs filesystem below
--> "mount: you must specify fs type..."

the filesystem on hda1 is encrypted with a 128 bit key / aes.

> > > which is probably why ext2 said this, since it caught the error when
> > > building the bio.
> >
> > ext2? I am wondering..afai understood that, the root wasn't even
> > decrypted, how can the kernel try to ext2-mount it?

oh..btw, the ramdisk is ext2..

> > > EXT2-fs: unable to read superblock
> > >
> > > XFS didn't catch the error building the bio and submitted it, at
> > > which point the I/O tripped the BUG. I can fix this part, but
> > > the original problem is something I know nothing about.
> >
> > ..or better why does it start mounting/before decrypt?
> >
>
> I have never used a crypto loop device, so I cannot what is really
> going on. Some initialization step may be missing in the loop device
> which means it is not usable,

looks like the losetup is the problem...

> the mount it happening because the
> kernel was told to mount it. If you are not specifying a filesystem
> type, then possibly what is happening is it is attempting to open
> the device as different filesystems, these all fail, until xfs
> which does not detect the underlying error on the loop device,
> and issues the IO which causes the BUG.

..which you are gonna fix ? :)

> So, we caused the crash, but you were on your way to one anyway,
> eventually it would have failed to find a root device and given
> up that way.

hopefully we'll get it soon..
my co-worker has to switch between 2.4 and 2.6 daily now..

Nico

--
echo God bless America | sed 's/.*\(A.*$\)/Why \1?/'
pgp: new id: 0x8D0E27A4 | ftp.schottelius.org/pub/familiy/nico/pgp-key.new


Attachments:
(No filename) (2.62 kB)
(No filename) (189.00 B)
Download all attachments

2003-08-01 17:16:41

by Andries Brouwer

[permalink] [raw]
Subject: Re: bug in 2.6.0test2

On Thu, Jul 31, 2003 at 01:14:18PM +0200, Nico Schottelius wrote:

> ...we tried and experiment some more, here the results:
> - first we had old modutils (now: module-init-tools 0.9.13pre)
> - all modules are able to load now (loaded: aes,loop,cryptoloop)
> - losetup -e aes /dev/hda1 /dev/loop0
> --> ioctl: LOOP_SET_FD: invalid argument

You interchange the parameters. Call is
losetup [options] loop_device file