2.6.0-test2 usb stack crashed was: Re: bug in 2.6.0test2

From: Wiktor Wodecki (wodecki@gmx.de)
Date: Tue Jul 29 2003 - 10:52:51 EST


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


- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Jul 31 2003 - 22:00:41 EST