Patch Name: PHNE_13642 Patch Description: s700_800 10.20 R5.1 SNAplus2 Link cumulative patch Creation Date: 98/02/17 Post Date: 98/03/25 Hardware Platforms - OS Releases: s700: 10.20 s800: 10.20 Products: SNAplus2-Link R5.1 Filesets: SNAplus2-Link.SNAP2-LINK Automatic Reboot?: Yes Status: General Superseded Critical: Yes PHNE_13642: PANIC ABORT PHNE_13427: PANIC PHNE_11961: PANIC PHNE_9663: PANIC PHNE_9651: PANIC Path Name: /hp-ux_patches/s700_800/10.X/PHNE_13642 Symptoms: PHNE_13642: (1) 5003395376 SNAPlus2 does not send RTM statistics when session ends if Host has not sent a soliciting RTM. (2) 5003379065 SDLC link dies when kernal level tracing is activated. (3) 4701379560 No message displayed when monitoring is active (4) 1653249474 System panic with ASSERT at line 68 of ncsxidpr followed by crash in ncs_exchange_and_conn_counts. (5) 1653248732 snaptnsrvr process exits without core. (6) 1653246231 System panic, with stack trace: sdl_reset_port_rsp sdl_hms_ctl_proc sdl_receive_proc sna_sdlc_nba_dispatch_process sna_sdlc_nba_scheduler vsi_stream_uw_service following 3 asserts: WARNING: SNAP-IX ASSERT: 12:57:54 14 JAN 1998 File: ../../p/vsdlc/sdlcsigi.c Line: 1482 Condition: pcb->resetting == FALSE WARNING: SNAP-IX ASSERT: 12:57:54 14 JAN 1998 File: ../../p/vsdlc/sdlcsigi.c Line: 648 Condition: pcb->resetting WARNING: SNAP-IX ASSERT: 12:57:54 14 JAN 1998 File: ../../p/vsdlc/sdlcsigi.c Line: 660 Condition: NB_NEXT_IN_LIST(pcb->station_root) != NULL (7) 1653239624 The TN Server process simply dies, meaning that clients can no longer connect and all active clients are thrown off. PHNE_13427: (1) 1653240846 ASSERTS in vbaaccess and elsewhere then crash in vtr_write_dlc_msg_to_buf. (2) 4701342899 HA / MC ServiceGuard could be unusable because script described in Administration Guide is based on return code. A value of 0 is an indication that the link station was active at a time when snapmon was running, non-zero value means the link station was not seen active. (3) 4701375600 If you issue a query_lu_0_to_3 NOF API verb with a buffer greater than 65535 bytes, then we return incomplete data. PHNE_12954: (1) 1653230284 TN3270 client is unable to connect to TN Server when using a slow dial-up TCP/IP Connection if a BIND is received by TN Server before negotiation with the client completes. (2) 5003388793 If you issue an ALLOCATE verb with AP_SAME as the secrity type, the system will always set the user_id on the outgoing attach as the unix user ID which the TP was running under. PHNE_11961: (1) 1653223529 Allocate Immediate hangs after CNOS used at mainframe to reset session limits. (2) 5003378646 System panic in ntc_segment_reassembly PHNE_9663: (1) 1653204875 System panSystem panic processing init self response. Stack trace was: nsm_fsm_status+0x6cc nsm_process_init_self_rsp+0x17c nsm_process_dependent_mu+0x388 nsm_process_record_from_hs+0x198 nsm_queue_handler+0x7c nba_dispatch_process+0xd0 nba_scheduler+0x208 (2) 1653212332 Certain TN3270 products will not connect to TN Server because we do not support the correct TN3270 regime. (3) 5003352336 Enhancement - allow a non queued tp to loop round and reissue a receive allocate verb. If an attach comes in, a new TP will be forked and exec'd ONLY if an existing TP isn't sitting with a rcv alloc outstanding. (4) 5003362665 Session lost when trying to switch applications on some mainframe systems with TN server only. Trace shows we transmit UNBIND after receiving SIGNAL when in receive state (just are receiving CD). 2 ASSERTS at line 42 on nchdutil and NACK-2 1002 sent internally by CH to TN. (5) 5003368696 If a host sends RMA in 3270 datastream it will be bounced by TNSERVER and the session unbound. If RMA ever sent by another TN Server to our TN3270 client it will be rejected. (6) 5003369736 If a BIND is received where the length byte for PLU is present, but is set to zero, the BIND will be rejected. PHNE_9651: (1) 1653206953 It is a trap in nms_nah_process_mu_rsp indirecting on the verb_sig pointer which is taken from the head of the sess_entry->process_queue (line 198 in nmsnah.c). The senario was that everything was active, the host was shut down and when the host link was restarted, this trap occured. (2) 1653206961 Using RUI interface, receive non-negotiable BIND with a certain maximum RU size. Sometimes RUI_WRITEs of data within that maximum RU size will fail. (3) 1653206979 Started leased connection to host. As soon as link came up (ie before ACTLUs all processed), issued 'random ' command, with bad tp name. Node crashed. (4) 1653207027 When SNAP-IX received an invalid LOCATE which did not have FQPCID control vector, a system panic occured in nds_add_to_fqpcid_table. (5) 1653207035 After running a random test which allocates between pairs of LUs (mole), QUERY_DIRECTORY_ENTRY returns an LU name with NETID=APPN, but LU name = 8 null characters. (6) 1653207043 System can panic under low memory conditions when processing session activation. (7) 1653207084 Unable to connect Attachmate TN3270 to SNAPlus TN Server. (8) 1653207092 Symptoms of problem: panic in nrm_bld_and_send_deact_sess called from nrm_ps_abend_proc with NULL pointer as deact_sess buffer pointer. (9) 1653207100 Failure is seen with END node and LEN node, with others versions of SNAplus2 too. It seems OK for NN node on previous versions . picot:> snapadmin -a -d query_directory_stats gives a line of -, and hangs. (10) 1653200352 Crash when running SDLC on MP box. Problem seen when using 2 ACC cards and many links. Problem caused by upper HMOD stub code and call back HMOD stub code running at the same time in parallel on different CPUs. (11) 1653203505 RUI_WRITE verb sometimes rejected with return code RU_LENGTH_ERROR (when the length is OK). Problem occurs if application sends a long BIND RSP (>1 byte) to a non-negotiable BIND (normal case). We are then looking at unitialised data to get the RU length. (12) 1653204636 BIND from Power to RJE rejected. In fact any BIND that ends with user data is rejected. (13) 1653199224 When using format 0 XIDs can fail to connect with the host (14) 1653199091 After stopping and restarting the sna daemon, the system panics with the following stack trace: vsm_rcv_appl_ready_req+0x390 vsm_rcv_datagram+0x348 vpm_rcv_msg+0x80 vpr_stream_input_msg+0x458 vpr_stream_uw_svc+0x490 (15) 1653195644 Symptoms of problem: Issue a register TP call,then accept incoming in non blocking mode. If a de-register TP call is made before an attach is received, then the system kernel panics upon receipt of an attach. (16) 4701341289 Every time CPI-C TP terminates normally we get an error log (exception) type 2-3. (17) 1653192419 If the LUWID on a received attach does not contain a fully qualified LU name it will be rejected. (18) 5003343921 If remote station not on local FDDI ring, we reissue a second TEST frame 0.25 seconds after the first TEST. This is bounced by DLPI, and an error 12288 - 18 is logged (error=1, DLPI primitive=45). (19) 1653187203 The host suddenly sends UNBIND with 'normal end of session' type just after exchanging STSN request/response. (20) 4701325498 The SNAplus2 product at MR does not support autoactivation of sessions. Sessions are activated upon demand instead of when the link is brought up. The impact of this is minor, except for customers using APPC or CPI-C TPs which use the AP_IMMEDIATE return control type on their allocate verbs. These allocate verbs fail if the sessions they are expecting to use are not active. A patch will be provided in the near future which allows preconfiguration of an autoactivation limit for APPC modes. This patch will allow SNAplus2 APPC and CPI-C TPs which use the AP_IMMEDIATE return control type to function just as they did on SNAplus. If you have TPs which use the AP_IMMEDIATE return control type, you should install this patch after installing the SNAplus2 software. Defect Description: PHNE_13642: (1) 5003395376 Code changed to initialise RTM control block. (2) 5003379065 Trace shows that we are very busy (tracing for another problem) and SNAP-LINK gets behind and is retransmitting frames unnecessarily. Problem caused by sending 8 frames in window. (3) 4701379560 That message was not taken into account in R5.1 (4) 1653249474 Code change to handle non-activation XIDs on non-APPN links. (5) 1653248732 Code changed to handle case of client exiting while we are trying to send to him with SIGPIPE generated by sockets library. (6) 1653246231 It appears that this problem is due to a window in link closedown where we have issued a close_port message down to the HMOD, and are awaiting a response. While the HMOD is closing, it detects a link failure and issues a callback - this causes us to go into closedown processing again. While not being able to ascertain exactly what the HMOD was doing, a firewall fix to the SDLC driver has been written which will correctly handle this situation safely, and prevent the panic. (7) 1653239624 The problem is a sceduling problem. The sequence is: (schedule) close PLU ----------------------------> close PLU(OK) Status Session error -----------------------------> close SSCP <---------------------------- (and close file descriptors) (schedule) At this point the scheduling loop attempts to unblock the socket, as there is still a message outstanding. the socket file descriptor is now -1, as the file descriptor has been closed. This breaks the computation of the fd mask for the select, and things go downhill very rapidly. The fix is a) put an ASSERT in vtn_sched_chg_fd b) bypass the message processing if we detect that the tni_state is TNI_STATE_RESET apparently, we don't need to discard the queued message, as it is actually embedded in the control block. PHNE_13427: (1) 1653240846 Problem caused by receipt of BIND with send RU size of 0. Code changed to handle this situation. (2) 4701342899 In some cases the link loss is not detected. (3) 4701375600 Code change to allow buffer size greater than 2 bytes. PHNE_12954: (1) 1653230284 Ensure we allow negotiation to complete within TN Server before putting flow control on the session - regardless of when BIND received (2) 5003388793 If the TP is running as root (and only if) then allow the user to put a user_id on the allocate verb - this will be sent in the attach. Otherwise, send the user ID the TP is running under. PHNE_11961: (1) 1653223529 Correct the code that handles initially active sessions for immediate allocates. (2) 5003378646 Ensure that if SSCP segment received which is not BBIU that the previous parts of the segment have been processed already. PHNE_9663: (1) 1653204875 Correct the APPN FSM to ensure the response is handled by the correct routine within the APPN node. (2) 1653212332 Since TN3270 regime is an optional part of the protocol, this code has been removed, forcing the negotiation exchange to use alternative supported methods. (3) 5003352336 Code change made to provide Enhancement as per Problem description. (4) 5003362665 Corrected syntax of null RU built by TN server which was being rejected by CH. Needed to set the dsf field and dcf correctly. (5) 5003368696 Pass through RMA unmodified if received at TN Server or TN3270. (6) 5003369736 Code change made to allow the bind to be accepted. PHNE_9651: (1) 1653206953 Details of fix applied: Set up RH in LM before sending NMVT to CH. (nlmdsscp.c) (2) 1653206961 Details of fix applied: Changed nru_write_lu() in nruwrtlu.c so that if the application writes a BIND response but the BIND is non-negotiable, we copy the data from the BIND request in to the BIND response. (3) 1653206979 The code-arm has been changed to ensure that it is called only once, the first time the session moves to the active state. An assertion has been added that the temporary memory is still present before it is freed. (4) 1653207027 Details of fix applied: After completing the parsing of the LOCATE in nds_parse_locate, check if the FQP CID subfield was present. If not, return sense codes 10140060 which will cause CP-CP session deactivation. (5) 1653207035 Details of fix applied: Changed nss_bld_snd_locate_message (nsssinit.c) so that it fills the fqc pname in the fqolu_name field of LOCATE_MESSAGE when processing HPR_INIT_SIGNAL. (6) 1653207043 Details of fix applied: Changed nas_actpulu_processor (nasrecv.c) so that it sends a -RSP if there is not enough memory to assign the LFSID when an ACTPU or ACTLU is received from PS. Changed nas_send_router (nassend.c) so that it returns a -RSP to SM if there is not enough memory to assign the LFSID when SM sends an ACTPU or ACTLU, or a BIND with SIDH = 1. Changed nlm_send_actlu_rq (nlmpsfsm.c) so that it gets a big enough buffer for t he ACTLU RQ so that it can be converted into a -RSP by AS if necessary. (7) 1653207084 Details of Fix applied: Attachmate client is rejecting DO_3270_REGIME with DONT_3270_REGIME message, when code is expecting DONT_3270_REGIME message. Enhance TN server to support this behaviour. (8) 1653207092 Details of fix applied: Ensure do not dereference null data. (9) 1653207100 Details of fix applied: Correctly process query_directory_stats for LEN/EN in the APPN node. (10) 1653200352 Details of fix applied: Add spinlock to protect data structures shared (queue in particular). Removed logs from call back context. Strategic fix applied at V6. (11) 1653203505 Details of fix applied: Node fix to handle case of non-negotiable long response correctly (use the parameters from the BIND request). (12) 1653204636 The code fix applied to cappn/nasbind.c is to Correct a length test of user data from >= to >. (13) 1653199224 Details of fix applied: Ensure length field set up correctly (14) 1653199091 Details of fix applied: Ensure control blocks used to process appl_ready messages are initialised before processing occurs. If a TP has deregistered its TP name it was possible for us to access a pointer which had not been set up - hence the trap. (15) 1653195644 Details of fix applied is to ensure we clean up control blocks correctly at the point an attach is being processed if the TP name has been de-registered. (16) 4701341289 Logging of this event is not now done to the error file. The error case originally looked for is logged elsewhere. (17) 1653192419 LUWID will not now be rejected if the LU NAME is not fully qualified. (18) 5003343921 Some routers do not require source routing information to function and will continue to work correctly - however, even with this patch some customers will still be unable to connect to stations on remote rings. When the FDDI driver team add source routing support to the HP-UX driver, this fix must be removed. (19) 1653187203 The RU data on a STSN (Set/Test Sequence Number) response generated by SNAP-IX is set to an invalid value. (20) 4701325498 The SNAplus2 product at MR does not support autoactivation of sessions. Sessions are activated upon demand instead of when the link is brought up. The impact of this is minor, except for customers using APPC or CPI-C TPs which use the AP_IMMEDIATE return control type on their allocate verbs. These allocate verbs fail if the sessions they are expecting to use are not active. A patch will be provided in the near future which allows preconfiguration of an autoactivation limit for APPC modes. This patch will allow SNAplus2 APPC and CPI-C TPs which use the AP_IMMEDIATE return control type to function just as they did on SNAplus. If you have TPs which use the AP_IMMEDIATE return control type, you should install this patch after installing the SNAplus2 software. SR: 5003395376 5003388793 5003379065 5003378646 5003369736 5003368696 5003362665 5003352336 5003343921 4701379560 4701375600 4701342899 4701341289 4701325498 1653249474 1653248732 1653246231 1653240846 1653239624 1653230284 1653223529 1653212332 1653207100 1653207092 1653207084 1653207043 1653207035 1653207027 1653206979 1653206961 1653206953 1653204875 1653204636 1653203505 1653200352 1653199224 1653199091 1653195644 1653192419 1653187203 Patch Files: /opt/sna/conf/lib/libsixd.a /opt/sna/conf/lib/libsixl.a /opt/sna/conf/lib/libsixs.a /opt/sna/bin/snaprcf /opt/sna/bin/snapmon /opt/sna/bin/snaptnsrvr what(1) Output: /opt/sna/bin/snapmon: ]B.10.20.002 SNAplus2 R5.1 Link Station Monitor ] (PHNE_13642: 98/01/30 15:36:45) ] /opt/sna/bin/snaprcf: ]B.10.20.002 SNAplus2 R5.1 Remote Command Facility d aemon ] (PHNE_9651 : 96/10/30 10:41:53) ] /opt/sna/bin/snaptnsrvr: ]B.10.20.105 SNAplus2 R5.1 TN Server ] (PHNE_13642 : 98/02/05 14:36:34) ] /opt/sna/conf/lib/libsixd.a: ]B.10.20.001 SNAplus2 R5.1 NDLC to DLPI Mapping ] (PHNE_9651 : 96/11/14 10:20:20) ] /opt/sna/conf/lib/libsixl.a: ]B.10.20.005 SNAplus2 R5.1 SDLC in the Kernel ] (PHNE_13642 : 98/01/22 14:29:25) ] /opt/sna/conf/lib/libsixs.a: ]B.10.20.028 SNAplus2 R5.1 Router in the kernel ] (PHNE_13642 : 98/02/16 11:28:55) ] ]B.10.20.019 SNAplus2 R5.1 APPN kernel library routi nes ] (PHNE_13642 : 98/02/16 11:06:58) ] cksum(1) Output: 2958791104 36864 /opt/sna/bin/snapmon 2163890184 61440 /opt/sna/bin/snaprcf 2653849906 114688 /opt/sna/bin/snaptnsrvr 1750945117 159544 /opt/sna/conf/lib/libsixd.a 4082035513 395056 /opt/sna/conf/lib/libsixl.a 802990235 2779296 /opt/sna/conf/lib/libsixs.a Patch Conflicts: None Patch Dependencies: s700: 10.20: PHNE_13643 s800: 10.20: PHNE_13643 Hardware Dependencies: None Other Dependencies: None Supersedes: PHNE_9651 PHNE_9663 PHNE_11961 PHNE_12954 PHNE_13427 Equivalent Patches: None Patch Package Size: 3530 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_13642 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHNE_13642.depot 5b. For a homogeneous NFS Diskless cluster run swcluster on the server to install the patch on the server and the clients: swcluster -i -b This will invoke swcluster in the interactive mode and force all clients to be shut down. WARNING: All cluster clients must be shut down prior to the patch installation. Installing the patch while the clients are booted is unsupported and can lead to serious problems. The swcluster command will invoke an swinstall session in which you must specify: alternate root path - default is /export/shared_root/OS_700 source depot path - /tmp/PHNE_13642.depot To complete the installation, select the patch by choosing "Actions -> Match What Target Has" and then "Actions -> Install" from the Menubar. 5c. For a heterogeneous NFS Diskless cluster: - run swinstall on the server as in step 5a to install the patch on the cluster server. - run swcluster on the server as in step 5b to install the patch on the cluster clients. By default swinstall will archive the original software in /var/adm/sw/patch/PHNE_13642. 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_13642.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_13642.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).