Skip to contentSkip to conversation

Errors with USB Disk

DISCUSSION Markus Schaber 4 participants 5 messages Jan 30, 2004

lore
Share & tools
lore
#0 lore raw

Hi,

I'm trying to use an USB Disk (IDE Disk in external USB Case), but strange file system errors occurend and tools as dosfsck reproducably hang.

kingfisher:/home/schabi# uname -a
Linux kingfisher 2.6.0 #1 Wed Dec 24 19:16:00 CET 2003 i686 GNU/Linux
kingfisher:/home/schabi# cat /proc/version
Linux version 2.6.0 (root@kingfisher) (gcc-Version 3.3.2 (Debian)) #1
Wed Dec 24 19:16:00 CET 2003

I attached a kernel log excerpt, it seems as there's a bug in the slab allocater.

As I used 2.6.0, was there some work up to now (2.6.2rc2) in this area so I should test using this newer kernel again?

I'm willing to do some debug work and run tests if you tell me what to do, but I have very limited kernel developer knowledge.

Thanks,
Markus

Signature · 4 lines
markus schaber | dipl. informatiker
logi-track ag | rennweg 14-16 | ch 8001 zürich
phone +41-43-888 62 52 | fax +41-43-888 62 53
mailto:[email protected] | www.logi-track.com
kingfisher:/home/schabi# tail -f /var/log/messages
Jan 21 00:26:48 kingfisher kernel: SCSI error : <0 0 0 0> return code = 0x70000
Jan 21 00:26:48 kingfisher kernel: end_request: I/O error, dev sda, sector 431
Jan 21 00:27:38 kingfisher kernel: usb 1-5: USB disconnect, address 2
Jan 21 00:27:38 kingfisher kernel: hub 1-0:1.0: new USB device on port 5, assigned address 3
Jan 21 00:27:38 kingfisher kernel: scsi1 : SCSI emulation for USB Mass Storage devices
Jan 21 00:27:38 kingfisher kernel:   Vendor: ST312002  Model: 6A Rev: 0811
Jan 21 00:27:38 kingfisher kernel:   Type:   Direct-Access ANSI SCSI revision: 02
Jan 21 00:27:38 kingfisher kernel: SCSI device sda: 234441648 512-byte hdwr sectors (120034 MB)
Jan 21 00:27:38 kingfisher kernel:  sda: sda1
Jan 21 00:27:38 kingfisher kernel: Attached scsi disk sda at scsi1, channel 0, id 0, lun 0
Jan 21 00:30:43 kingfisher kernel: eth0: Media Link Off
Jan 21 00:31:23 kingfisher kernel: usb 1-5: USB disconnect, address 3
Jan 21 00:31:27 kingfisher kernel: scsi: Device offlined - not ready after error recovery: host 1 channel 0 id 0 lun 0
Jan 21 00:31:27 kingfisher kernel: SCSI error : <1 0 0 0> return code = 0x6040000
Jan 21 00:31:27 kingfisher kernel: end_request: I/O error, dev sda, sector 191
Jan 21 00:31:27 kingfisher kernel: Call Trace:
Jan 21 00:31:27 kingfisher kernel:  [kmem_cache_destroy+133/243] kmem_cache_destroy+0x85/0xf3
Jan 21 00:31:27 kingfisher kernel:  [scsi_destroy_command_freelist+89/135] scsi_destroy_command_freelist+0x59/0x87
Jan 21 00:31:27 kingfisher kernel:  [scsi_host_dev_release+50/138] scsi_host_dev_release+0x32/0x8a
Jan 21 00:31:27 kingfisher kernel:  [device_release+32/120] device_release+0x20/0x78
Jan 21 00:31:27 kingfisher kernel:  [scsi_block_when_processing_errors+126/128] scsi_block_when_processing_errors+0x7e/0x80
Jan 21 00:31:27 kingfisher kernel:  [kobject_cleanup+152/154] kobject_cleanup+0x98/0x9a
Jan 21 00:31:27 kingfisher kernel:  [acqseq_lock.5+608519974/1068914328] scsi_disk_put+0x19/0x29 [sd_mod]
Jan 21 00:31:27 kingfisher kernel:  [acqseq_lock.5+608520941/1068914328] sd_open+0xfc/0x103 [sd_mod]
Jan 21 00:31:27 kingfisher kernel:  [acqseq_lock.5+608520689/1068914328] sd_open+0x0/0x103 [sd_mod]
Jan 21 00:31:27 kingfisher kernel:  [do_open+947/1048] do_open+0x3b3/0x418
Jan 21 00:31:27 kingfisher kernel:  [bdev_test+0/20] bdev_test+0x0/0x14
Jan 21 00:31:27 kingfisher kernel:  [bdev_set+0/16] bdev_set+0x0/0x10
Jan 21 00:31:27 kingfisher kernel:  [blkdev_open+60/128] blkdev_open+0x3c/0x80
Jan 21 00:31:27 kingfisher kernel:  [dentry_open+317/510] dentry_open+0x13d/0x1fe
Jan 21 00:31:27 kingfisher kernel:  [filp_open+98/100] filp_open+0x62/0x64
Jan 21 00:31:27 kingfisher kernel:  [sys_open+91/139] sys_open+0x5b/0x8b
Jan 21 00:31:27 kingfisher kernel:  [syscall_call+7/11] syscall_call+0x7/0xb
Jan 21 00:31:27 kingfisher kernel:
Jan 21 00:31:29 kingfisher kernel: hub 1-0:1.0: new USB device on port 5, assigned address 4
Jan 21 00:31:29 kingfisher kernel: kmem_cache_create: duplicate cache scsi_cmd_cache
Jan 21 00:31:29 kingfisher kernel: ------------[ cut here ]------------
Jan 21 00:31:29 kingfisher kernel: kernel BUG at mm/slab.c:1268!
Jan 21 00:31:29 kingfisher kernel: invalid operand: 0000 [#1]
Jan 21 00:31:29 kingfisher kernel: CPU:    0
Jan 21 00:31:29 kingfisher kernel: EIP:    0060:[kmem_cache_create+940/1180] Tainted: P
Jan 21 00:31:29 kingfisher kernel: EFLAGS: 00010202
Jan 21 00:31:29 kingfisher kernel: EIP is at kmem_cache_create+0x3ac/0x49c
Jan 21 00:31:29 kingfisher kernel: eax: 00000032   ebx: dfddd750   ecx: c04812f8   edx: c03ca6f8
Jan 21 00:31:29 kingfisher kernel: esi: c038fc8f   edi: c038fc8f   ebp: dfcafb6c   esp: dfdcdd54
Jan 21 00:31:29 kingfisher kernel: ds: 007b   es: 007b   ss: 0068
Jan 21 00:31:29 kingfisher kernel: Process khubd (pid: 5, threadinfo=dfdcc000 task=dff8e080)
Jan 21 00:31:29 kingfisher kernel: Stack: c037bc00 c038fc80 00002000 dfdcdd70 dfcafba8 ffffffff ffffff80 00000080
Jan 21 00:31:29 kingfisher kernel:        c9403400 c0404a00 c940340c c0404a28 c026949a c038fc80 00000180 00000080
Jan 21 00:31:29 kingfisher kernel:        00002000 00000000 00000000 000001c4 c9403400 c94035c4 c0408400 c026a453
Jan 21 00:31:29 kingfisher kernel: Call Trace:
Jan 21 00:31:29 kingfisher kernel:  [scsi_setup_command_freelist+116/252] scsi_setup_command_freelist+0x74/0xfc
Jan 21 00:31:29 kingfisher kernel:  [scsi_host_alloc+403/660] scsi_host_alloc+0x193/0x294
Jan 21 00:31:29 kingfisher kernel:  [default_wake_function+0/18] default_wake_function+0x0/0x12
Jan 21 00:31:29 kingfisher kernel:  [usb_stor_acquire_resources+172/263] usb_stor_acquire_resources+0xac/0x107
Jan 21 00:31:29 kingfisher kernel:  [storage_probe+265/451] storage_probe+0x109/0x1c3
Jan 21 00:31:29 kingfisher kernel:  [dput+34/530] dput+0x22/0x212
Jan 21 00:31:29 kingfisher kernel:  [usb_probe_interface+115/147] usb_probe_interface+0x73/0x93
Jan 21 00:31:29 kingfisher kernel:  [bus_match+63/106] bus_match+0x3f/0x6a
Jan 21 00:31:29 kingfisher kernel:  [device_attach+65/145] device_attach+0x41/0x91
Jan 21 00:31:29 kingfisher kernel:  [bus_add_device+91/159] bus_add_device+0x5b/0x9f
Jan 21 00:31:29 kingfisher kernel:  [device_add+161/288] device_add+0xa1/0x120
Jan 21 00:31:29 kingfisher kernel:  [usb_set_configuration+463/569] usb_set_configuration+0x1cf/0x239
Jan 21 00:31:29 kingfisher kernel:  [usb_new_device+589/1024] usb_new_device+0x24d/0x400
Jan 21 00:31:29 kingfisher kernel:  [hub_port_connect_change+442/788] hub_port_connect_change+0x1ba/0x314
Jan 21 00:31:29 kingfisher kernel:  [hub_events+723/838] hub_events+0x2d3/0x346
Jan 21 00:31:29 kingfisher kernel:  [hub_thread+45/228] hub_thread+0x2d/0xe4
Jan 21 00:31:29 kingfisher kernel:  [ret_from_fork+6/20] ret_from_fork+0x6/0x14
Jan 21 00:31:29 kingfisher kernel:  [default_wake_function+0/18] default_wake_function+0x0/0x12
Jan 21 00:31:29 kingfisher kernel:  [hub_thread+0/228] hub_thread+0x0/0xe4
Jan 21 00:31:29 kingfisher kernel:  [kernel_thread_helper+5/11] kernel_thread_helper+0x5/0xb
Jan 21 00:31:29 kingfisher kernel:
Jan 21 00:31:29 kingfisher kernel: Code: 0f 0b f4 04 f2 b3 37 c0 8b 0b e9 76 ff ff ff 8b 47 34 c7 04
kingfisher:/home/schabi# uname -a
Linux kingfisher 2.6.0 #1 Wed Dec 24 19:16:00 CET 2003 i686 GNU/Linux
kingfisher:/home/schabi# cat /proc/version
Linux version 2.6.0 (root@kingfisher) (gcc-Version 3.3.2 (Debian)) #1 Wed Dec 24 19:16:00 CET 2003
#1 lore raw
Quoted 4 lines

I'm trying to use an USB Disk (IDE Disk in external USB Case), but strange file system errors occurend and tools as dosfsck reproducably hang.

Try/Read this:

http://www.mail-archive.com/[email protected]/msg
18528.html

On my System, changing max_sectors to 128 doesn't help reliably. I'm currently testing if 64/32/16/8 will work better.

Bye
Michael

#2 lore raw

Hi, Michael,

Quoted 11 lines · On Fri, 30 Jan 2004 11:44:43 GMT Michael Knigge…
Quoted 3 lines

I'm trying to use an USB Disk (IDE Disk in external USB Case), but strange file system errors occurend and tools as dosfsck reproducably hang.

Try/Read this:

http://www.mail-archive.com/[email protected]/msg
18528.html

On my System, changing max_sectors to 128 doesn't help reliably. I'm currently testing if 64/32/16/8 will work better.

Thanks a log, we'll try this on our machines.

Yours,
Markus

Signature · 4 lines
markus schaber | dipl. informatiker
logi-track ag | rennweg 14-16 | ch 8001 zürich
phone +41-43-888 62 52 | fax +41-43-888 62 53
mailto:[email protected] | www.logi-track.com
#3 lore raw
In reply to Michael Knigge

Michael, Markus, Et. Al.

We are seeing the same problem ( USB hangs ) on 2.4.24 and 2.4.25-pre7 w/ the
patches submitted by Oliver and Alan S. We're copying about 15GiB of data
between an IDE and USB drive, and see the hang occur somewhere in the first 1GiB of data transferred.

Changing max_sectors to 128/64/32/16/8 in the scsiglue.c doesn't make any difference as far as stability goes. Unfortunately, once the system locks up, it ceases responding even to the SysCtl hack.

I'm in the process of performing tests on various platforms and verbose logging usb_storage via serial console. As soon as I have some results I will be posting them to the linux-usb-devel list.

Martin

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)

iD8DBQFAGAwugZQNxll+EIcRAi5QAJwPVaycmtXpTpfRlO+1BJaQUSbEwQCgltX6 qQ1ruCegNDc+w82h9iPT+Zc=
=FTcP
-----END PGP SIGNATURE-----

#4 lore raw
In reply to Markus Schaber
Quoted 8 lines · Markus Schaber

Hi,

I'm trying to use an USB Disk (IDE Disk in external USB Case), but strange file system errors occurend and tools as dosfsck reproducably hang.

kingfisher:/home/schabi# uname -a
Linux kingfisher 2.6.0 #1 Wed Dec 24 19:16:00 CET 2003 i686 GNU/Linux

Please try 2.6.1 at the least, and if you can 2.6.2-rc2. There's been a lot of cleanups and minor fixes in the USB and scsi area in those kernels.

thanks,

greg k-h