Patch Name: PHSS_19887 Patch Description: s700_800 11.00 PRM C.01.06 Cumulative Patch Creation Date: 99/09/15 Post Date: 99/09/22 Hardware Platforms - OS Releases: s700: 11.00 s800: 11.00 Products: PRM C.01.06 Filesets: Proc-Resrc-Mgr.PRM-RUN,fr=C.01.06,fa=HP-UX_B.11.00_32/64,v=HP PRM-Sw-Lib.PRM-LIB,fr=C.01.06,fa=HP-UX_B.11.00_32/64,v=HP Proc-Resrc-Mgr.PRM-MAN,fr=C.01.06,fa=HP-UX_B.11.00_32/64,v=HP Automatic Reboot?: No Status: General Release Critical: No (superseded patches were critical) PHSS_18780: ABORT This patch fixes a problem which can cause prm0d to abort with SIGBUS. Category Tags: defect_repair general_release critical halts_system Path Name: /hp-ux_patches/s700_800/11.X/PHSS_19887 Symptoms: PHSS_19887: 1) Incorrect messages in prm.cat message catalog. 2) Memory manager keeps processes suspended too long. 3) Memory manager 'exempt' file installed in wrong location. PHSS_19442: 1) the memory manager daemon suspends and resumes processes with SIGSTOP and SIGCONT signals. This can cause problems for non job-control shell scripts and interactive processes. 2) application manager does not recognize shell script processes when their argv[0] is the name of the shell instead of the shell script. PHSS_18780: 1) prmrun unable to spawn interactive jobs 2) prm0d dumps core and exits with SIGBUS. 3) online release notes are missing Defect Description: PHSS_19887: 1) for some messages, the prm.cat message catalog text is different than the builtin message text. prm.cat is used for PRM message text when the LANG environment variable is set. This patch includes a new prm.cat which matches the builtin messages. 2) when there are processes that the memory manager has suppressed and the memory pressure decreases so that paging no longer occurs, the memory manager would wait 60 seconds before releasing the processes. This delay has been decreased to 15 seconds. This delay prevents the memory manager from re-activiating processes them immediately having to suppress them again when memory pressure increases. The decreased delay achieves the same result without the additional waiting. 3) The default memory manager 'exempt' file is installed in the wrong location /opt/prm/bin/exempt. The correct location is /opt/prm/exempt. This patch installs the default exempt file in /opt/prm/exempt. PHSS_19442: 1) the memory manager daemon suspends and resumes processes with SIGSTOP and SIGCONT signals. This is problematic because parents of suspended processes may take special action when they detect that their children have received SIGSTOP. For instance, non job-control shells will behave as if the child process exited and execute the next program in the pipeline. The parent shells of interactive processes, such as vi, will take control of the tty when their children receive SIGSTOP. When the child is resumed, the tty settings may not be set back to the original values. Also, the parent shell must be given the 'fg' command to give tty control back to the resumed process. With this patch, the memory manager no longer uses SIGSTOP and SIGCONT to control processes. Instead, it uses the ttrace() system call to attach and detach processes. This effectively suspends and resumes processes without any of the side effects associated with sending signals. This patch also enables support for the /opt/prm/bin/exempt file in which users may list programs to be exempt from memory manager suspension. With this patch, the following processes will be exempt from suspension: - processes with locked memory (as before) - assorted prm commands (as before) - interactive shell processes (as before) - programs appearing in /opt/prm/exempt 2) The next release of HP-UX 11.X will introduce new behavior when shell scripts are exec'd. Under 11.00, the shell script process argv[0] is the name of the script and the rest of the argv[] elements are the arguments to the script. Under the next version of 11.x, argv[0] will be the name of the shell executing the script and argv[1] will be the name of the script. Previous versions of the application manager can only recognize shell script processes if their argv[0] is the script name. The application manager included in this patch recognizes shell scripts if either their argv[0] or argv[1] is the script name. Thus supporting the old and new shell script exec behavior. PHSS_18780: 1) prmrun spawns the desired job and exits, rather than becoming the job itself. This behavior prevents running interactive commands, such as shells, via prmrun. This patch provides a new prmrun which does run the desired job in the background. The workaround is to use prmmove to assign an interactive process to a PRM group. 2) prm0d (memory daemon) will dump core and exit with SIGBUS when there is paging activity on the system and prm0d is suppressing processes. 3) The PRM C.01.06 release notes are not online. This patch installs PostScript and plain text versions of the release notes in /opt/prm/newconfig/RelNotes. SR: 0000000000 Patch Files: Proc-Resrc-Mgr.PRM-RUN,fr=C.01.06,fa=HP-UX_B.11.00_32/64, v=HP: /opt/prm/bin/prmrun /opt/prm/bin/prm0d /opt/prm/bin/prm1d /opt/prm/exempt PRM-Sw-Lib.PRM-LIB,fr=C.01.06,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/nls/msg/C/prm.cat Proc-Resrc-Mgr.PRM-MAN,fr=C.01.06,fa=HP-UX_B.11.00_32/64, v=HP: /opt/prm/man/man1.Z/prm.1 /opt/prm/newconfig/RelNotes/PRM.C.01.06.ps /opt/prm/newconfig/RelNotes/PRM.C.01.06.txt what(1) Output: Proc-Resrc-Mgr.PRM-RUN,fr=C.01.06,fa=HP-UX_B.11.00_32/64, v=HP: /opt/prm/bin/prm0d: A.01.06 PHSS_19887 HP PRM 09/13/99 prm0d Proc-Resrc-Mgr.PRM-RUN,fr=C.01.06,fa=HP-UX_B.11.00_32/64, v=HP: /opt/prm/bin/prm1d: A.01.06 PHSS_19887 HP PRM 09/13/99 prm1d Proc-Resrc-Mgr.PRM-RUN,fr=C.01.06,fa=HP-UX_B.11.00_32/64, v=HP: /opt/prm/bin/prmrun: A.01.06 PHSS_19887 HP PRM 09/13/99 prmrun Proc-Resrc-Mgr.PRM-RUN,fr=C.01.06,fa=HP-UX_B.11.00_32/64, v=HP: /opt/prm/exempt: None PRM-Sw-Lib.PRM-LIB,fr=C.01.06,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/nls/msg/C/prm.cat: None Proc-Resrc-Mgr.PRM-MAN,fr=C.01.06,fa=HP-UX_B.11.00_32/64, v=HP: /opt/prm/man/man1.Z/prm.1: None Proc-Resrc-Mgr.PRM-MAN,fr=C.01.06,fa=HP-UX_B.11.00_32/64, v=HP: /opt/prm/newconfig/RelNotes/PRM.C.01.06.ps: None Proc-Resrc-Mgr.PRM-MAN,fr=C.01.06,fa=HP-UX_B.11.00_32/64, v=HP: /opt/prm/newconfig/RelNotes/PRM.C.01.06.txt: None cksum(1) Output: Proc-Resrc-Mgr.PRM-RUN,fr=C.01.06,fa=HP-UX_B.11.00_32/64, v=HP: 1553347671 28672 /opt/prm/bin/prm0d 2927418459 40960 /opt/prm/bin/prm1d 58300318 36864 /opt/prm/bin/prmrun 761692648 76 /opt/prm/exempt PRM-Sw-Lib.PRM-LIB,fr=C.01.06,fa=HP-UX_B.11.00_32/64,v=HP: 2073687300 29671 /usr/lib/nls/msg/C/prm.cat Proc-Resrc-Mgr.PRM-MAN,fr=C.01.06,fa=HP-UX_B.11.00_32/64, v=HP: 3231936150 3869 /opt/prm/man/man1.Z/prm.1 3318783527 101234 /opt/prm/newconfig/RelNotes/PRM.C.01.06.ps 2422239337 11497 /opt/prm/newconfig/RelNotes/PRM.C.01.06.txt Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHSS_18780 PHSS_19442 Equivalent Patches: PHSS_19888: s700: 10.20 s800: 10.20 Patch Package Size: 280 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 PHSS_19887 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHSS_19887.depot By default swinstall will archive the original software in /var/adm/sw/save/PHSS_19887. 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/PHSS_19887.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 PHSS_19887.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHSS_19887.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHSS_19887.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: SUBSYSTEM_SHUT PRM must be reset (disabled) before installing this patch. After the patch is installed, PRM may be enabled. # prmconfig -r [install patch] # prmconfig -i | -k -f [config file] # prmconfig -e