Patch Name: PHNE_17704 Patch Description: s700_800 10.20 R6.10.20 TN3270 cumulative patch Creation Date: 99/04/20 Post Date: 99/07/22 Hardware Platforms - OS Releases: s700: 10.20 s800: 10.20 Products: TN3270 R6.10.20 Filesets: TN3270.TN3270 3270-Common.MANAGERS 3270-Common.3270 Automatic Reboot?: No Status: General Superseded Critical: Yes PHNE_17704: ABORT Path Name: /hp-ux_patches/s700_800/10.X/PHNE_17704 Symptoms: PHNE_17704: (1) 5003455253 When a SIGTERM signal is sent to HLLAPI program it core dumps, and cma_dump.log is produced. (2) 5003434563 In Motif versions of 3270, attempts to move cursor with mouse do not work on formatted screens. (3) 4701421081 Running a SNAPlus2 API using Java Native Interface (JNI) within a Java Virtual Machine (JVM) will hang, calling getmsg() in the path manager. The problem is seen when using CPI-C within HP JVM. The problem is that even though the path manager calls fcntl to make the stream to the router non-blocking, this does not affect getmsg() and so the path manager still hangs. (4) 4701414615 File transfer in the background mode triggers a core dump. (5) 4701405316 Updated binaries required for patching the latest R6 release of SNAplus2. (6) 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_15720: (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) 4701396408 Japanese Motif 3270 exits when you enter the RTM screen. (5) 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_14649: (1) 4701387142 tn3270 does not work if $LANG set to Japanese - you get a message saying that the file /opt/tn3270/lib/nls/msg/$LANG/mesg3270 cannot be found ($LANG can be any of the Japanese language settings). Defect Description: PHNE_17704: (1) 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. (2) 5003434563 In motif versions of 3270, mouse control of the cursor did not work. Resolution: Code changed to ensure that the delimeters of the current field are also set up when the cursor is moved with the mouse. (3) 4701421081 The root cause of this Java hang is believed to be a bug in the HP JVM ,however a workaround has been found by implementing a code change in the SNAPlus2 library. Note that since the workaround within SNAPlus2 requires changes to the customer's code, other customers may also hit the same issue and so we should still pursue a fix for the underlying JVM problem with the Java team. Resolution: This fix is a workaround to the problem. It forces the path manager not to rely on the stream being non-blocking. In particular, vpm_sleep() should check the wait condition after every call to vpm_rcv_from_stream(). This can be done by using the vpm_io_limit to limit the number of calls to vpm_rcv_from_stream which we make before checking the wait condition. This requires the application to call SNA_SET_IO_LIMIT(1); before it makes any call to the API libraries. (4) 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. (5) 4701405316 Updated binaries provided for combined patching of latest R6 release ,as documented in SR text. Resolution: Updated binaries for patching on SNAplus2 releases R6.10.20.100 and R6.11.00.100. (6) 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_15720: (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) 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.) (5) 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_14649: (1) 4701387142 The tn3270 product was not localised for Japanese, so code changed to not look for the localised files! Use the English versions. SR: 5003455253 5003434563 5003420414 5003420364 5003418913 4701421081 4701414615 4701405316 4701396408 4701387142 1653297457 1653206698 Patch Files: /opt/sna/include/values_c.h /opt/tn3270/samples/TN3270_patch.notes /opt/tn3270/sna_log.msg /opt/sna/lib/libhapi.0 /opt/sna/lib/libhapi.1 /opt/sna/lib/libhapi_r.1 /opt/sna/lib/libsna.1 /opt/tn3270/bin/X11/xtn3270 /opt/tn3270/bin/X11/xtn3270ui /opt/tn3270/bin/tn3270 /opt/tn3270/bin/tn3270ui what(1) Output: /opt/tn3270/bin/tn3270: HP92453-02A.10.00 HP-UX SYMBOLIC DEBUGGER (END.O) $R evision: 74.03 $ ]R6.10.20.102 SNAplus2 R6 3270 Emulator program - TN 3270 only - NLS ] (PHNE_17704 : 99/04/15 10:44:32) ] /opt/tn3270/bin/tn3270ui: HP92453-02A.10.00 HP-UX SYMBOLIC DEBUGGER (END.O) $R evision: 74.03 $ ]R6.10.20.101 SNAplus2 R6 3270 User Interface progra m - TN3270 only - NLS ] (PHNE_17704 : 99/04/15 10:49:07) ] /opt/tn3270/bin/X11/xtn3270: HP92453-02A.10.00 HP-UX SYMBOLIC DEBUGGER (END.O) $R evision: 74.03 $ ]R6.10.20.103 SNAplus2 R6 3270 Emulator program - TN 3270 only - Motif - NLS ] (PHNE_17704 : 99/04/15 12:08:01) ] /opt/tn3270/bin/X11/xtn3270ui: HP92453-02A.10.00 HP-UX SYMBOLIC DEBUGGER (END.O) $R evision: 74.03 $ ]R6.10.20.101 SNAplus2 R6 3270 User Interface progra m - TN3270 only - Motif - NLS ] (PHNE_17704 : 99/04/15 12:15:54) ] /opt/sna/lib/libhapi.0: ]R6.10.20.101 SNAplus2 R6 HLLAPI Verb Library -- Sin gle-threaded, R5 compatible ] (PHNE_17704 : 99/04/07 11:56:26) ] /opt/sna/lib/libhapi.1: ]R6.10.20.101 SNAplus2 R6 HLLAPI Verb Library -- Sin gle-threaded ] (PHNE_17704 : 99/04/06 16:29:14) ] /opt/sna/lib/libhapi_r.1: ]R6.10.20.101 SNAplus2 R6 HLLAPI Verb Library -- DCE multi-threaded ] (PHNE_17704 : 99/04/06 16:33:58) ] /opt/sna/lib/libsna.1: ]R6.10.20.102 SNAplus2 R6 Standard Path Manager and support libraries, User Space ] (PHNE_17704 : 99/03/25 16:43:01) ] /opt/sna/include/values_c.h: None /opt/tn3270/sna_log.msg: ]6.0.0-Mon_Aug_17_14:21:42_BST_1998_Message_file /opt/tn3270/samples/TN3270_patch.notes: None cksum(1) Output: 1726221072 736896 /opt/tn3270/bin/tn3270 1700426201 372352 /opt/tn3270/bin/tn3270ui 2258938017 847488 /opt/tn3270/bin/X11/xtn3270 1819009506 519808 /opt/tn3270/bin/X11/xtn3270ui 878398015 118784 /opt/sna/lib/libhapi.0 2134299289 118784 /opt/sna/lib/libhapi.1 2660815646 122880 /opt/sna/lib/libhapi_r.1 2849807124 311296 /opt/sna/lib/libsna.1 2934331960 182482 /opt/sna/include/values_c.h 1815043388 690809 /opt/tn3270/sna_log.msg 2963682441 1966 /opt/tn3270/samples/TN3270_patch.notes Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHNE_14649 PHNE_15720 Equivalent Patches: None Patch Package Size: 4010 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_17704 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHNE_17704.depot By default swinstall will archive the original software in /var/adm/sw/patch/PHNE_17704. 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_17704.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_17704.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: If you are using SNAplus2 on your system, please stop the SNA daemon before installing this patch (snap stop). After the installation has completed start the SNA daemon (snap start). NOTE: If you are using the HLLAPI library and do not have SNAplus2-3270 installed, please read the information in the /opt/tn3270/samples/TN3270_patch.notes file after installing this patch. NOTE: This TN3270 patch includes libhapi.0, libhapi.1, and libhapi_r.1 HLLAPI libraries which are also sometimes used by SNAplus2-3270 product. It also includes libsna.1 library and values_c.h file used by SNAplus2-Common product. If your system has SNAplus2 installed then this patch will not install these files to avoid any impact on the SNAplus2 operation - if you need to update these files, please install the latest SNAplus2 patches. If your system does not have SNAplus2 then no further action is required.