BU030609_EW01

HP Tru64 UNIX - Potential Kernel Memory Fault (KMF) while processing tape I/O

»

HP Tru64 UNIX

Tru64 UNIX

» Tru64 UNIX V5.1B-6
» Tru64 UNIX V5.1B-5
» Documentation
» Information library
» Software web index
» Software products library
» Patch database
» Services
» Developer & Solution Partner Program
» Send us your comments
» Support Statements

Evolving business value

» Tru64 UNIX to HP-UX 11i transition benefits calculator
» Alpha RetainTrust Program
» Transition

Related links

» Alpha systems
» HP-UX 11i
» Integrity servers
» Linux
» HP storage
» HP solutions
HP-UX 11i: measurably better TCO!
 Advisory Information  
 

RELEASE DATE: 26 June 2003

DESCRIPTION
The Early Release Patch (ERP) Kits delivered in this Engineering Advisory (EA) will correct the following tape I/O related issues reported on the HP Tru64 UNIX operating system:

  • Potential Kernel Memory Fault (KMF)
    A potential KMF while processing tape I/O which is the primary concern of this advisory
  • ccfg_MakeDeviceIdentWWID: Invalid deviceID: 0x... message suppression 
    Suppress ccfg messages written to /var/adm/messages which are incorrectly output with some tape devices

Under HP Tru64 UNIX, a Kernel Memory Fault (KMF) can potentially occur while processing tape I/O. There are many variations of this panic, but most will follow the characteristics listed below.

Binary Error Log entries

Often just before the panic, a tape path is reported lost as shown in the binary.errlog event stream:
 
02-MAY-22:35:56 COMPAQ SuperDLT1    2E2E ccmn_path_ping3; Path to device has been reduced
02-MAY-22:35:58 panic (cpu03) : kernel memory fault

Crash Characteristics

The routine ctape_ioctl, ctape_done, or ctape_passthru_done will be on the stack. The actual kernel memory fault (KMF) will occur later in processing after one of the three previously mentioned routines. The most common situation is having ctape_ioctl on the stack and encountering the kernel memory fault in ctape_get_io_ccb3 . As seen in these examples of stack traces, the KMF can occur in a variety of places after ctape_ioctl or the ctape io done paths. Please note that this list is not exhaustive but represents a sampling of the actual stack traces that have been reported.

> 0 stop_secondary_cpu src/kernel/arch/alpha/cpu.c : 1339

1 panic src/kernel/bsd/subr_prf.c : 1296

2 event_timeout src/kernel/arch/alpha/cpu.c : 2227

3 printf src/kernel/bsd/subr_prf.c : 981

4 panic src/kernel/bsd/subr_prf.c : 1353

5 trap src/kernel/arch/alpha/trap.c : 2273

6 _XentMM src/kernel/arch/alpha/locore.s : 2143

7 ccmn_io_ccb_bld3 src/kernel/io/cam/pdrv3_common.c : 1696

8 ctape_get_io_ccb src/kernel/io/cam/cam_tape.c : 1710

9 ctape_mode_sns src/kernel/io/cam/cam_tape.c : 11247

10 ctape_ioctl src/kernel/io/cam/cam_tape.c : 7005

11 drd_local_ioctl src/kernel/io/drd/drd_local.c : 832

12 drd_ics_ioctl_v1 (source file cannot be determined)

13 svr_drd_ics_ioctl_v1 tnc_gen/icssvr_drd_gen.c : 436

14 icssvr_daemon_from_poolsrc/kernel/tnc_common/tnc_ics/ics_svr_mgmt.c : 795
> 0 stop_secondary_cpu src/kernel/arch/alpha/cpu.c : 1339

1 panic src/kernel/bsd/subr_prf.c : 1296

2 event_timeout src/kernel/arch/alpha/cpu.c : 2227

3 printf src/kernel/bsd/subr_prf.c : 981

4 panic src/kernel/bsd/subr_prf.c : 1353

5 trap src/kernel/arch/alpha/trap.c : 2273

6 _XentMM src/kernel/arch/alpha/locore.s : 2143

7 ctape_generic_passthru src/kernel/io/cam/cam_tape.c : 14997

8 ctape_ioctl src/kernel/io/cam/cam_tape.c : 7507

9 drd_local_ioctl src/kernel/io/drd/drd_local.c : 832

10 drd_ics_ioctl_v1 (source file cannot be determined)

11 svr_drd_ics_ioctl_v1 tnc_gen/icssvr_drd_gen.c : 436

12 icssvr_daemon_from_pool src/kernel/tnc_common/tnc_ics/ics_svr_mgmt.c : 795
> 0 stop_secondary_cpu src/kernel/arch/alpha/cpu.c : 1339

1 panic src/kernel/bsd/subr_prf.c : 1296

2 event_timeout src/kernel/arch/alpha/cpu.c : 2227

3 printf src/kernel/bsd/subr_prf.c : 981

4 panic src/kernel/bsd/subr_prf.c : 1353

5 trap src/kernel/arch/alpha/trap.c : 2273

6 _XentMM src/kernel/arch/alpha/locore.s : 2143

7 ccmn_DoSpecialCmd3 src/kernel/io/cam/pdrv3_common.c : 3415

8 ctape_ioctl src/kernel/io/cam/cam_tape.c : 7518

9 hwc_iomap_ioctl src/kernel/io/common/hwc/hwc_iomap.c : 641

10 spec_ioctl src/kernel/vfs/spec_vnops.c : 2978

11 spec_open src/kernel/vfs/spec_vnops.c : 2181

12 vn_open src/kernel/vfs/vfs_vnops.c : 878

13 copen src/kernel/vfs/vfs_syscalls.c : 3579

14 syscall src/kernel/arch/alpha/sys
> 0 boot src/kernel/arch/alpha/machdep.c : 2672

1 panic src/kernel/bsd/subr_prf.c : 1401

2 trap src/kernel/arch/alpha/trap.c : 2273

3 _XentMM src/kernel/arch/alpha/locore.s : 2143

4 ccmn_get_devinfo_scsidata3 src/kernel/io/cam/pdrv3_common.c : 4016

5 ctape_ioctl src/kernel/io/cam/cam_tape.c : 6860

6 hwc_iomap_ioctl src/kernel/io/common/hwc/hwc_iomap.c : 641

7 spec_ioctl src/kernel/vfs/spec_vnops.c : 2982

8 vn_ioctl src/kernel/vfs/vfs_vnops.c : 1738

9 ioctl_base src/kernel/bsd/sys_generic.c : 744

10 syscall src/kernel/arch/alpha/syscall_trap.c : 725

11 _Xsyscall src/kernel/arch/alpha/locore.s : 1814
> 0 stop_secondary_cpu src/kernel/arch/alpha/cpu.c : 1339

1 panic src/kernel/bsd/subr_prf.c : 1296

2 event_timeout src/kernel/arch/alpha/cpu.c : 2227

3 printf src/kernel/bsd/subr_prf.c : 981

4 panic src/kernel/bsd/subr_prf.c : 1353

5 trap src/kernel/arch/alpha/trap.c : 2273

6 _XentMM src/kernel/arch/alpha/locore.s : 2143

7 enqueue_tail src/kernel/kern/queue.c : 128

8 ccmn_send_ccb3 src/kernel/io/cam/pdrv3_common.c : 2498

9 ccmn_send_ccb_wait3 src/kernel/io/cam/pdrv3_common.c : 2576

10 ctape_generic_passthru src/kernel/io/cam/cam_tape.c : 15299

11 ctape_ioctl src/kernel/io/cam/cam_tape.c : 7681

12 hwc_iomap_ioctl src/kernel/io/common/hwc/hwc_iomap.c : 641

13 spec_ioctl src/kernel/vfs/spec_vnops.c : 2978

14 vn_ioctl src/kernel/vfs/vfs_vnops.c : 1738

15 ioctl_base src/kernel/bsd/sys_generic.c : 744

16 syscall src/kernel/arch/alpha/syscall_trap.c : 725

17 _Xsyscall src/kernel/arch/alpha/locore.s : 1814
> 0 stop_secondary_cpu src/kernel/arch/alpha/cpu.c : 1339

1 panic src/kernel/bsd/subr_prf.c : 1296

2 event_timeout src/kernel/arch/alpha/cpu.c : 2227

3 printf src/kernel/bsd/subr_prf.c : 981

4 panic src/kernel/bsd/subr_prf.c : 1353

5 trap src/kernel/arch/alpha/trap.c : 2273

6 _XentMM src/kernel/arch/alpha/locore.s : 2143

7 simple_lock src/kernel/arch/alpha/lockprim.s : 709

8 ccmn_credit_mgr src/kernel/io/cam/pdrv3_common.c : 887

9 ccmn_rem_ccb3 src/kernel/io/cam/pdrv3_common.c : 2741

10 ctape_done src/kernel/io/cam/cam_tape.c : 7591

11 xpt_callback_thread src/kernel/io/cam/xpt.c : 3229
> 0 boot src/kernel/arch/alpha/machdep.c : 2672

1 panic src/kernel/bsd/subr_prf.c : 1401

2 trap src/kernel/arch/alpha/trap.c : 2273

3 _XentMM src/kernel/arch/alpha/locore.s : 2143

4 mcs_lock src/kernel/arch/alpha/lockprim.s : 2679

5 ccmn_record_eei_status3 src/kernel/io/cam/pdrv3_common.c : 4531

6 ctape_passthru_done src/kernel/io/cam/cam_tape.c : 15675

7 xpt_callback_thread src/kernel/io/cam/xpt.c : 3229
 

SCOPE
The following product versions are affected:

  • HP Tru64 UNIX 5.1B PK2 (BL22)
  • HP Tru64 UNIX 5.1B PK1 (BL01)
  • HP Tru64 UNIX 5.1A PK4 (BL21)
  • HP Tru64 UNIX 5.1A PK3 (BL03)
  • HP Tru64 UNIX 5.1 PK6 (BL20)

Notes:

  1. The ERP kits DO NOT have file intersections with any previously released ERPs for the affected versions.
  2. The ccfg_MakeDeviceIdentWWID: Invalid deviceID: 0x... message suppression code is already included in the Tru64 UNIX 5.1B PK2 (BL22) mainstream aggregate patch kit. The 5.1B PK2 (BL22) Early Release Patch (ERP) addressed in this advisory requires only the corrections for the potential Kernel Memory Fault (KMF).
 

RESOLUTION
Until the HP Tru64 UNIX corrections are available in the mainstream release patch kits, HP is releasing the following Early Release Patch Kit(s) (ERPs) publicly for use by any customer.

The Early Release Patch kits use dupatch to install and will not install over any installed Customer Specific Patches (CSPs) that have file intersections with the ERPs. Contact your Service Provider for assistance if the installation of the ERPs are blocked by any of your installed CSPs.

The fixes contained in the Early Release Patch (ERP) kits are scheduled to be available in the following mainstream patch kits:

  • HP Tru64 UNIX 5.1B PK3
  • HP Tru64 UNIX 5.1A PK5

Early Release Patches

The following ERP kits are applicable to any system running HP Tru64 UNIX and HP TruCluster Server software. The ERPs are designed for clustered and non-clustered systems. These patch kits deliver the following files:

./sys/BINARY/cam_tape.mod
./sys/BINARY/cam.mod

 

    HP Tru64 UNIX/TruCluster Server 5.1B
    PREREQUISITE:       Tru64 UNIX/TruCluster Server with PK2 (BL22) installed
    ERP Kit Name:      T64V51BB22-C0016400-19039-E-20030623.tar  
    Kit Location:          ftp://ftp1.support.compaq.com/public/unix/v5.1b/     

    HP Tru64 UNIX/TruCluster Server 5.1B
    PREREQUISITE:       Tru64 UNIX/TruCluster Server with PK1 (BL01) installed
    ERP Kit Name:      T64V51BB1-C0016500-19038-E-20030623.tar  
    Kit Location:          ftp://ftp1.support.compaq.com/public/unix/v5.1b/        

    HP Tru64 UNIX/TruCluster Server 5.1A
    PREREQUISITE:       Tru64 UNIX/TruCluster Server with PK4 (BL21) installed
    ERP Kit Name:      T64V51AB21-C0125000-19037-E-20030623.tar  
    Kit Location:          ftp://ftp1.support.compaq.com/public/unix/v5.1a/       

    HP Tru64 UNIX/TruCluster Server 5.1A
    PREREQUISITE:       Tru64 UNIX/TruCluster Server with PK3 (BL03) installed
    ERP Kit Name:      T64V51AB3-C0125100-19036-E-20030623.tar
    Kit Location:          ftp://ftp1.support.compaq.com/public/unix/v5.1a/       

    HP Tru64 UNIX/TruCluster Server 5.1
    PREREQUISITE:       Tru64 UNIX/TruCluster Server with PK6 (BL20) installed
    ERP Kit Name:      T64V51B20-C0180900-19035-E-20030623.tar  
    Kit Location:          ftp://ftp1.support.compaq.com/public/unix/v5.1/   

       
MD5 and SHA1 checksums are available in the public patch notice for  the ERP kits. Go to the following location for information on how to verify MD5 and SHA1 checksums:  http://www.support.compaq.com/patches/whats-new.shtml