Patch Name: PHNE_17407 Patch Description: s700_800 10.20 R6.10.20 SNAplus2 3270 cumulative patch Creation Date: 00/01/21 Post Date: 00/04/26 Hardware Platforms - OS Releases: s700: 10.20 s800: 10.20 Products: SNAplus2-3270 R6.10.20 Filesets: SNAplus2-3270.SNAP2-NLS SNAplus2-3270.SNAP2-3270 3270-Common.3270 Automatic Reboot?: No Status: General Superseded Critical: Yes PHNE_17407: ABORT PHNE_15517: ABORT Path Name: /hp-ux_patches/s700_800/10.X/PHNE_17407 Symptoms: PHNE_17407: (1) JAGab84956/8606112613 A customer application linked with libmgrdce.1 library stopped working with no errors reported. (2) JAGab83645/8606110894 Application cannot reconnect to HLLAPI session after killing 3270 program. The hllapi verb connect_ps() fails with HARC_SYSTEM_ERROR, and extended error code1 = 2000 and extended error code2 = 0000. (3) JAGab76502/8606106970 Error logs SNA0447 (R4) activating session in xsnap3270 and processes not cleaned up on termination. (4) JAGab70700/8606106276 If you are using 3270 with LANG set to de_DE.roman8 on a character terminal, then the terminal goes into file transfer mode whenever the host locks the 3270 keyboard. This is a revisit of SR 165300756 - the fix for this SR should have also been applied to the MOTIF emulators, the CSV library and the style file printers. Other symptoms that have been seen include the sending of incorrect control fields to the host during file transfer - i.e. additions of P() and H() parameters to the IND$FILE command. (5) JAGab68603/8606102678 Shell constructs do not work in 3270 printer menu (for example, set printer name to 'tail -2 | lp' - this fails) (6) JAGab65516/5003455253 When a SIGTERM signal is sent to HLLAPI program it core dumps and cma_dump.log is produced. (7) JAGab65382/4701414615 File transfer in the background mode triggers a core dump. (8) JAGab65305/1653308163 Trying to use the -fasttype option on xsnap3270 SNAPLUS2 R6.0 results in the following: Warning: I18NOpenFile: Could not open file mainnlsf.uid - MrmNOT_FOUND Could not open Motif Mrm hierarchy The emulator then fails to start. This option worked on the SNAPLUS 9.04 version of xsnap3270. (9) JAGab65292/1653297457 When 'suppress host screens at startup' 3270 style file option is turned on, HLLAPI verb HA_DISPLAY_ON turns display on but does not re-enable the keyboard. PHNE_16904: (1) 5003434563 In Motif versions of 3270, attempts to move cursor with mouse do not work on formatted screens. (2) 4701405316 Updated binaries required for patching the latest R6 release of SNAplus2. PHNE_15517: (1) 5003420414 If you have an unformatted PLU screen, you cannot enter a double byte character. (2) 5003420364 Customer had an SNAPlus application which used SIGUSR1. This is not officially supported in SNAplus2 (and this is clearly documented). (3) 5003418913 If you have START_HOST_NOTIFY in operation, and issue a PAUSE verb (with IPAUSE selected), then the PAUSE verb can complete - and QUERY_HOST_UPDATE will return PS_UPDATED but COPY_PS shows no change. (4) 4701396432 If you try to start the 3270 or 3179g emulators with LANG=ja_JP.kana8, they will fail. (5) 4701396416 If you start the character emulator with LANG=ja_JP.eucJP it will come up with some Japanese and some English text. Unpredictable core dump can occur in certain screens. (6) 4701396408 Japanese Motif 3270 exits when you enter the RTM screen. (7) 4701389361 When receiving data from the host, a percentage of the buffers allocated by 3270 are lost. This can result in poor system performance, and eventually the system running short of resources. (8) 1653268854 R6 10.20 and 11.0 RJE workstation can only use a maximum of 4 LUs if 5 are assigned then the fifth will not become active. R6 10.20 and 11.0 3270 emulators (SNA only, not TN) can only use a maximum of 9 concurrent sessions. If the user attempts to activate all 10 sessions then the tenth will not activate. (9) 1653206698 When an application has issued START_HOST_NOTIFY and then issues a PAUSE verb, the PAUSE verb only polls for status changes once every second. Delays can be seen between something happening and the PAUSE completing. PHNE_14977: (1) 5003399337 Pressing the DUP key causes space to be displayed, rather than '*'. DUP function does not work correctly. (2) 4701386292 hllapi and Japanese /Korean 3270 errors in R6. PHNE_14394: (1) 4701386292 hllapi and Japanese /Korean 3270 errors in R6. Defect Description: PHNE_17407: (1) JAGab84956/8606112613 A call to sigprocmask was added to the libmgrdce.1 library ( see SR4701424069 ). This fix was put in to stop signals flowing up the path manager or HLLAPI threads. This was to ensure that signals would only be processed by the user's application not by SNAplus2 libraries. However, the behaviour of sigprocmask under DCE threads is different to that under kernel threads. With kernel threads the call blocks only signals on the particular thread. Under DCE threads, the call blocks signals for the entire process resulting in the customer's signal catcher never being called. Resolution: Modify the previous fix to take into account situations where we are using DCE threads. On 10.20 this is straight forward as we know at compile time whether a library is to be used with DCE threads or not. On 11.0 use the _CMATHREADS macro to make a run-time decision on whether we are using DCE threads or not. If using DCE, don't do any signal blocking, otherwise block signals as in the previous fix. (2) JAGab83645/8606110894 Shared memory not correctly detached from library following unload/load of 3270 program. Resolution: Correctly detach shared memory from library and then connect to fresh shared memory. (3) JAGab76502/8606106970 Error in application of a previous fix, 1653208215. In a slow environment such as with Motif emulator it is possible that the code does not retry getting the semaphore that locks keyboard access between the emulator and UI. Resolution: Corrected code to ensure a retry is always attempted when getting the semaphore . (4) JAGab70700/8606106276 A problem in the ASCII to EBCDIC translation tables used for German meant that the symbol ')' which we write to the screen when the host locks the 3270 keyboard was not being translated correctly to ASCII. The incorrect translation meant that we output a control code instead of ')', and this caused the terminal to switch into the file transfer state! When using German ISO88591 the problem was not as serious, but the bug still existed - the '()' symbol is displayed as '(-' instead. Resolution: Correct the EBCDIC to ASCII translation code for German codepage 273. (5) JAGab68603/8606102678 Caused by incorrect parsing of the string which means that we call 'exec' with the entire string, rather than invoking a shell to parse the string. Resolution: Invoke a shell to parse the command string and run the command - rather than executing the program directly. (6) JAGab65516/5003455253 The SIGTERM signalling problem is caused by an interaction with the DCE threaded library which the HLLAPI library is linked with. We need to provide a single-threaded R6 version of the HLLAPI library for HP-UX 10.20. Resolution: Currently we provide the following objects: HP-UX 10.20 ----------- libhapi.0 R5 compatible, single threaded libhapi.1 (libhapi.sl link) R6 multi-threaded (DCE threads) HP-UX 11.0 ---------- libhapi.0 R5 compatible, single threaded libhapi.1 R6 10.20 compatible (DCEthreads) libhapi.2 (libhapi.sl link) R6 multi-mode pa20_64/libhapi.2 R6 multi-mode 64-bit. Fix is to modify the build system etc so we build the following: HP-UX 10.20 ----------- libhapi.0 R5 compatible, single threaded libhapi.1 (libhapi.sl link) R6 single threaded libhapi_r.1 (libhapi_r.sl link) R6 multi-threaded (DCE threads) HP-UX 11.0 ---------- libhapi.0 R5 compatible, single threaded libhapi.1 R6 10.20 compatible, single threaded libhapi_r.1 (libhapi_r.sl link) R6 10.20 compatible (DCE threads) libhapi.2 (libhapi.sl link) R6 multi-mode pa20_64/libhapi.2 R6 multi-mode 64-bit. (7) JAGab65382/4701414615 In the NLS version of all SNAplus 3270 emulators we attempt to free off two blocks of memory during character translation. However, it is possible to reach these free() calls in error cases where either or both these memory blocks has not been successfully allocated, causing a situation where a core dump can occur. Resolution: Solution is a code change to initialise the pointers to NULL and check whether they still hold this value before attempting to free them. (8) JAGab65305/1653308163 In Release 4 and previous of SNAPLUS, the F3, F5 and F6 keys acted as 'accelerator keys' to jump to 'File/Exit', 'Customise/Key Definitions' and 'Control/File Transfer' menus. Obviously this functionality was not desired once in a session to the host, where the function keys are used as PF keys. The fasttype option stopped the behaviour once in session. On R6 the accelerator functionality was removed, but there was still code in the emulator to parse the fasttype option and attempt to act on it. The missing UID file referred to is the UID file that was supposed to be used with the fasttype option. As R6 did not require this functionality, the UID file was not supplied for this release. Resolution: The fasttype option has now been retired, but for compatability the option will still be allowed as an option on the xsnap3270 command. No action will be taken when this option is set, and in particular, the loading of the alternate UID file will not be performed. (9) JAGab65292/1653297457 Cause of problem: The style file option turns off the screen by doing the equivalent of the HA_DISPLAY_OFF HLLAPI verb at start of day. However, it turns off the keyboard by doing only part of what the HA_START_KEYBOARD_INTERCEPT HLLAPI verb would do. It creates a keyboard intercept buffer, but does not assign it an owning process. (It can't do this because the HLLAPI program won't necessarily be running at the time the emulator screen is enabled.) So if a HLLAPI program wants to access the keyboard it must still issue HA_START_KEYBOARD_INTERCEPT. Resolution: This fix is is based on the assumption that the HLLAPI program should issue HA_DISPLAY_ON when it wants to turn on the keyboard and display ,that have been disabled by the 'Host screens suppressed at startup' style file option. So, the first time this is issued the emulator must enable the keyboard too -- unless another application is using the keyboard intercept buffer (ie has issued HA_START_KEYBOARD_INTERCEPT in the meantime). PHNE_16904: (1) 5003434563 In motif versions of 3270, mouse control of the cursor did not work. Code changed to ensure that the delimeters of the current field are also set up when the cursor is moved with the mouse. (2) 4701405316 Updated binaries provided for combined patching of latest R6 release ,as documented in SR text. PHNE_15517: (1) 5003420414 It is unclear from IBM's documentation whether or not this should be allowed. However, if the character is invalid according to the host application then it will be rejected. SNAplus2 or tn3270 preventing the user from entering it. (2) 5003420364 Add an environment variable 'DISABLEPAUSEFIX' which removes the fix for SR 1653206698 (this altered the way SNAplus2 uses signals) and returns the behaviour of the code to the way it worked in SNAPlus R3/R4. The environment variable must be set = 1 ie. DISABLEPAUSEFIX=1 to get this behaviour. (3) 5003418913 Code change to ensure we do not notify HLLAPI application unless the PS has actually been altered. (4) 4701396432 new startup script snap3179g added to prevent starting the 3179g emulator with LANG=ja_JP.kana8 and failing. (5) 4701396416 snap3270 startup script modified to detect if starting character emulator with LANG=ja_JP.eucJP and alter LANG to use the 'SJIS' version . (6) 4701396408 Code change made to initialize a floating variable that is used to select the UI font. This fixes a bug where Japanese Motif 3270 exits when you enter the RTM screen. (3179g and tn3270 also recompiled because they could hit the bug if the app-defaults file was deleted.) (7) 4701389361 Code change to correctly free buffers used by the 3270 program, and verify that no further leaks occur. This corrects a problem where a percentage of buffers are lost when running the 3270 emulators. (8) 1653268854 Problem was a misuse of an array index in the FMI/FMAPI glue layer which interfaces RJE and 3270 to the node. This meant that the last session control block in this glue layer could not be used. (9) 1653206698 Modify the emulator so that it signals the HLLAPI application using SIGUSR1 every time the PS or OIA is updated if the HLLAPI application has issued a start_host_notify verb on the session which was updated. Note that this means that a signal will be issued whether or not the application is actually sitting in a PAUSE verb PHNE_14977: (1) 5003399337 Code change made to resolve problem - ensure DUP function works as in R2. (2) 4701386292 Code changes to hllapi library and Japanese/Korean app_default files. PHNE_14394: (1) 4701386292 Code changes to hllapi library and Japanese/Korean app_default files. SR: 8606112613 8606110894 8606106970 8606106276 8606102678 5003455253 5003434563 5003420414 5003420364 5003418913 5003399337 4701414615 4701405316 4701396432 4701396416 4701396408 4701389361 4701386292 1653308163 1653297457 1653268854 1653206698 Patch Files: /opt/sna/lib/nls/msg/C/text3270 /opt/sna/lib/nls/msg/ja_JP.SJIS/text3270 /opt/sna/lib/nls/msg/ja_JP.eucJP/text3270 /opt/sna/samples/3270_patch.notes /opt/sna/bin/X11/snap3179g /opt/sna/bin/X11/xsnap3179g /opt/sna/bin/X11/xsnap3179gui /opt/sna/bin/X11/xsnap3270 /opt/sna/bin/X11/xsnap3270d /opt/sna/bin/X11/xsnap3270dui /opt/sna/bin/snap3270 /opt/sna/bin/snap3270d /opt/sna/bin/snap3270d.sjis /opt/sna/bin/snap3270d.sjisui /opt/sna/bin/snap3270dui /opt/sna/bin/snapprtsty /opt/sna/lib/libhapi.0 /opt/sna/lib/libhapi.1 /opt/sna/lib/libhapi_r.1 /etc/opt/sna/app-defaults/ja_JP.SJIS/Snap3179g /etc/opt/sna/app-defaults/ja_JP.SJIS/Snap3270 /etc/opt/sna/app-defaults/ja_JP.eucJP/Snap3179g /etc/opt/sna/app-defaults/ja_JP.eucJP/Snap3270 what(1) Output: /opt/sna/bin/snap3270: R6.001 SNAplus2 3270 emulation script $ (10.20/11.0) /opt/sna/bin/X11/xsnap3270: R6.001 SNAplus2 Motif 3270 emulation script $ (10.20/11.0) /opt/sna/bin/snap3270d: HP92453-02A.10.00 HP-UX SYMBOLIC DEBUGGER (END.O) $R evision: 74.03 $ ]R6.10.20.107 SNAplus2 R6 3270 Emulator program - NL S ] (PHNE_17407 : 99/10/26 17:52:20) ] /opt/sna/bin/snap3270dui: HP92453-02A.10.00 HP-UX SYMBOLIC DEBUGGER (END.O) $R evision: 74.03 $ ]R6.10.20.104 SNAplus2 R6 3270 User Interface progra m - NLS ] (PHNE_17407 : 99/10/26 18:05:32) ] /opt/sna/bin/X11/xsnap3270d: HP92453-02A.10.00 HP-UX SYMBOLIC DEBUGGER (END.O) $R evision: 74.03 $ ]R6.10.20.106 SNAplus2 R6 3270 Emulator program - Mo tif - NLS ] (PHNE_17407 : 99/10/26 18:39:17) ] /opt/sna/bin/X11/xsnap3270dui: HP92453-02A.10.00 HP-UX SYMBOLIC DEBUGGER (END.O) $R evision: 74.03 $ ]R6.10.20.104 SNAplus2 R6 3270 User Interface progra m - Motif - NLS ] (PHNE_17407 : 99/10/26 19:09:33) ] /opt/sna/bin/snap3270d.sjis: HP92453-02A.10.00 HP-UX SYMBOLIC DEBUGGER (END.O) $R evision: 74.03 $ ]R6.10.20.106 SNAplus2 R6 3270 Emulator program - NL S (Japanese SJIS) ] (PHNE_17407 : 99/10/26 18:02:07) ] /opt/sna/bin/snap3270d.sjisui: HP92453-02A.10.00 HP-UX SYMBOLIC DEBUGGER (END.O) $R evision: 74.03 $ ]R6.10.20.104 SNAplus2 R6 3270 User Interface progra m - NLS (Japanese SJIS) ] (PHNE_17407 : 99/10/26 18:08:53) ] /opt/sna/bin/X11/snap3179g: R6.001 SNAplus2 Motif 3179g emulation script $ (10.20/11.0) /opt/sna/bin/X11/xsnap3179g: HP92453-02A.10.00 HP-UX SYMBOLIC DEBUGGER (END.O) $R evision: 74.03 $ ]R6.10.20.106 SNAplus2 R6 3179G emulator - NLS ] (PHNE_17407 : 99/10/26 18:58:30) ] /opt/sna/bin/X11/xsnap3179gui: HP92453-02A.10.00 HP-UX SYMBOLIC DEBUGGER (END.O) $R evision: 74.03 $ ]R6.10.20.103 SNAplus2 R6 3179G User Inteface Progra m - NLS ] (PHNE_17407 : 99/10/26 19:04:10) ] /opt/sna/lib/nls/msg/C/text3270: None /etc/opt/sna/app-defaults/ja_JP.SJIS/Snap3270: None /etc/opt/sna/app-defaults/ja_JP.SJIS/Snap3179g: None /opt/sna/lib/nls/msg/ja_JP.SJIS/text3270: None /etc/opt/sna/app-defaults/ja_JP.eucJP/Snap3270: None /etc/opt/sna/app-defaults/ja_JP.eucJP/Snap3179g: None /opt/sna/lib/nls/msg/ja_JP.eucJP/text3270: None /opt/sna/lib/libhapi.0: ]R6.10.20.102 SNAplus2 R6 HLLAPI Verb Library -- Sin gle-threaded, R5 compatible ] (PHNE_17407 : 99/11/22 16:33:08) ] /opt/sna/lib/libhapi.1: ]R6.10.20.102 SNAplus2 R6 HLLAPI Verb Library -- Sin gle-threaded ] (PHNE_17407 : 99/11/22 16:31:18) ] /opt/sna/lib/libhapi_r.1: ]R6.10.20.104 SNAplus2 R6 HLLAPI Verb Library -- DCE multi-threaded ] (PHNE_17407 : 99/12/06 12:04:41) ] /opt/sna/bin/snapprtsty: HP92453-02A.10.00 HP-UX SYMBOLIC DEBUGGER (END.O) $R evision: 74.03 $ ]R6.10.20.101 SNAplus2 R6 3270 Style File Text Outpu t - NLS ] (PHNE_17407 : 99/08/20 15:52:02) ] /opt/sna/samples/3270_patch.notes: None cksum(1) Output: 2262612444 407 /opt/sna/bin/snap3270 2354982259 418 /opt/sna/bin/X11/xsnap3270 1538379848 642688 /opt/sna/bin/snap3270d 2864399058 380544 /opt/sna/bin/snap3270dui 2716584448 761472 /opt/sna/bin/X11/xsnap3270d 2962651097 523904 /opt/sna/bin/X11/xsnap3270dui 3985350479 642688 /opt/sna/bin/snap3270d.sjis 83295780 380544 /opt/sna/bin/snap3270d.sjisui 719879279 419 /opt/sna/bin/X11/snap3179g 96746462 1044096 /opt/sna/bin/X11/xsnap3179g 1343765430 523904 /opt/sna/bin/X11/xsnap3179gui 3902448704 82443 /opt/sna/lib/nls/msg/C/text3270 447025495 2900 /etc/opt/sna/app-defaults/ja_JP.SJIS/Snap3270 3446012101 1183 /etc/opt/sna/app-defaults/ja_JP.SJIS/ Snap3179g 3941574374 83543 /opt/sna/lib/nls/msg/ja_JP.SJIS/text3270 447025495 2900 /etc/opt/sna/app-defaults/ja_JP.eucJP/ Snap3270 3446012101 1183 /etc/opt/sna/app-defaults/ja_JP.eucJP/ Snap3179g 3825866347 81463 /opt/sna/lib/nls/msg/ja_JP.eucJP/text3270 199981906 118784 /opt/sna/lib/libhapi.0 646682167 118784 /opt/sna/lib/libhapi.1 116819899 122880 /opt/sna/lib/libhapi_r.1 825861800 102016 /opt/sna/bin/snapprtsty 2619482118 1849 /opt/sna/samples/3270_patch.notes Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHNE_14394 PHNE_14977 PHNE_15517 PHNE_16904 Equivalent Patches: None Patch Package Size: 5580 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 PHNE_17407 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHNE_17407.depot By default swinstall will archive the original software in /var/adm/sw/patch/PHNE_17407. 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 PHNE_17407.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: dd if=/tmp/PHNE_17407.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: Stop SNA daemon before installing patch (snap stop). After installing the patch start the SNA daemon (snap start). NOTE: If you are using the HLLAPI library, please read the information in the /opt/sna/samples/3270_patch.notes file after installing this patch. NOTE: This patch installs or replaces the following user configurable files: /etc/opt/sna/app-defaults/ja_JP.eucJP/Snap3270 /etc/opt/sna/app-defaults/ja_JP.eucJP/Snap3179g /etc/opt/sna/app-defaults/ja_JP.SJIS/Snap3270 /etc/opt/sna/app-defaults/ja_JP.SJIS/Snap3179g The original files (if any) will be saved as: /etc/opt/sna/app-defaults/ja_JP.eucJP/Snap3270.save /etc/opt/sna/app-defaults/ja_JP.eucJP/Snap3179g.save /etc/opt/sna/app-defaults/ja_JP.SJIS/Snap3270.save /etc/opt/sna/app-defaults/ja_JP.SJIS/Snap3179g.save