Patch Name: PHSS_18166 Patch Description: s700_800 11.00 CXperf patch Creation Date: 99/04/09 Post Date: 99/04/26 Hardware Platforms - OS Releases: s700: 11.00 s800: 11.00 Products: CXperfPROD 6.1 Filesets: CXPerfPROD.CXPERF,fr=6.1,fa=HP-UX_B.11.00_32/64,v=HP Automatic Reboot?: No Status: General Release Critical: No Category Tags: defect_repair general_release Path Name: /hp-ux_patches/s700_800/11.X/PHSS_18166 Symptoms: PHSS_18166: 1. Older versions of pdf's cause CXperf to core dump 2. 32 bit archived-linked pthreaded applications did not collect thread data. Possible application coredump 3. Stripped executables could cause CXperf to divide by 0. 4. Applications using shared libraries could easily run out of memory 5. The application could spin forever 6. More loops than anticipated become invisible to CXperf when +O3 used at compile time 7. Calls to _setjmp would cause the application to core dump 8. cxmerge incompatible with current pdf version Defect Description: PHSS_18166: 1. Incomplete implementation of PDF handling mechanism in presence of old PDF versions 2. pthread event handlers were not properly initialized 3. CXperf assumes that the number of symbol table entries is greater than zero - stripped executables will have zero entries. 4. CXperf runtimes assumes an average of 50 functions per shared library. 5. A lock in the CXperf runtime shutdown is never unlocked. If the CXperf shutdown function is called more than once, it could wait forever. 6. Plethora of additional uninstrumentable loops produced in programs compiled at +O3 exacerbated CXperf search mechanism, causing missed loops. 7. _setjmp calls do not follow calling convention, but CXperf expected it to, and overwrote data 8. build infrasructure problem + lack of MPI tests Resolution: 1. Generate an error message when old PDF file is detected 2. Initialized pthread event handlers correctly 3. Removed these assumptions from CXperf, and made CXperf issue a warning if it encountered stripped executables. 4. Added a user flag -avg_shlib_funcs to CXperf, by which the user can guide the CXperf runtime on #shared libraries that it can encounter. 5. Added unlocks, and code to handle multiple calls to CXperf shutdown. 6. Extend CXperf search mechanism with additional match criterion to find more apparent missing loops. 7. Rewrote CXperf setjmp handler in assembly to avoid overwriting data 8. fixed build problems SR: 0000000000 Patch Files: CXPerfPROD.CXPERF,fr=6.1,fa=HP-UX_B.11.00_32/64,v=HP: /opt/cxperf/bin/cxperf /opt/cxperf/bin/cxmerge /opt/cxperf/bin/cxoi /opt/cxperf/bin/cxoi32 /opt/cxperf/lib/cxperfmon.o /opt/cxperf/lib/cxperfmon64.o /opt/cxperf/newconfig/RelNotes/cxperf.6.1 what(1) Output: CXPerfPROD.CXPERF,fr=6.1,fa=HP-UX_B.11.00_32/64,v=HP: opt/cxperf/bin/cxperf: HP CXperf 6.1.1 Wed, 14 Apr 1999, 04:33:00 PM opt/cxperf/bin/cxmerge: HP CXmerge 6.1.1 Wed, 14 Apr 1999, 04:20:37 PM opt/cxperf/bin/cxoi: HP CXoi 6.1.1 Wed, 14 Apr 1999, 04:20:15 PM opt/cxperf/bin/cxoi32: HP CXoi 6.1.1 Wed, 14 Apr 1999, 04:19:37 PM opt/cxperf/lib/cxperfmon.o: None opt/cxperf/lib/cxperfmon64.o: None opt/cxperf/newconfig/RelNotes/cxperf.6.1: None cksum(1) Output: CXPerfPROD.CXPERF,fr=6.1,fa=HP-UX_B.11.00_32/64,v=HP: 2220198372 5713323 /opt/cxperf/bin/cxperf 2266225059 49736 /opt/cxperf/bin/cxmerge 2512852574 207039 /opt/cxperf/bin/cxoi 315651317 153338 /opt/cxperf/bin/cxoi32 26654662 240338 /opt/cxperf/lib/cxperfmon.o 2156566178 737952 /opt/cxperf/lib/cxperfmon64.o 939124059 11865 /opt/cxperf/newconfig/RelNotes/cxperf.6.1 Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: 9000/800/N4000 9000/889/K460 9000/879/K260 9000/820/D380 9000/861/D270 9000/871/D270 9000/810/D280 9000/820/D280 9000/820/D290 9000/851/D360 9000/861/D370 9000/871/D370 9000/810/D380 9000/820/D380 9000/800/D390 9000/802/K250 9000/879/K260 9000/879/K260EG 9000/800/K360 9000/898/K370 9000/898/K380 9000/869/K420 9000/804/K450 9000/889/K460 9000/889/K460EG 9000/889/K460XP 9000/899/K570 9000/899/K570 9000/899/K580 9000/899/K580 9000/893/T600 9000/893/T600 9000/800/V2000 9000/800/V2200 9000/800/V2200 9000/800/V2250 Other Dependencies: None Supersedes: None Equivalent Patches: None Patch Package Size: 6980 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_18166 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHSS_18166.depot By default swinstall will archive the original software in /var/adm/sw/save/PHSS_18166. 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_18166.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_18166.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHSS_18166.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHSS_18166.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None