Patch Name: PHKL_23193 Patch Description: s700_800 11.00 VxFS cumulative patch Creation Date: 01/01/31 Post Date: 01/02/05 Hardware Platforms - OS Releases: s700: 11.00 s800: 11.00 Products: N/A Filesets: JournalFS.VXFS-BASE-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP JournalFS.VXFS-BASE-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP Automatic Reboot?: Yes Status: General Release Critical: Yes PHKL_23193: PANIC PHKL_19203: HANG Category Tags: defect_repair general_release critical panic halts_system Path Name: /hp-ux_patches/s700_800/11.X/PHKL_23193 Symptoms: PHKL_23193: ( SR: 8606124225 DTS: JAGac39608 ) Data Page Fault in vx_inval_list(). The stack of the panic thread may look like: panic+0x14 report_trap_or_int_and_panic+0x80 trap+0xdb8 nokgdb+0x8 vx_inval_list+0x268 vx_vinvalbuf+0x16c vx_trunc_range+0x30 vx_inactive_now+0x3c0 vx_inactive+0x19c vn_rele+0x164 vx_iput+0x24 vx_remove+0x318 vx_hsmv_remove+0x10 vns_remove+0x9c vn_remove+0x88 unlink+0x28 ( SR: 8606174187 DTS: JAGad43433 ) Data Page Fault in vx_reassignbuf_locked(). The stack of the panic thread may look like: panic+0x14 report_trap_or_int_and_panic+0x80 trap+0xdb8 nokgdb+0x8 vx_reassignbuf_locked+0x10 vx_vnode_flush+0x204 vx_do_putpage+0xa4 vx_write_flush+0x90 vx_write_default+0x280 vx_write1+0x2d4 vx_rdwr+0x170 vn_rdwr+0x84 write_to_core+0x110 pa32_write_prp_seg+0x68 pa32_walkpregions+0x50 pa32_core+0x14c core+0x2ac psig+0x350 PHKL_19203: SR: 5003435420 DTS: JAGaa40578 System can hang in vx_inval_list() when a large file is truncated. Defect Description: PHKL_23193: ( SR: 8606124225 DTS: JAGac39608 ) System panics while accessing the fields of a buffer which is freed. This happens because the reference to the buffer from the vnode is not removed when the buffer is freed. Resolution: Clear the reference to the buffer from the vnode when the buffer is freed. ( SR: 8606174187 DTS: JAGad43433 ) While flushing the buffers associated with a vnode, some buffers not associated with the vnode may be picked up for flushing. This may lead to a system panic since such buffers may not have the necessary links to the vnode. Resolution: While flushing buffers for a vnode, make sure that only buffers associated with the vnode are flushed. PHKL_19203: SR: 5003435420 DTS: JAGaa40578 PHKL_15479 causing vx_inval_list() hang When a very large file is truncated or whenever the routine vx_inval_list() is entered and the v_cleanblkhd or v_dirtyblkhd is a very long linked list and block numbers to invalidate is way past the beginning of the list, considerable amount of time is taken to reach the buffers wanted. The loop is executed with spinlock held. When 15 ticks are used up, the loop is exited and retried from the beginning of the list. If the required block is not reached within 15 ticks, this will result in an infinite loop. Resolution: The fix involves introducing a pseudo buffer to the list when the loop has exceeded 15 ticks and yielding the cpu. The pseudo buffer is kmalloc'd, marked busy so no one touches it. On the continuation of the process, the list is searched from the place where it was left off. SR: 5003435420 8606124225 8606174187 Patch Files: JournalFS.VXFS-BASE-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP: /usr/conf/lib/libvxfs_base.a(vx_bio1.o) JournalFS.VXFS-BASE-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP: /usr/conf/lib/libvxfs_base.a(vx_bio1.o) what(1) Output: JournalFS.VXFS-BASE-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP: /usr/conf/lib/libvxfs_base.a(vx_bio1.o): vx_bio1.c $Date: 2001/01/30 07:26:45 $Revision: r11r os/11 PATCH_11.00 (PHKL_23193) JournalFS.VXFS-BASE-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP: /usr/conf/lib/libvxfs_base.a(vx_bio1.o): vx_bio1.c $Date: 2001/01/30 07:26:45 $Revision: r11r os/11 PATCH_11.00 (PHKL_23193) cksum(1) Output: JournalFS.VXFS-BASE-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP: 2757462297 8100 /usr/conf/lib/libvxfs_base.a(vx_bio1.o) JournalFS.VXFS-BASE-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP: 4055029786 12984 /usr/conf/lib/libvxfs_base.a(vx_bio1.o) Patch Conflicts: None Patch Dependencies: s700: 11.00: PHKL_18543 s800: 11.00: PHKL_18543 Hardware Dependencies: None Other Dependencies: None Supersedes: PHKL_19203 Equivalent Patches: None Patch Package Size: 60 KBytes Installation Instructions: Please review all instructions and the Hewlett-Packard SupportLine User Guide or your Hewlett-Packard support terms and conditions for precautions, scope of license, restrictions, and, limitation of liability and warranties, before installing this patch. ------------------------------------------------------------ 1. Back up your system before installing a patch. 2. Login as root. 3. Copy the patch to the /tmp directory. 4. Move to the /tmp directory and unshar the patch: cd /tmp sh PHKL_23193 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHKL_23193.depot By default swinstall will archive the original software in /var/adm/sw/save/PHKL_23193. If you do not wish to retain a copy of the original software, use the patch_save_files option: swinstall -x autoreboot=true -x patch_match_target=true \ -x patch_save_files=false -s /tmp/PHKL_23193.depot WARNING: If patch_save_files is false when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. For future reference, the contents of the PHKL_23193.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHKL_23193.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHKL_23193.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: This patch depends on base patch PHKL_18543. For successful installation please insure that PHKL_18543 is already installed, or that PHKL_18543 is included in the same depot with this patch and PHKL_18543 is selected for installation.