Patch Name: PHKL_5757 Patch Description: s700 10.00 Abort sleeping printjob panics 10.0 MP system Creation Date: 95/06/29 Post Date: 95/07/06 Hardware Platforms - OS Releases: s700: 10.00 Products: N/A Filesets: OS-Core.CORE-KRN Automatic Reboot?: Yes Status: General Release Critical: Yes PHKL_5757: PANIC Do not kill print jobs or reboot when printer is out of paper is a non-patch prevention. Path Name: /hp-ux_patches/s700/10.X/PHKL_5757 Symptoms: PHKL_5757: system panic when abort sleeping print job on 10.0 MP Defect Description: PHKL_5757: This defect only happens on an MP system. The panic() is from DEVSW() when it trys to release a semaphore (up_io_sema) after a driver (chardrv.c) exit. The driver is unaware of the existance of this semaphore. The driver was written to capture signals when it call sleep() by using the setjmp() mechanism. Sleep() releases the semaphore, and re-allocates it on wakeup -- EXCEPT when it executes a longjmp() due to receiving a signal. The real defect is in DEVSW() and sleep()/wakeup(). However, a patch was done to the driver to use the PCATCH flag when it calls sleep(). This enables sleep/wakeup to re-accquire the semaphore when it is catching a signal. SR: 5003269985 Patch Files: /usr/conf/lib/libhp-ux.a(chardrv.o) what(1) Output: /usr/conf/lib/libhp-ux.a(chardrv.o): chardrv.c $Date: 95/06/29 10:02:06 $ $Revision: 1.5.91.2 $ PATCH_10.0 (PHKL_5757) cksum(1) Output: 3457558855 3800 /usr/conf/lib/libhp-ux.a(chardrv.o) Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: None Equivalent Patches: PHKL_5758: s800: 10.00 Patch Package Size: 50 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_5757 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true -s /tmp/PHKL_5757.depot By default swinstall will archive the original software in /var/adm/sw/patch/PHKL_5757. If you do not wish to retain a copy of the original software, you can create an empty file named /var/adm/sw/patch/PATCH_NOSAVE. Warning: If this file exists when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. It is recommended that you move the PHKL_5757.text file to /var/adm/sw/patch for future reference. To put this patch on a magnetic tape and install from the tape drive, use the command: swpackage -s /tmp/PHKL_5757.depot -x target_type=tape -d /dev/rmt/0m PHKL_5757 Special Installation Instructions: None