Kernel panic in FreeBSD-8.3 from UFS

Holm Tiffe holm at freibergnet.de
Mon Jun 25 14:04:20 UTC 2012


Kenneth D. Merry wrote:

> On Tue, Jun 05, 2012 at 17:49:05 +0530, Desai, Kashyap wrote:
> > Hi All,
> > 
> > We found some potential area of memory leak in CAM layer. 
> > CAM XPT Memory leak is due to following  function in scsi/scsi_all.c
> > 
> > int
> > scsi_command_string(struct ccb_scsiio *csio, struct sbuf *sb)                                
> > 
> > 
> > In above function, CAM layer allocate memory for ccb  device as below
> >   if ((cgd = (struct ccb_getdev*)xpt_alloc_ccb_nowait()) == NULL)
> > 
> > 
> > _But_, unfortunately we never free the allocated memory and we see memory leak of 2K every time when someone is calling 
> > Scsi_command_string from kernel mode.
> > 
> > 
> > Attached is a proposed patch for this issue.
> 
> The patch looks good, I just committed it.
> 
> Thanks!
> 
> Ken
> -- 
> Kenneth Merry
> ken at FreeBSD.ORG
> _______________________________________________
> freebsd-scsi at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-scsi
> To unsubscribe, send any mail to "freebsd-scsi-unsubscribe at freebsd.org"


It looks that this patch or something related to it broke my tape backups.
I do have two SCSI Tapes connected to my system:

# camcontrol devlist
<IBM-SSG S53D073 C61E>             at scbus0 target 0 lun 0 (pass0,da0)
<IBM-SSG S53D073 C61E>             at scbus0 target 1 lun 0 (pass1,da1)
<IBM-SSG S53D073 C61A>             at scbus0 target 2 lun 0 (pass2,da2)
<IBM-SSG S53D073 C61A>             at scbus0 target 3 lun 0 (pass3,da3)
<TANDBERG SLR5 4/8GB =09:>         at scbus1 target 5 lun 0 (pass4,sa0)
<COMPAQ DLT4000 D887>              at scbus1 target 6 lun 0 (pass5,sa1)

an with an 8.3 stable from Jun 14 both of them arent able anymore to do 
blocksizes over 8k and 8k are only working sometimes (huh?!).

# mt -f /dev/sa1 status
Mode      Density              Blocksize      bpi      Compression
Current:  0x1a:DLTapeIV(20GB)    variable       81633    IDRC
---------available modes---------
0:        0x1a:DLTapeIV(20GB)    variable       81633    IDRC
1:        0x1a:DLTapeIV(20GB)    variable       81633    IDRC
2:        0x1a:DLTapeIV(20GB)    variable       81633    IDRC
3:        0x1a:DLTapeIV(20GB)    variable       81633    IDRC
---------------------------------
Current Driver State: at rest.
---------------------------------
File Number: 0  Record Number: 0        Residual Count 0

# dd if=/dev/zero of=/dev/sa1 bs=1k count=1000
1000+0 records in
1000+0 records out
1024000 bytes transferred in 4.330778 secs (236447 bytes/sec)
# dd if=/dev/zero of=/dev/sa1 bs=2k count=1000
1000+0 records in
1000+0 records out
2048000 bytes transferred in 3.252421 secs (629685 bytes/sec)
# dd if=/dev/zero of=/dev/sa1 bs=4k count=1000
1000+0 records in
1000+0 records out
4096000 bytes transferred in 2.933208 secs (1396423 bytes/sec)
# dd if=/dev/zero of=/dev/sa1 bs=8k count=1000
1000+0 records in
1000+0 records out
8192000 bytes transferred in 3.567864 secs (2296052 bytes/sec)
# dd if=/dev/zero of=/dev/sa1 bs=16k count=1000
dd: /dev/sa1: Input/output error
1+0 records in
0+0 records out
0 bytes transferred in 0.000253 secs (0 bytes/sec)

There is no error message from the kernel related to that.

If I try to read an older backup tape (used 64k Tape Blocks for that):
# dd if=/dev/sa1 of=/dev/null bs=64k count=10
dd: /dev/sa1: Input/output error
0+0 records in
0+0 records out
0 bytes transferred in 0.000824 secs (0 bytes/sec)
# 
... I get in /var/log/messages:

Jun 25 14:56:05 unicorn kernel: (sa1:sym0:0:6:0): 65536-byte tape record
bigger than supplied buffer

Nice ehy?

I've now booted kernel.old from Mar 15 and the problems are gone on both
drives.

Please check this.

Regards,

Holm

PS: Please Cc me, I'm not on that list anymore.
-- 
      Technik Service u. Handel Tiffe, www.tsht.de, Holm Tiffe, 
     Freiberger Straße 42, 09600 Oberschöna, USt-Id: DE253710583
  www.tsht.de, info at tsht.de, Fax +49 3731 74200, Mobil: 0172 8790 741



More information about the freebsd-scsi mailing list