Kernel

Tape dies when wrong block size used

Fixed in kernel 2.6.21

I usually specify a tape block size, such as mt setblk 4096. If I access the tape drive with the wrong tape block size, for instance tar -cvf /dev/tape foo, the screen fills with kernel errors. If I use the correct block size, as in tar -b 8 -cvf /dev/tape foo, it works fine. If I use the wrong block size I have to reboot to make the tape drive respond again.

I've seen this problem on three systems with identical SCSI cards and different tape drives, so that makes me think it's the AIC7XXX driver. I've tested with several kernels to try and isolate when this problem was introduced. More details below.

Interestingly, my main testing system is running software raid from the same scsi card with no problems, so this seems specific to tape drives. The other machine I've seen this on had a separate raid card, so you can't blame it on my software raid setup.

System Details

This details the system where I've done the most testing. I've seen this problem on two different boxes. Those other boxes are in use, so I can't give you details on it except to say that it had the same exact type of SCSI card attached to the tape drive.

Arch
I386
Model
Dell Poweredge 1300
Processor
Pentium III (Coppermine) 697.929 Mhz.
SCSI
Adaptec AHA-2940U/UW/D / AIC-7881U
Disks
3 QUANTUM ATLAS V 9 WLS in RAID 5 software raid attached to adaptech card above
Tape
HP C1537A attached to adaptech card above

These Kernels are OK

Failing to specify the correct block size does not kill the tape drive.

* haven't verified that this version is OK even when wrong block size used.

These Kernels are NOT OK

+ Haven't tested with correct/wrong block size

2.6.18.6

Errors from syslog

Jan 24 17:29:56 zephir kernel: ------------[ cut here ]------------
Jan 24 17:29:56 zephir kernel: kernel BUG at mm/slab.c:595!
Jan 24 17:29:56 zephir kernel: invalid opcode: 0000 [#1]
Jan 24 17:29:56 zephir kernel: SMP 
Jan 24 17:29:56 zephir kernel: Modules linked in:
Jan 24 17:29:56 zephir kernel: CPU:    0
Jan 24 17:29:56 zephir kernel: EIP:    0060:[<c014b9f1>]    Not tainted VLI
Jan 24 17:29:56 zephir kernel: EFLAGS: 00010246   (2.6.18.6 #1) 
Jan 24 17:29:56 zephir kernel: EIP is at kmem_cache_free+0x2d/0x71
Jan 24 17:29:56 zephir kernel: eax: 00000000   ebx: caa19ae0   ecx: c124d8a0   edx: c1800000
Jan 24 17:29:56 zephir kernel: esi: cfffc2e0   edi: 00000000   ebp: cff3ce94   esp: ca929e1c
Jan 24 17:29:56 zephir kernel: ds: 007b   es: 007b   ss: 0068
Jan 24 17:29:56 zephir kernel: Process tar (pid: 3166, ti=ca928000 task=cff00a90 task.ti=ca928000)
Jan 24 17:29:56 zephir kernel: Stack: caa19ae0 cfffc2e0 caa19ae0 c01532b4 c124d8a0 00000000 ffffffea 00000000 
Jan 24 17:29:56 zephir kernel:        c01532d6 caa19ae0 cfffc2e0 c02b8438 caa19ae0 ca97f6e8 00000800 00000000 
Jan 24 17:29:56 zephir kernel:        00000002 c1154800 00002000 00000000 cfaf47a4 c013f077 00000020 00000800 
Jan 24 17:29:56 zephir kernel: Call Trace:
Jan 24 17:29:56 zephir kernel:  [<c01532b4>] bio_free+0x29/0x3c
Jan 24 17:29:56 zephir kernel:  [<c01532d6>] bio_fs_destructor+0xf/0x12
Jan 24 17:29:56 zephir kernel:  [<c02b8438>] scsi_execute_async+0x158/0x338
Jan 24 17:29:56 zephir kernel:  [<c013f077>] follow_page+0x13e/0x190
Jan 24 17:29:57 zephir kernel:  [<c02f1b30>] st_do_scsi+0x1ad/0x200
Jan 24 17:29:57 zephir kernel:  [<c02f35e7>] st_sleep_done+0x0/0x38
Jan 24 17:29:57 zephir kernel:  [<c02f187c>] setup_buffering+0x195/0x29c
Jan 24 17:29:57 zephir kernel:  [<c02f5528>] st_read+0x2bc/0x761
Jan 24 17:29:57 zephir kernel:  [<c013fea7>] __handle_mm_fault+0x41d/0x757
Jan 24 17:29:57 zephir kernel:  [<c014f279>] vfs_read+0x87/0x11d
Jan 24 17:29:57 zephir kernel:  [<c014f6c6>] sys_read+0x3b/0x64
Jan 24 17:29:57 zephir kernel:  [<c01034b5>] sysenter_past_esp+0x56/0x79
Jan 24 17:29:57 zephir kernel: Code: 53 8b 7c 24 14 8b 4c 24 10 8d 97 00 00 00 40 c1 ea 0c c1 e2 05 03 15 10 56 60 c0 8b 02 f6 c4 40 74 03 8b 52 0c 8b 02 84 c0 78 08 <0f> 0b 53 02 09 df 42 c0 39 4a 18 74 08 0f 0b 6a 0d 09 df 42 c0 
Jan 24 17:29:57 zephir kernel: EIP: [<c014b9f1>] kmem_cache_free+0x2d/0x71 SS:ESP 0068:ca929e1c

2.6.18-1.2869.fc6

Errors from syslog

Jan 17 17:00:13 zephir kernel: ------------[ cut here ]------------
Jan 17 17:00:13 zephir kernel: kernel BUG at mm/slab.c:594!
Jan 17 17:00:13 zephir kernel: invalid opcode: 0000 [#1]
Jan 17 17:00:13 zephir kernel: SMP 
Jan 17 17:00:13 zephir kernel: last sysfs file: /class/net/eth0/address
Jan 17 17:00:13 zephir kernel: Modules linked in: ip_conntrack_netbios_ns ipt_REJECT xt_state ip_conntrack nfnetlink iptable_filter ip_tables ip6t_REJECT xt_tcpudp ip6table_filter ip6_tables x_tables ipv6 dm_multipath video sbs i2c_ec button battery asus_acpi ac lp floppy st i2c_piix4 pcspkr 3c59x i2c_core sg mii ide_cd cdrom parport_pc parport dm_snapshot dm_zero dm_mirror dm_mod aic7xxx scsi_transport_spi sd_mod scsi_mod raid456 xor ext3 jbd ehci_hcd ohci_hcd uhci_hcd
Jan 17 17:00:13 zephir kernel: CPU:    0
Jan 17 17:00:13 zephir kernel: EIP:    0060:[<c046b42b>]    Not tainted VLI
Jan 17 17:00:13 zephir kernel: EFLAGS: 00010246   (2.6.18-1.2869.fc6 #1) 
Jan 17 17:00:13 zephir kernel: EIP is at kmem_cache_free+0x29/0x6d
Jan 17 17:00:13 zephir kernel: eax: 00000000   ebx: cfffc160   ecx: cfd81280   edx: c1800000
Jan 17 17:00:13 zephir kernel: esi: cfff9540   edi: 00000000   ebp: cb0fd078   esp: cfcdce24
Jan 17 17:00:13 zephir kernel: ds: 007b   es: 007b   ss: 0068
Jan 17 17:00:13 zephir kernel: Process tar (pid: 2317, ti=cfcdc000 task=c85cc940 task.ti=cfcdc000)
Jan 17 17:00:13 zephir kernel: Stack: cfffc160 cfff9540 00000000 c0456273 00000000 ccaabe40 cfff9540 ccaabe40 
Jan 17 17:00:13 zephir kernel:        c0473fab 00000800 00000000 c0473cd1 d0875f80 00000800 00000000 00000006 
Jan 17 17:00:13 zephir kernel:        cfcdcf5c c878b6e8 00000800 00000000 00000002 c1103ac0 00002000 00000000 
Jan 17 17:00:13 zephir kernel: Call Trace:
Jan 17 17:00:13 zephir kernel:  [<c0456273>] mempool_free+0x66/0x6b
Jan 17 17:00:13 zephir kernel:  [<c0473fab>] bio_free+0x25/0x30
Jan 17 17:00:13 zephir kernel:  [<c0473cd1>] bio_put+0x28/0x29
Jan 17 17:00:13 zephir kernel:  [<d0875f80>] scsi_execute_async+0x157/0x33a [scsi_mod]
Jan 17 17:00:13 zephir kernel:  [<d0999c57>] st_do_scsi+0x1d1/0x221 [st]
Jan 17 17:00:13 zephir kernel:  [<d099d611>] st_read+0x2f1/0x7a8 [st]
Jan 17 17:00:13 zephir kernel:  [<c046fba8>] vfs_read+0xa6/0x157
Jan 17 17:00:13 zephir kernel:  [<c0470017>] sys_read+0x41/0x67
Jan 17 17:00:13 zephir kernel:  [<c0404013>] syscall_call+0x7/0xb
Jan 17 17:00:13 zephir kernel: DWARF2 unwinder stuck at syscall_call+0x7/0xb
Jan 17 17:00:13 zephir kernel: Leftover inexact backtrace:
Jan 17 17:00:13 zephir kernel:  =======================
Jan 17 17:00:13 zephir kernel: Code: ff ff 57 89 d7 8d 92 00 00 00 40 89 c1 c1 ea 0c c1 e2 05 03 15 90 c6 80 c0 56 53 8b 02 f6 c4 40 74 03 8b 52 0c 8b 02 84 c0 78 08 <0f> 0b 52 02 f3 90 63 c0 39 4a 18 74 08 0f 0b 99 0d f3 90 63 c0 

2.6.19.2

Errors from syslog

Jan 23 14:07:50 zephir kernel: ------------[ cut here ]------------
Jan 23 14:07:50 zephir kernel: kernel BUG at mm/slab.c:594!
Jan 23 14:07:50 zephir kernel: invalid opcode: 0000 [#1]
Jan 23 14:07:50 zephir kernel: SMP 
Jan 23 14:07:50 zephir kernel: Modules linked in:
Jan 23 14:07:50 zephir kernel: CPU:    0
Jan 23 14:07:50 zephir kernel: EIP:    0060:[<c014f9d8>]    Not tainted VLI
Jan 23 14:07:50 zephir kernel: EFLAGS: 00010246   (2.6.19.2 #3)
Jan 23 14:07:50 zephir kernel: EIP is at kmem_cache_free+0x29/0x6d
Jan 23 14:07:50 zephir kernel: eax: 00000000   ebx: cffacce0   ecx: c128c8a0   edx: c1800000
Jan 23 14:07:50 zephir kernel: esi: cfffcb80   edi: 00000000   ebp: cfb77b58   esp: ca979e24
Jan 23 14:07:50 zephir kernel: ds: 007b   es: 007b   ss: 0068
Jan 23 14:07:50 zephir kernel: Process tar (pid: 3127, ti=ca978000 task=cefab070 task.ti=ca978000)
Jan 23 14:07:50 zephir kernel: Stack: cffacce0 cfffcb80 00000000 c013abd0 00000000 ca94a4e0 cfffcb80 ca94a4e0 
Jan 23 14:07:50 zephir kernel:        c016fe02 00000800 00000000 c016fcbd c02d9068 00000800 00000000 00000006 
Jan 23 14:07:50 zephir kernel:        ca979f5c ca96c6c8 00000800 00000000 00000002 c1153520 00002000 00000000 
Jan 23 14:07:50 zephir kernel: Call Trace:
Jan 23 14:07:50 zephir kernel:  [<c013abd0>] mempool_free+0x66/0x6b
Jan 23 14:07:50 zephir kernel:  [<c016fe02>] bio_free+0x25/0x30
Jan 23 14:07:50 zephir kernel:  [<c016fcbd>] bio_put+0x28/0x29
Jan 23 14:07:50 zephir kernel:  [<c02d9068>] scsi_execute_async+0x15e/0x34f
Jan 23 14:07:50 zephir kernel:  [<c03144f8>] st_do_scsi+0x1d1/0x221
Jan 23 14:07:50 zephir kernel:  [<c03180d1>] st_read+0x2e2/0x79c
Jan 23 14:07:50 zephir kernel:  [<c0153316>] vfs_read+0x88/0x139
Jan 23 14:07:51 zephir kernel:  [<c0153782>] sys_read+0x41/0x67
Jan 23 14:07:51 zephir kernel:  [<c01035fd>] sysenter_past_esp+0x56/0x79
Jan 23 14:07:51 zephir kernel:  [<b7fb8410>] 0xb7fb8410
Jan 23 14:07:51 zephir kernel:  =======================
Jan 23 14:07:51 zephir kernel: Code: 5f c3 57 89 d7 8d 92 00 00 00 40 89 c1 c1 ea 0c c1 e2 05 03 15 00 b7 6c c0 56 53 8b 02 f6 c4 40 74 03 8b 52 0c 8b 02 84 c0 78 08 <0f> 0b 52 02 c3 16 47 c0 39 4a 18 74 08 0f 0b cd 0d c3 16 47 c0 
Jan 23 14:07:51 zephir kernel: EIP: [<c014f9d8>] kmem_cache_free+0x29/0x6d SS:ESP 0068:ca979e24

2.6.20-rc5

Errors from syslog

Kernel (last edited 2008-04-04 15:53:43 by dmartin)