Patch Name: PHNE_29032 Patch Description: s700_800 11.00 FTAM9000 E.06.01 patch Creation Date: 03/06/15 Post Date: 03/07/07 Hardware Platforms - OS Releases: s700: 11.00 s800: 11.00 Products: FTAM9000 E.06.01 Filesets: FTAM9000.FTAM,fr=E.06.01,fa=HP-UX_B.11.00_32/64,v=HP FTAM9000.FTAM_64,fr=E.06.01,fa=HP-UX_B.11.00_32/64,v=HP Automatic Reboot?: No Status: General Release Critical: Yes PHNE_29032: MEMORY_LEAK ABORT HANG Category Tags: defect_repair general_release critical halts_system memory_leak Path Name: /hp-ux_patches/s700_800/11.X/PHNE_29032 Symptoms: PHNE_29032: 1.JAGae64015 (SR8606300546) FTAM performance is low. 2.JAGae37830 (SR8606273742) FTAM resp leaks memory when NetTL is enabled. 3.JAGae16872 (SR8606250497) FTAM resp dies due to AP_AGAIN error returned by ap_set_env() API. 4.JAGad95212 (SR8606226141) FTAM Applications fail due to total number of opened file reached the maximum limit. 5.JAGad57081 (SR8606187872) Incorrect NetTL message logged when FTAM Service provider is unavailable. 6.JAGad54632 (SR8606185439) ft_fmove() dumps core when API trace is enabled. 7.JAGad54642 (SR8606185449) ft_frattributes() dumps core when API trace is enabled. 8.JAGad54485 (SR8606185283) ft_frattributes_aet() dumps core when API trace is enabled. 9.JAGad54054 (SR8606184848) ft_fmove_aet() dumps core when API trace is enabled. 10.JAGad37961 (SR8606168683) "fcp login@remote:/file -X login@machine:/file -X" command gives the following error "Abnormal termination. Message from machine: Could not decode PDU (log_instance:XXXX, FTAM error_id 1006 = "Unsupported parameter types")" 11.JAGad95235 (SR8606226164) FTAM Applications using only synchronous low level APIs fail with PROTOCOL ERROR. 12.JAGad46194 (SR8606176959) FTAM hangs when sending ACSE AARQ-PDU which has optional field calling-AE-invocation-identifier. 13.JAGad49767 (SR8606180546) FTAM application returns without any error in DATA transfer regime. Defect Description: PHNE_29032: 1.JAGae64015 (SR8606300546) FTAM resp performance is low due to the sleep(1) in AP_recv_prim() when ap_rcv() returns AP_AGAIN. Resolution: Now whenever ap_rcv() fails with AP_AGAIN error, AP_recv_prim() poll on the file descriptor using ap_poll() for a few milliseconds, which is configurable using "/etc/opt/ftam/conf/ftam_conf". AP_POLL_TIME - Amount of time(ms) to poll. AP_POLL_RTRYC - Number of times to poll. If ap_poll() doesn't succeed with data availability, AP_recv_prim() goes for sleep(). The sleep time is also configurable using "/etc/opt/ftam/conf/ftam_conf" AP_RCV_USLP - Upper mark value of seconds for sleep. AP_RCV_LSP - Lower mark value of seconds for sleep. The configurable parameters mentioned above should only be modified by HP representative. 2.JAGae37830 (SR8606273742) When NetTL is enabled the buffer allocated to hold the PDU is not freed. Resolution: The code has been modified to free the buffer. 3.JAGae16872 (SR8606250497) When ap_set_env() returns AP_AGAIN error, FTAM code has to retry the ap_set_env() again. The code is killing ftam_resp daemon if FTAM resp gets AP_AGAIN error from ap_set_env(). Ideally FTAM code should have retried the same ap_set_env(). Resolution: The code has been modified to retry ap_set_env(). 4.JAGad95212 (SR8606226141) vi_conc_print_debug() function opens a file in FTAM. The opened file is not properly closed by vi_conc_print_debug(). Resolution: The code has been modified to close the opened file. 5.JAGad57081 (SR8606187872) When FTAM service provider is not available, the NetTL message logged by FTAM is: "(MSGE_NO_ADDRS) Unable to create an IPC call socket address because the call socket directory '/usr/spool/sockets/osi' does not exist. Create the call socket directory with the following permissions. /usr bin bin 555 /usr/spool bin bin 555 /usr/spool/sockets bin bin 555 /usr/spool/sockets/osi bin bin 777" The paths described in this error message are not relevant to HP-UX greater than 9.x. The correct paths are: /var/opt bin bin 555 /var/opt/ftam bin bin 555 /var/opt/ftam/spool bin bin 555 /var/opt/ftam/spool/sockets bin bin 777 Resolution: The error message has been changed to "(MSGE_NO_ADDRS) Unable to create an IPC call socket address because the call socket directory '/var/opt/ftam/spool/sockets' does not exist. Create the call socket directory with the following permissions. /var/opt/ bin bin 555 /var/opt/ftam bin bin 555 /var/opt/ftam/spool bin bin 555 /var/opt/ftam/spool/sockets bin bin 777" 6.JAGad54632 (SR8606185439) If API trace is enabled, then the parameter passed to print_file_passwords() by ft_fmove() API is not correct. The print_file_passwords() dumps core when it tries to access the incorrect parameter passed to it. Resolution: The code has been changed to pass the correct parameter to print_file_passwords(). 7.JAGad54642 (SR8606185449) If API trace is enabled, ft_frattributes() API uses fprintf() to print Octet string. Ideally it should have used print_single_file_pw() function to print the Octet string. Resolution: The code has been changed to use print_single_file_pw() to print the string. 8.JAGad54485 (SR8606185283) If API trace is enabled, ft_frattributes_aet() API uses fprintf() to print Octet string. Ideally it should have used print_single_file_pw() function to print the Octet string. Resolution: The code has been changed to use print_single_file_pw() to print the string. 9.JAGad54054 (SR8606184848) If API trace is enabled, then the parameter passed to print_file_passwords() by ft_fmove_aet() API is not correct. The print_file_passwords() dumps core when it tries to access the incorrect parameter passed to it. Resolution: The code has been changed to pass the correct parameter to print_file_passwords(). 10.JAGad37961 (SR8606168683) FTAM INIT has a global variable containing the document types requested on a connect request. When FTAM INIT gets connect response, this variable is used to compare with the connect response's document types. The variable is not filled; if it is a second connect request. If the response has more document type than requested, the code which checks for document type compatibility gives error. Resolution: The code has been modified to maintain a list of connection-id/document type masks. When a connect request/response is made, a new node is added/removed to the list. 11.JAGad95235 (SR8606226164) While processing the close request, FTAM responder calls f_close_ind twice. The second invocation of f_close_ind() puts the FTAM Responder in inconsistent state and generates the protocol error. Resolution: The code has been modified to remove the second invocation of f_close_ind(). 12.JAGad46194 (SR8606176959) Some implementaions of FTAM does not support calling-AE-invocation-identifier field since it is optional. Because of this interoperable issue, FTAM hangs. Resolution: A new flag CALLING_AE_INV_ID_FLAG has been added in ftam_conf file. If the flag is set/unset, then FTAM would enable/disable calling-AE-invocation-identifier field in ACSE AARQ-PDU. 13.JAGad49767 (SR8606180546) If a FTAM application is in DATA transfer regime and OTS is stopped on remote system, then FTAM returns without any error. Resolution : The code has been modified to return error. Enhancement: No SR: 8606300546 8606273742 8606250497 8606226141 8606187872 8606185439 8606185449 8606185283 8606184848 8606168683 8606226164 8606176959 8606180546 Patch Files: FTAM9000.FTAM,fr=E.06.01,fa=HP-UX_B.11.00_32/64,v=HP: /opt/ftam/lbin/ftam_init /opt/ftam/lbin/ftam_resp /etc/opt/ftam/conf/ftam_conf /opt/ftam/lib/nls/C/fmt124f.cat /opt/ftam/shlib/libfmt124f.sl /opt/ftam/lib/libmapftam.a /opt/ftam/shlib/libmapftam.3 /opt/ftam/bin/ftam /opt/ftam/README.FTAM.E.06.01 FTAM9000.FTAM_64,fr=E.06.01,fa=HP-UX_B.11.00_32/64,v=HP: /opt/ftam/shlib/pa20_64/libmapftam.0 /opt/ftam/lib/pa20_64/libmapftam.a what(1) Output: FTAM9000.FTAM,fr=E.06.01,fa=HP-UX_B.11.00_32/64,v=HP: /opt/ftam/lbin/ftam_init: FTAM: PHNE_29032 03/06/17 s800 ftam_init /opt/ftam/lbin/ftam_resp: FTAM: PHNE_29032 03/06/17 s800 ftam_resp /etc/opt/ftam/conf/ftam_conf: FTAM Configuration file /opt/ftam/lib/nls/C/fmt124f.cat: MAP30: C.X5.01 $Date: 94/03/28 19:13:31 $ /opt/ftam/shlib/libfmt124f.sl: MAP30: C.X5.01 $Date: 94/03/28 19:13:31 $ /opt/ftam/lib/libmapftam.a: FTAM: PHNE_29032 03/06/17 s800 libmapftam.a /opt/ftam/shlib/libmapftam.3: FTAM: PHNE_29032 03/06/17 s800 libmapftam.sl /opt/ftam/bin/ftam: FTAM: PHNE_29032 03/06/17 s800 ftam FTAM: PHNE_29032 03/06/17 s800 libmapftam.a /opt/ftam/README.FTAM.E.06.01: None FTAM9000.FTAM_64,fr=E.06.01,fa=HP-UX_B.11.00_32/64,v=HP: /opt/ftam/shlib/pa20_64/libmapftam.0: FTAM: PHNE_29032 03/06/17 s800 libmapftam.sl /opt/ftam/lib/pa20_64/libmapftam.a: FTAM: PHNE_29032 03/06/17 s800 libmapftam.a cksum(1) Output: FTAM9000.FTAM,fr=E.06.01,fa=HP-UX_B.11.00_32/64,v=HP: 1793242209 1216512 /opt/ftam/lbin/ftam_init 1236000673 1101824 /opt/ftam/lbin/ftam_resp 2809738387 5464 /etc/opt/ftam/conf/ftam_conf 2337109310 25767 /opt/ftam/lib/nls/C/fmt124f.cat 3147527071 98304 /opt/ftam/shlib/libfmt124f.sl 4098855404 611228 /opt/ftam/lib/libmapftam.a 2304484738 786432 /opt/ftam/shlib/libmapftam.3 3929455468 696320 /opt/ftam/bin/ftam 1139273083 1257 /opt/ftam/README.FTAM.E.06.01 FTAM9000.FTAM_64,fr=E.06.01,fa=HP-UX_B.11.00_32/64,v=HP: 3831655951 504424 /opt/ftam/shlib/pa20_64/libmapftam.0 3408725050 978348 /opt/ftam/lib/pa20_64/libmapftam.a Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: None Equivalent Patches: None Patch Package Size: 1610 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_29032 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHNE_29032.depot By default swinstall will archive the original software in /var/adm/sw/save/PHNE_29032. If you do not wish to retain a copy of the original software, include the patch_save_files option in the swinstall command above: -x patch_save_files=false 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 PHNE_29032.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHNE_29032.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHNE_29032.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None