Patch Name: PHNE_20212 Patch Description: s700_800 10.20 R6.10.20 SNAplus2 Common patch Creation Date: 99/10/20 Post Date: 99/12/21 Hardware Platforms - OS Releases: s700: 10.20 s800: 10.20 Products: SNAplus2-Common R6.10.20 Filesets: SNAplus2-EndNode.SNAP2-EN SNAplus2-Common.SNAP2-SAM SNAplus2-Common.SNAP2-NOTES SNAplus2-Common.SNAP2-CORE SNAplus2-Common.SNAP2-ASCIIADM SNAplus2-Common.SNAP2-ADMIN 3270-Common.MANAGERS Automatic Reboot?: Yes Status: General Superseded Critical: Yes PHNE_20212: ABORT PHNE_19408: CORRUPTION PHNE_19071: ABORT PHNE_17820: PANIC HANG PHNE_17406: HANG PHNE_16759: CORRUPTION PHNE_15938: ABORT Path Name: /hp-ux_patches/s700_800/10.X/PHNE_20212 Symptoms: PHNE_20212: (1) JAGab76276/8606106834 When the 'SNAplus2 Installation' icon is double clicked in 11.00 SAM, the main menu screen takes too long (30-45 seconds on a T500 machine) to come up. (2) JAGab75335/8606106333 SAM SDLC/PSI configuration info. inconsistent when user cancels SDLC changes. Exact sequence leading up to this condition is shown below: The following SNAplus2 configuration was done on a K-class machine with two PSI cards configured for SDLC: A. User selects 'remove component' to de-configure all psi cards. B. The SDLC configuration screen pops up. Now clicks on the 'View Entire Card' button. C. The 'View Entire Card' screen pops up. On the SDLC configuration screen, the user selects all the cards displayed and clicks on 'Remove'. D. Now the user presses OK on the 'View Entire Card' screen. It disappears. E. Then the user clicks on 'Cancel' in the SDLC configuration screen to abort any changes. The main menu screen now displays the SDLC PSI as 'Not Added'. This is incorrect since the user aborted SDLC configuration. As a workaround, the user can get the actual configuration state of the SDLC /PSI by doing a 'Options->Refresh List'. (3) JAGab75114/8606106196 When adding SDLC(PSI) on T500 system using SAM, SAM builds vmunix_test but then exits with a core dump and the error message: UNEXPECTED EXIT: process LANG=C LC_ALL=C /usr/sam/lbin/samx -C -p 18985 /opt/sna/sam/C/mainMenu.ui exited with a non-zero exit status. sam: Warning: selector, SLIST_LABEL, is wider than the max window width. sam: Warning: selector, SLIST, is wider than the max window width. sh: 20111 Memory fault(coredump) PHNE_19408: (1) JAGab71689 The following message is noted periodically in sna.err file: 10:07:29 EDT 09 Aug 1999 4096-5(0-0) P (UH2010D3) PID 3733 (snaperrlog)Log parameter mismatch. Message number = 512 - 137 The message 512 - 137 then follows with a question mark for the sense code. (2) JAGab70700 Symptoms of problem: 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. (3) JAGab68385 Code inspection has shown that the SNAplus2 Kernel drivers do not have the MGR_IS_MP flag set on the streams_info structure. This has not caused problems but may affect performance on MP systems. (4) JAGab65393 Using snap2adm ascii admin tool on SNAPLUS2 R5.1 to view the config, and then selecting OK and exiting the program causes serious modifications to the configuration to be made. The scenarios where this happens are as follows: A) Enter snap2adm and go to CONNECTIVITY -> DLC select OK and press return, press exit Changes are made to: mu_credit = 4 from original 8 - in define_sdlc_dlc link_deact_timer = 0 from original 30 - in define_sdlc_ls use_default_tg_chars = YES from original 'NO' - in define_sdlc_ls B) Enter snap2adm and go to CONNECTIVITY -> DLC -> PORT select OK and press return, press exit Changes are made to: mu_credit = 4 from original 8 - in define_sdlc_dlc address = 0x00 from original 0xc1 - in define_sdlc_port opt1 = NONE from original NRZI - in define_sdlc_port link_deact_timer = 0 from original 30 - in define_sdlc_ls use_default_tg_chars = YES from original 'NO' - in define_sdlc_ls The setting for encoding sometimes shows as NRZ in snap2adm, even if NRZI is in the config. C) Enter snap2adm, go to CONNECTIVITY -> DLC -> PORT -> LS select OK and press return, press exit Changes are made to: link_deact_timer = 0 from original 30 - in define_sdlc_ls use_default_tg_chars = YES from original 'NO' - in define_sdlc_ls Each iteration was done on a new copy of the configuration. The 'in define_sdlc....' statements on the right hand side indicate the area of the configuration file that changed. PHNE_19071: (1) 1653305284 After installing 11.0 PHCO_17631 SAM patch, SAM failed to install SNAplus2. The problem appeared when the user started 'SNAplus2 Installation' from SAM. After attempting to add SNAplus2, SAM internal error occurred. The SAM log file /var/sam/log/samlog showed: Assigning driver/pseudo driver "sixt" the planned value of 1. The current pointer undefined but is needed for this operation. ^A^ALocation: da_list_gets():305^AError Code: 1302 This made it impossible to install SNAplus2. Also, SAM SNAplus2 Installation may show the 'SNAplus2 Environment' as 'Not Added', even though this is known not to be the case. PHNE_17820: (1) 5003455659 The customer has migrated an R4 config file to R5.1. Under R5.1 the migrated token ring link station remains inactive after a host IPL. This differs from the R4 behaviour. (2) 5003450536 Snapmigrate does not migrate partner (remote) LUs correctly if they have a different network ID than adjacent CP. In this scenario there are partner LUs accessible via cross domain routing that have a different network than the network ID if the adjacent node. The netid for these LUs appears to be ignored by snapmigrate, and they are added to the same define_adjacent_len_node resource, as the LUs that actually reside on the adjacent system. In the course of testing the fix to this bug with the customer config files, we discovered another problem -- that duplicate partner LU definitions are not handled correctly by the migration program. In R4 it is possible (though deprecated) to define separate aliases that refer to the same partner LU. In R5 this is not allowed -- duplicate define_partner_lu entries in the node configuration file are logged as an error and prevent the product from starting. (3) 5003446971 Data page fault panic in nbm_free_buffer while running simple SNA tests over two LAN interfaces between the three machines running SNAplus2. (4) 5003427518 Deletion of TP definition in sna_tps file gives ASSERTs when the original file contained duplicate entries for that TP. (5) 5003424085 There appears to be no way within the snaplus2 management utilities to list unassigned lu_0_to_3 LU's or assigned lu_0_to_3 LUs. Under SNAplus if you were assigning sessions to a 3270 user, and the LU you assign was already assigned to another user, a warning message was printed advising this LU was already assigned to another user. Under SNAplus2 there is no warning nor message of any kind giving this indication. In the case of this customer, there are 200+ 3270 users and there is no way to determine which 3270 LU's have already been assigned to users without manually parsing the sna_node.cfg and sna_domn.cfg file. This is an enhancement request to add a command to snapadmin and/or xsnapadmin to enable a listing of all 3270 unused LU's, and a list of assigned 3270 LU's and the users and/or pools they are assigned to. (6) 5003392456 With SNAPlus2 there is no way to deduce the number of sessions that were concurrently busy on a particular LU and what remote LU and effective TP these sessions are actually connected to. This is an enhancement request to add this functionality. (7) 4701424069 This is a potential problem that applies to any SNAPlus2 multi-threaded application that requires to use signals and can cause the application to fail because of incorrect signal handling behaviour. (8) 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. (9) 1653305805 One processor on a two processor box running R6 over 10.20 hangs which then causes cmcld to TOC the box to preserve system integrity. Top of stack for hanging process is: FUNC PC v0_get_rw_lock+0xb8 0.0x3cc4a8 vpr_route_ips_on_route+0x40 0.0x4094e0 vds_rcv_buffers_available+0x1a0 0.0x3e1720 vds_receive_proc+0x674 0.0x3e47fc nba_dispatch_input+0x298 0.0x5af050 nba_dispatch_process+0xa4 0.0x5af184 nba_schedule_process+0x134 0.0x5af5ec nba_send_ips+0x308 0.0x5afd3c (10) 1653301382 If a customer defines > 16 LU0-3 type LUs, then stops and starts SNAplus2 but does not activate the node. Subsequent attempts to start xsnapadmin cause the config daemon to terminate. (11) 1653301333 On some European machines, the following assert is given when node tracing is turned on during daylight saving time: LOG Message 4096 - 13, Subcode: 1 - 0 Log category: EXCEPTION Cause Type: Internal ASSERT: File name = ../../cdart41/cdiag/vtdfile.c Line number = 241 Expression = 0 Then when trying to format the resulting sna1.trc file with snaptrcfmt, another assert appears: LOG Message 4096 - 13, Subcode: 1 - 1 Log category: EXCEPTION Cause Type: Internal ASSERT: File name = ../../p/vsig/vtfread.c Line number = 76 The trace file cannot be formatted. (12) 1653299685 An LS is started following node startup but not following a link failure. The customer tries to enable the reactivation on link failure feature via snap2adm: ->>> CONNECTIVITY >>> LS >>> ADVANCED >>> Reactivate LS after failure and then successfully saves/exits the program. The LS now fails to startup and the sna.err log shows: APPN Message 512 - 91, Subcode: 0 - 10 Log category: PROBLEM Cause Type: Config System: mbnahp4 CP name on an XID3 received from adjacent node does not match expected CP name. Sense code = 0x0806002C Port name = SDLC1 LS name = SDLC Received CP name = CCNNET01.NOTGLO (13) 1653293878 Invokable TP failing to start with following error messages logged. ------------- 10:52:14 GMT 10 Feb 1999 ---------------- NODE Message 16384 - 0, Subcode: 10 - 10 Log category: EXCEPTION Cause Type: Internal System: LR1875 Internal system error. Errno = 7 Action: Provide support services with the audit and error log files, and trace files if available. ------------- 10:52:14 GMT 10 Feb 1999 ---------------- APPN Message 512 - 257, Subcode: 0 - 10 Log category: PROBLEM Cause Type: Config System: LR1875 Dynamic load of TP failed. Sense code = 0x07000000 LU alias = DFKC TP name = lr229bci (14) 1653245936 In contrast to SNAplus, SNAplus2 doesn't generate trace for SDLC level 2. PHNE_17406: (1) 5003446278 RJE received files from host showed incorrect user/group names. (2) 5003433862 If you migrate a SDLC leased connection from SNAPlus to SNAPlus2, the migrated configuration will no longer work (LS will not become 'Active'). The snapmigrate utility produces an incorrect configuration. (3) 4701392670 When in client /server configuration, various ASSERT messages recorded in the sna.err log file from the SLIM component, followed often by a crash of the SLIM. This causes general unpredictable behaviour of the system when the master server goes down and is restarted. (4) 1653285478 Unable to start SDLC link after the SDLC PSI driver has error to close the card . sna.err logged : Message 32769 - 66 Cause: The SDLC driver's state is not valid to process svphclos() (5) 1653264531 Any API call will fail after a fork is invoked as follows:- - issue a call to any API (the most common is likely to be CSV) - fork() - issue a call to another API If the call to the 'other API' is the first call to that API made by the application, then the API call will fail. PHNE_16759: (1) 5003442426 If the domain config file > 64K, then corruption can occur when the file is updated or sent to other servers in CS domain. (2) 5003434860 Problems with xsnapadmin configuration/adminstration when used from client system. (3) 4701405316 Updated binaries required for patching the latest R6 release of SNAplus2. (4) 4701400929 snapmigrate uses default X25 adapter number without any warning messages. (5) 1653280123 snap2adm displays port settings incorrectly, and occasionally does not allow the user to modify ports and link stations. (6) 1653273979 Enhancement to allow multiple PUs to be used on a secondary leased link. This means that if an SDLC port is connected to a leased line, you can have multiple LS's active over the port at the same time. PHNE_15938: (1) 5003406991 APING Verb does not allow you to enter securty type as 'NONE', 'SAME' or 'PGM' (and also 'PGM_STRONG' with R6) - you can only use 'NO'. (2) 4701396440 If you run snapmigrate, any RJE workstation definitions are migrated with an extension of '.RJE' and must be renamed before use. (3) 4701396382 Multiple symptoms in complext R5/R6 client server test. Core dump from snapslim process. (4) 4701396374 Node fails to start if TN Client configured with unrecognised hostname. (5) 4701396366 back level config program (xsnapconfig) help screens corrupted. (6) 4701391508 Any API application using DCE threads finds that each verb takes 0.2 seconds to complete. (7) 1653260620 Ascii Admin coredumps when expanding a port if any LS on the port has more than 200 LU type 0-3's. PHNE_14393: (1) 4701386326 Asserts logged in sna.err when using mixed architecture client server network ( ie mixture of 32 /64 bit servers) (2) 4701386318 Unable to read environment variables out of sna_tps file with ' in them. (3) 4701386300 R6 admin problems in mixed R5/R6 client server configuration (4) 4701386235 R6 snap2adm configuration errors in LS and Node Defect Description: PHNE_20212: (1) JAGab76276/8606106834 The ObAM definition for the SNASAM main menu window is done in such a way that it prevents the window from popping up immediately. The execute_me_first callback in mainMenu.ui is utilized to construct all the SNA SAM objects. This step can be done after SAM creates the main menu window. Resolution: The solution is to change the definition of the SNA SAM main menu dialog. The current execute_me_first callback is changed to be the entry callback for the mainMenu screen. A new execute_me_first callback is defined and made into a stub. The same solution is to be applied to 10.20 version as well. (2) JAGab75335/8606106333 The problem is caused by the fact that SNA SAM is always using the 'current' number of configured SDLC interfaces for its display of the number of SDLC cards/ports configured. This means it is tracking the activity of the SDLC configuration screen. If the user moves a card from the configured side to the unconfigured side, the number of configured sdlc cards/ports decreases by 1. This is incorrect. The current number of configured cards/ports is only valid after the user committed the new configuration (i.e., by pressing OK on the sdlc port config. screen). Resolution: The behavior of the callbacks for the SDLC configuration dialog has been changed to track the number of SDLC ports/cards correctly. The number was re-defined to be the quantity of cards/ports previously configured and the changes comitted. Thus, when the sdlc configuration screen is active (on display or icon-ized), the number of SDLC cards/ports configured is the PREVIOUS number of SDLC cards/ports configured successfully. The change was made to both 10.20 and 11.00 versions. (3) JAGab75114/8606106196 The cause of CR can be traced to the design of SNA SAM. The code assumed that only D class machines have model numbers with format of 8x1, but the T500 has the 891 model number. This caused the psi1 driver to be loaded into the kernel by SNA SAM. The psi1 driver should only be loaded into machines with EISA bus. The T500 is an NIO bus machine and requires the psi0 driver. Resolution: The function host::isUltralight() has been modified and its dictionary of 800 numbers of D-class machines updated. Only 8xx numbers of D-class machines should be used. Furthermore, isUltralight() was to return true for all 8xx machines using the EISA bus. Consequently, the host class has to be extended to include a function isEISA800() that will return TRUE if the host machine running SNASAM is EISA based. This will ensure this problem will never occur again. For all SNASAM C++ classes remove all calls to host::isUltralight( void ). In its place use the call host::is800EISA( void ). The is800EISA(), as the name indicates, returns TRUE for the the host machine is EISA based. The determination of bus type is done using ioscan, not uname (2). The host class used is from R6.11.00.200 release of SNASAM for HPUX 11. The inclusion of the new host class requires some C++ function prototypes to change (in sdlc.cpp, sdlcScreen.cpp, snaplus2Screen.cpp, and mainMenu.cpp). The TMPipe class, sna.tm, and sna.da from R6.11.00.200 release of SNASAM has to be included here as well. PHNE_19408: (1) JAGab71689 From the code it appears that there is not really a parameter mismatch, but it looks as though the problem is due to us trying to log more text than we actually allow. We are limited by a 600 byte array of log text in nba_pd_print_var. Resolution: The log parameters are limited to 600 bytes to allow all of the log datagram to fit in a 1k buffer for use by the SLIM. Consequently, we can't change this 600 byte limit. Instead, for the particular log mentioned in this defect, we should ensure that the sense code gets put into the buffer before the error data (that way we will ensure we get all of the sense code). This will also stop the erroneous messages in the log file as we will be logging all of the parameters. (2) JAGab70700 Cause of problem: 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. (3) JAGab68385 Missing flag in the streams definition. Resolution: Add flag to streams_info section of all kernel drivers. (4) JAGab65393 Cause of problem: Part of the problem here is that ASCII admin is setting a number of fields to their default values without checking to see whether it is dealing with an existing record or creating a new one. For these particular fields - namely, mu_credit, link_deact_timer, use_default_tg_chars and address, we should only put in the default if we are creating a new record (i.e. if NofDefAct != NOF_DEF_MOD). The problem with the options on sdlc ports (i.e. the NRZI stuff) is that the port dialog is using the stub_spec_data on the link_spec_data to determine whether it should initialise the dialog with the NRZI or NRZ. In fact it should be using the stub_spec_data on the port_spec_data instead. Resolution: Modify dsdlc.c so that mu_credit is only defaulted for new dlcs Modify dsls.c so that link_deact_timer and use_default_tg_chars are only defaulted for new LSs Modify dsport.c so that address is only defaulted to zero for new ports and to check that settings for 'opt1' field are taken from the port_spec_data rather than link_spec_data. PHNE_19071: (1) 1653305284 The problem is caused by the entry 'sixt gio' in the DRIVER_DEPENDENCY section of the SNAplus2 master file. The SAM patches PHCO_17631 and PHCO_18217 enhanced SAM's checking of driver dependency information. Sixt has no dependency on gio, gio also being an invalid driver for 11.X. So when SAM checked the driver dependency for SNA, it found this error and could no longer continue. Resolution Remove the entry 'sixt gio' from the SNAplus2 master file. After the master file is replaced, run /usr/sam/lbin/getkinfo -b to have the changes take effect. PHNE_17820: (1) 5003455659 When converting SNAplus config files to SNAplus2 snapmigrate sets react_timer_retry = 0 in Link Station definitions. This means SNAplus2 does not attempt to reactivate the LS if it fails. It should in fact be set to 65535 to match the behaviour of R4 (under which failed connections are always retried). Resolution: Set react_timer_retry to 65535 instead of 0. (2) 5003450536 This snapmigrate problem is that we assume partner LUs have the same Network IDs as the CP of the adjacent node on which they are defined -- which isn't necessarily true. In delivering this fix, we have also uncovered a problem with the psf file. The snapmigrate binary _should_ be delivered as '/opt/sna/bin/snapmigrate2' and called from a wrapper script, '/opt/sna/bin/snapmigrate'. However, an error in the psf file means that, on 11.0, we have delivered the binary file as both '/opt/sna/bin/snapmigrate' and '/opt/sna/bin/snapmigrate2'. Resolution: Fix to the original problem is to replace the DEFINE_ADJACENT_LEN_NODE verb(s) issued in do_len_directory() in vmigrate/miggtfld.c with DEFINE_DIRECTORY_ENTRY ones. Because the assumption about the Network IDs is contained within the logic of the DEFINE_ADJACENT_LEN_NODE verb (which actually issues DIRECTORY_ENTRY verbs internally). Also fixed the duplicate checking in this function. Originally only checked for duplicate aliases. Added checking for duplicate fully qualified names. In doing this have had to change the order of the duplicate check. Previously the entry being processed was checked against the remaining unprocessed ones in the list of PLU names, and duplicates marked so they would not be processed. However, fully qualified name is not easily available until an entry has been processed. So now, entry about to be processed is checked against ones that have already been processed (in which we have recorded the fully qualified name). This has the side effect that, if an entry is multiply duplicated (ie occurs three or more times) then multiple warning messages will be printed for it instead of just one. for it instead of just one. The functionality of the migration program is not however impaired by this. The other problem found when processing the customer's config files lies in mig_output_appc_lus(), again in vmigrate/miggtfld.c. The problem is very similar to the second part of the one above. We are already checking for duplicate aliases. Just need to add check for duplicate fully qualified PLU names. Also the /opt/sna/bin/snapmigrate script is supplied with this fix. (3) 5003446971 Panic caused by attempting to dereference null pointer while examining posted_list LQE in nbm_info structure to see whether it is empty. Resolution: Add boolean flag to nbm_info to say whether posted list is empty or not. (4) 5003427518 The real cause of the ASSERTs being generated is the config daemon detecting duplicate entries in the sna_tps file. As the config daemon reads the sna_tps file, it sets a flag to say that an update datagram needs to be sent to inform the router of the TP, and records the TP as being defined. When the daemon comes across the second identical entry for the TP it decides that as the TP is already known about, the update datagram flag should not be set, so unsets it. However, the config daemon still thinks the TP has been defined. So the datagram does not get sent out, and the TP is never defined to the router, but the config daemon has recorded it as having been defined. The ASSERT is issued later when the config daemon issues a datagram to the router telling it to delete the TP definition. The router does not have the TP definition, and raises the ASSERT to say that the action code in a datagram for an undefined TP must be 'add a new TP'. Resolution: A change has been made to the code so that when a TP definition is read from the sna_tps file, and this is found to be a duplicate, the status flag is checked to make sure it is retained, rather than overwriting it. (5) 5003424085 This problem has occurred because SNAplus2 is based on different code from SNAplus and simply didn't include a way to do this. Resolution: In the GUI, when the user clicks OK in the define session dialog, we will check to see whether the LU being assigned is a single LU or a pool. If a single LU we will check to see whether the Session record is new, or is a modification of an existing record. If a modification we will see whether the LU name is being changed. The rationale here is that we don't want to pop up a warning when someone modifies the description of an LU - we assume they have already seen a warning. Assuming a new session or the LU has changed, we will do a search through all the sessions defined for all users looking for a session with the same LU. If we find one then we will throw up a confirm dialog. If we don't find one we just carry on processing. The fix is in routine vga_issue_def_3270_session. We also add the routine vga_define_3270_confirm_reuse_cb. We add a new message to the GUI message catalog (vgacat.pre) -- MSG_CONFIRM_REUSE. (6) 5003392456 Currently no functionality to allow viewing of LU6.2 session usage. Resolution: This enhancement adds support for a 'query_conversation' verb to the command line administration program. The query_conversation command returns information about conversations using a particular local LU. This command can be used to obtain summary or detailed information about a specific session or a range of sessions, depending on the options used. (7) 4701424069 The issue stems from the way signals are handled in a multi-threaded process. The default signals behaviour in a multi-threaded environment is that any thread of a process can be interrupted by the OS to run a signal handler when an externally-generated signal is received for that process. In particular, this means that any threads created for internal use by the SNAplus2 libraries (eg in the path manager to wait for messages to appear at the stream head) could be interrupted and used by the OS to handle a signal sent to a multi-threaded user application. This could potentially happen at a point where the application has masked off its own threads from being interrupted by signals. In such a case, the application might fail because its signal processing routine was being run when it did not want it to be. Resolution: The fix is to modify the multi-threaded path manager and HLLAPI libraries so that the new threads they create protect themselves against being interrupted by external signals. To do this, we just need to make the appropriate call to sigprocmask() at the start of the new thread of execution. (8) 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. (9) 1653305805 From the stack we can see that this a deadlock in the kernel during snap stop processing. We grab a write lock on vpr_entity_lock in vpr_stream_close() which we hold across a number of calls, including the one to nba_term(). It is this lock we are trying to acquire in vpr_route_ips_on_route() near the top of the stack trace. Resolution: We don't actually need to hold the vpr_entity_lock round the call to nba_term() in vpr_stream_close(). So the fix is just to release it before that call and reacquire it afterwards. (10) 1653301382 SNAplus2 is getting an error with errno set to ERANGE on a STREAMS call in the path manager. It turned out this error is because the customer's machine is configured to have the maximum STREAMS message size (STRMSGSZ) of 8K configured in the kernel. The solution is to remove this limit (or set it to at least 64K). Resolution: The resolution for the customer is to increase the STRMSGSZ kernel parameter.However the SNAPlus error log was incorrectly recorded. The correct log message was already included in the code,but did not reach the sna.err file because it was being made after the call to vpm_error_event(). The solution is simply to move it from the subsequent line to the preceding one. This ensures that the error log does get written out correctly as follows.- SNAPATH Message 16388 - 13, Subcode: 1 - 1 Log category: EXCEPTION Cause Type: External System: borg Process ID: 1155 (snapcfgdae) I/O Error writing message to Stream. Errno = 34 (Result too large) Cause: The Stream to the SNA Subsystem has reported a write error. Action: Check the operating system error code shown, and retry the operation that led to this message. If the problem persists, provide support services with the audit and error log files, and trace files if available. (11) 1653301333 This problem arises because the V0T_TRACE_HEADER_MAX_LEN in v0/v0trc.h was not updated when the enhancement to add time zone information to trace files was made and two extra variables were put in the trace file header. This meant the amount of space allowed in which to build the trace file header was insufficient for all possible headers. On most machines we weren't up against the limit -- which was why this defect didn't show up when the time zone enhancement was tested. However, with the recent switch to daylight saving time, the time zone abbreviation string in much of Europe changed from 'MET' to 'METDST'. On some machines this made the header too big for the buffer in which it was being built. Resolution: Changed the code to make the buffer much bigger than required -- rather than just big enough for the theoretical maximum header. Also enforce limits on the individual fields in the header (because eg anybody can change the time zone abbreviation string just by setting the TZ environment variable) and truncate if they are too long -- instead of running the risk of being unable to write the header and therefore being left with unformattable trace files. It also turns out that time zone abbreviations are truncated to 5 chars when printed in snaptrcfmt output. This is just an incorrect formatting assumption in a printf statement in snaptrcfmt, which has also been fixed. (12) 1653299685 The problem stems from the fact that the 'Send node name in XID3' checkbox (on the 'Advanced' submenu of the 'Modify LS configuration' dialogue in ASCII Admin) corresponds to two separate configuration settings in the sna_node.cfg file. On the equivalent menu in Motif Admin there are two separate buttons for these two settings, so the problem does not arise. If the settings are not both on or both off then ASCII Admin incorrectly changes the first to match the second. Resolution: It has been agreed that we will not make further enhancements to ASCII Admin, so we do not propose to add an extra check box to this Menu. However, given the actual wording of the current check box, we believe it makes sense to modify its action to stop it changing the adj_cp_type field (ie whether or not we check the CP name on incoming XID3 messages). This simply involves a change to set_nof_independant_ls() [sic!] in vaa/dsls.c. (13) 1653293878 The TP is failing to start because the userid under which it is running has been misconfigured so that it can't retrieve its own group name. This may be due to local access to the group file or with running NIS (Network Information Service) to share user and group IDs across more than one machine. There are two reasons for the cryptic error logs recorded by SNAplus2:- - Failure of the getpwuid() or getgrgid() system calls was not logged as an error message. - The VSM_AS_TP_FAILURE internal error code was not getting put in the right part of the DLOAD_RSP_ERR message sent from the Service Manager to the APPC Stub. This meant that the APPC stub was misinterpreting it as an APPC sense code. Resolution: The root cause of the problem is to correctly configure the Unix user/group under which the TP is to be run. However changes to SNAplus2 have been made to improve the logging in this area as follows:- In vpm_build_user_info() in vr/vpmu.c we add error logs for the cases where getpwuid() or getgrgid() system calls fail. However, failure of these system calls leads to a path failure. So to make sure these new error logs actually reach the sna.err log file, we also modify vlm_user_write_log() in vdiag/vlmuser.c so that even if we fail to open a path we still attempt to send the datagram containing the log (in addition to attempting to write it locally). In the error reply arm of vsm_rcv_dload_confirm() in vr/vsmdload.c we put the error code in the dld_status field rather than the ld_sense_data field of the DLOAD_RSP_ERR message -- because this is where the vas_datagrams() routine in the APPC Stub expects to find it. We also change the exception logged in vsm_rcv_dload_confirm() from the generic one, with its rather misleading reference to errno to a new specific error. Texts of the new logs are in the vdiag/*.txt files. (14) 1653245936 This problem occurred because SNAplus2 is based on different code from SNAplus and simply didn't include this feature. Resolution: The fix we have put in place here is to add some additional formatting to snaptrcfmt that decodes RECEIVE_FRAME and TRANSMIT_FRAME from the IPS trace in a more usable format (decoding out the address and control part of the message including Poll/Final and Nr/Ns bits). A README file is going with the enhancement, but in summary: SDLC frame trace can be switched on using the following snapadmin command or from xsnapadmin: snapadmin set_trace_type, trace_flags=SDLC Formatting of an SDLC frame trace is done by default with the snaptrcfmt utility. PHNE_17406: (1) 5003446278 This problem has not been reproduced.However a system chown call is used to perform the change of ownership of the received files, and it is suspected that this call has failed. Resolution: If this OS call really is returning an error in certain circumstances, we need to alert the user so that the root cause of the problem can be discovered and remedied. So code has been added to check return codes from chmod & chown and log an error if either fail. Also, just to be doubly sure that the file attributes really have been modified correctly, we then use the OS stat function to query them and compare with what they are supposed to be set to. (2) 5003433862 snapmigrate incorrectly converts and SDLC leased connection from SNAplus to SNAplus2. Resolution: Set up the 'address' field on the SDLC port to be 0x00, to allow all poll addresses through - the poll address configured on the LS being used will then be used to check, rather then the one on the port. (3) 4701392670 Various assert errors logged due to the LAN logger component (which handles central logging) incorrectly registered itself with the service manager as a server. This means that a server could end up twice in the service table (for example, once as a backup, then again as a master server). This leads to extremely unpredictable and unreliable client/server operation. Resolution: Code change made to prevent incorrect registering of the LAN logger component as a server. (4) 1653285478 Here is the sequence of events that leads to the error : 1. Error case which sets the HDWR_DEAD bit is set in the PDA flags field (pda->flags) 2. Stop SNA 3. Start SNA 4. first ioctl in libsnainit.1 fails because the HDWR_DEAD bit is set ... Resolution: The HDWR_DEAD flag has to be reset each time the firmware is downloaded on the card. Thus, the fix consists in calling the CLEAR_PDA_FLAGS ioctl just before downloading the firmware on the card. It is implemented in the libsnainit.1 library. (5) 1653264531 The API failure after fork is because the Path Manager is initialised by the first API call.However, when you fork(), the path manager needs to do some post fork handling - this includes notifying all APIs that have open paths. So, the bug was that the path manager notifies the APIs which have been initialised prior to the fork - but not any that are initialised after the fork is issued. Resolution: A code change has been made to ensure that the path manager correctly notifies the API's initialised via a fork call. PHNE_16759: (1) 5003442426 Prevent configuration corruption by correcting the code which processes sending domain config file down paths via the Path Manager - snapcfgdae code changed to ensure that when processing 3270 user records we always setup control variables to ensure that if our buffer fills up we restart processing exactly where we left off. (2) 5003434860 Code change made to resolve problems with xsnapadmin configuration/adminstration when used from client system. (3) 4701405316 Updated binaries provided for combined patching of latest R6 release ,as documented in SR text. (4) 4701400929 Snapmigrate code changed to print a warning when a QLLC port or LS is migrated telling the user to manually check its configuration. (5) 1653280123 snap2adm encountered configuration problems with ports and LS's due to incorrect OBAM ui description files. (6) 1653273979 Enhancement to allow multiple PUs to be used on a secondary leased link. This means that if an SDLC port is connected to a leased line, you can have multiple LS's active over the port at the same time. PHNE_15938: (1) 5003406991 Code change to allow all of the 'NONE', 'SAME' or 'PGM' values on the aping verb. Note that the apingd daemon provided by SNAplus2 does not support securty - so if you are using aping to ping a SNAplus2 node, then only 'NONE' will give a successful response. (2) 4701396440 snapmigrate code changed to correctly migrate RJE workstation definitions with an extension of '.sty' instead of '.RJE' . (3) 4701396382 Problems with core dump in snapslim process and asserts errors logged. Code changed to ensure handling of Master / Backup handover allows for failing to contact new master. (4) 4701396374 Code changed to allow the node to start if it finds a TN Client configured with unrecognised hostname, but generates an error log which tells the user of the failure. (5) 4701396366 Code change correct corruption in help files for back level config program xsnapconfig. (6) 4701391508 The problem is due to a flaw in the design of the way DCE implements the 'poll()' call. Code changed to work around this problem in DCE by using 'select()'. (7) 1653260620 Code changed to allow up to 255 LU type 0-3's per LS. Also increment max number of LU0-3 per node from 2000 to 10000 and max number of LUs in a pool from 1000 to 2000. PHNE_14393: (1) 4701386326 Code change made to ensure client/server messages for sna.net indications are include in the codex component which handles 32/64 bit alignment conversion. (2) 4701386318 Code change to Correct tokenizer in parsing engine to handle sna_tps file contents correctly. (3) 4701386300 Code changes made to snapcfgdae to fix R5/R6 mixed environment problems. (4) 4701386235 Code changes made in snap2adm to fix configuration errors. SR: 8606106834 8606106333 8606106196 5003455659 5003450536 5003446971 5003446278 5003442426 5003434860 5003433862 5003427518 5003424085 5003406991 5003392456 4701424069 4701421081 4701405316 4701400929 4701396440 4701396382 4701396374 4701396366 4701392670 4701391508 4701386326 4701386318 4701386300 4701386235 1653305805 1653305284 1653301382 1653301333 1653299685 1653293878 1653285478 1653280123 1653273979 1653264531 1653260620 1653245936 Patch Files: /etc/opt/sna/snadlc.ini /opt/sna/bin/snap2adm.ui /opt/sna/bin/snap2adm_v.ui /opt/sna/conf/lib/libsixc.a /opt/sna/conf/lib/libsixt.a /opt/sna/conf/master.d/sna2 /opt/sna/help/Help4SNAadmin.hv /opt/sna/help/Help4SNAadmin.hvk /opt/sna/help/Help4SNAadmin.xrh /opt/sna/help/Help4SNAadmin00.ht /opt/sna/help/Help4SNAadmin01.ht /opt/sna/help/Help4SNAadmin02.ht /opt/sna/help/Help4SNAadmin03.ht /opt/sna/help/Help4SNAadmin04.ht /opt/sna/help/Help4SNAadmin05.ht /opt/sna/help/Help4SNAadmin06.ht /opt/sna/help/Help4SNAadmin07.ht /opt/sna/help/Help4SNAadmin08.ht /opt/sna/help/Help4SNAadmin09.ht /opt/sna/include/values_c.h /opt/sna/lib/X11/uid/XSnapadmin/xsnadlg.uid /opt/sna/lib/nls/msg/sna.cat /opt/sna/lib/nls/msg/sna_log.msg /opt/sna/sam/C/help.hv /opt/sna/sam/C/help00.ht /opt/sna/samples/Common_patch.notes /opt/sna/bin/X11/xsnapadmin /opt/sna/bin/X11/xsnapconfig /opt/sna/bin/snap2adm /opt/sna/bin/snapadmin /opt/sna/bin/snapcfgdae /opt/sna/bin/snaperrlog /opt/sna/bin/snapslim /opt/sna/bin/snapfilter /opt/sna/bin/snapmigrate2 /opt/sna/bin/snaptpsrvd /opt/sna/bin/snaptrcfmt /opt/sna/lib/libcsv.1 /opt/sna/lib/libmgr.1 /opt/sna/lib/libmgrdce.1 /opt/sna/lib/libpe.1 /opt/sna/lib/libsna.1 /opt/sna/lib/libsnainit.1 /opt/sna/lib/libsnalimen.1 /opt/sna/lib/libsnalimlen.1 /opt/sna/lib/libxp.1 /opt/sna/sam/C/mainMenu.ui /opt/sna/sam/C/sdlcScreen.ui /opt/sna/sam/C/sna2Scrn.ui /opt/sna/sam/SNA_SAM.sl /opt/sna/sam/sna.da /opt/sna/sam/sna.tm /etc/opt/sna/app-defaults/XSnapadmin /opt/sna/bin/snapdaemon what(1) Output: /opt/sna/lib/libcsv.1: ]R6.10.20.101 SNAplus2 R6 Common Service Verb Librar y Routines ] (PHNE_19408 : 99/08/20 16:01:10) ] /opt/sna/lib/libmgr.1: ]R6.10.20.102 SNAplus2 R6 Path Manager and support l ibraries (V3 Signals) ] (PHNE_17820 : 99/04/22 11:11:56) ] /opt/sna/lib/libmgrdce.1: ]R6.10.20.104 SNAplus2 R6 Multi-threaded Path Manage r and support libraries, User Space ] (PHNE_17820 : 99/05/24 14:57:05) ] /opt/sna/lib/libpe.1: ]R6.10.20.101 SNAplus2 R6 parsing engine ] (PHNE_17820 : 99/03/25 16:24:53) ] /opt/sna/conf/lib/libsixc.a: ]R6.10.20.105 SNAplus2 R6 Client Router in the kerne l ] (PHNE_19408 : 99/08/06 14:22:56) ] /opt/sna/conf/lib/libsixt.a: ]R6.10.20.100 SNAplus2 R6 Trace Device Driver in the kernel ] (10.20.R6: 98/08/17 14:23:04) ] /opt/sna/lib/libsna.1: ]R6.10.20.103 SNAplus2 R6 Standard Path Manager and support libraries, User Space ] (PHNE_17820 : 99/04/22 11:03:35) ] /opt/sna/lib/libsnainit.1: ]R6.10.20.101 SNAplus2 R6 Firmware download library ] (PHNE_17406 : 99/01/07 08:45:56) ] /opt/sna/lib/libsnalimen.1: ]R6.10.20.100 SNAplus2 R6 End Node License ] (10.20.R6: 98/08/17 13:49:23) ] /opt/sna/lib/libsnalimlen.1: ]R6.10.20.100 SNAplus2 R6 Len Node License ] (10.20.R6: 98/08/17 13:49:29) ] /opt/sna/lib/libxp.1: ]R6.10.20.100 SNAplus2 R6 XP Codex library ] (10.20.R6: 98/08/17 13:58:03) ] /opt/sna/lib/nls/msg/sna_log.msg: ]6.0.0-Wed_Sep_15_19:06:52_BST_1999_Message_file /opt/sna/lib/nls/msg/sna.cat: None /opt/sna/bin/snap2adm: HP92453-02A.10.00 HP-UX SYMBOLIC DEBUGGER (END.O) $R evision: 74.03 $ ]R6.10.20.103 SNAplus2 R6 ASCII Administration progr am ] (PHNE_19408 : 99/09/03 15:27:09) ] /opt/sna/bin/snap2adm.ui: None /opt/sna/bin/snap2adm_v.ui: None /opt/sna/bin/snapadmin: HP92453-02A.10.00 HP-UX SYMBOLIC DEBUGGER (END.O) $R evision: 74.03 $ ]R6.10.20.102 SNAplus2 R6 command line administratio n tool ] (PHNE_17820 : 99/03/25 16:36:14) ] /opt/sna/bin/snapcfgdae: HP92453-02A.10.00 HP-UX SYMBOLIC DEBUGGER (END.O) $R evision: 74.03 $ ]R6.10.20.102 SNAplus2 R6 Config Daemon ] (PHNE_17820 : 99/03/25 16:47:16) ] /opt/sna/bin/snapdaemon: HP92453-02A.10.00 HP-UX SYMBOLIC DEBUGGER (END.O) $R evision: 74.03 $ ]R6.10.20.100 SNAplus2 R6 daemon ] (10.20.R6: 98/08/17 14:04:17) ] /etc/opt/sna/snadlc.ini: None /opt/sna/bin/snaperrlog: HP92453-02A.10.00 HP-UX SYMBOLIC DEBUGGER (END.O) $R evision: 74.03 $ ]R6.10.20.103 SNAplus2 R6 Trace Daemon ] (PHNE_17820 : 99/04/22 11:03:10) ] /opt/sna/bin/snapfilter: HP92453-02A.10.00 HP-UX SYMBOLIC DEBUGGER (END.O) $R evision: 74.03 $ ]R6.10.20.100 SNAplus2 R6 trace filtering tool ] (10.20.R6: 98/08/17 14:04:40) ] /opt/sna/bin/snapmigrate2: HP92453-02A.10.00 HP-UX SYMBOLIC DEBUGGER (END.O) $R evision: 74.03 $ ]R6.10.20.105 SNAplus2 R6 Config file migration tool ] (PHNE_17820 : 99/04/23 17:19:49) ] /opt/sna/bin/snapslim: HP92453-02A.10.00 HP-UX SYMBOLIC DEBUGGER (END.O) $R evision: 74.03 $ ]R6.10.20.101 SNAplus2 R6 Client Server SLIM ] (PHNE_17406 : 99/01/05 13:45:04) ] /opt/sna/bin/snaptpsrvd: HP92453-02A.10.00 HP-UX SYMBOLIC DEBUGGER (END.O) $R evision: 74.03 $ ]R6.10.20.101 SNAplus2 R6 TP Server daemon ] (PHNE_17820 : 99/02/22 11:49:14) ] /opt/sna/bin/snaptrcfmt: HP92453-02A.10.00 HP-UX SYMBOLIC DEBUGGER (END.O) $R evision: 74.03 $ ]R6.10.20.103 SNAplus2 R6 trace formatting tool ] (PHNE_17820 : 99/04/20 11:21:45) ] /opt/sna/lib/X11/uid/XSnapadmin/xsnadlg.uid: None /opt/sna/bin/X11/xsnapadmin: HP92453-02A.10.00 HP-UX SYMBOLIC DEBUGGER (END.O) $R evision: 74.03 $ ]R6.10.20.105 SNAplus2 R6 Motif Administration progr am ] (PHNE_17820 : 99/03/25 15:38:03) ] /etc/opt/sna/app-defaults/XSnapadmin: None /opt/sna/bin/X11/xsnapconfig: HP92453-02A.10.00 HP-UX SYMBOLIC DEBUGGER (END.O) $R evision: 74.03 $ ]R6.10.20.100 SNAplus2 R6 V4 Configurator - Motif ] (10.20.R6: 98/08/17 14:27:51) ] /opt/sna/sam/SNA_SAM.sl: SNAplus2 R6.x SAM/HP-UX 10.20/Rev.A.1.19.05 date:10 /13/99 17:55:45 /opt/sna/conf/master.d/sna2: None /opt/sna/sam/C/help.hv: None /opt/sna/sam/C/help00.ht: None /opt/sna/sam/C/mainMenu.ui: None /opt/sna/sam/C/sdlcScreen.ui: None /opt/sna/sam/sna.da: None /opt/sna/sam/sna.tm: sna.tm */ /opt/sna/sam/C/sna2Scrn.ui: None /opt/sna/help/Help4SNAadmin.hv: None /opt/sna/help/Help4SNAadmin.hvk: None /opt/sna/help/Help4SNAadmin.xrh: None /opt/sna/help/Help4SNAadmin00.ht: None /opt/sna/help/Help4SNAadmin01.ht: None /opt/sna/help/Help4SNAadmin02.ht: None /opt/sna/help/Help4SNAadmin03.ht: None /opt/sna/help/Help4SNAadmin04.ht: None /opt/sna/help/Help4SNAadmin05.ht: None /opt/sna/help/Help4SNAadmin06.ht: None /opt/sna/help/Help4SNAadmin07.ht: None /opt/sna/help/Help4SNAadmin08.ht: None /opt/sna/help/Help4SNAadmin09.ht: None /opt/sna/samples/Common_patch.notes: None /opt/sna/include/values_c.h: None cksum(1) Output: 3840438584 98304 /opt/sna/lib/libcsv.1 3841626309 315392 /opt/sna/lib/libmgr.1 2807922143 319488 /opt/sna/lib/libmgrdce.1 1771403453 901120 /opt/sna/lib/libpe.1 2260732573 506108 /opt/sna/conf/lib/libsixc.a 2108515007 37656 /opt/sna/conf/lib/libsixt.a 3670756592 311296 /opt/sna/lib/libsna.1 4035899759 28672 /opt/sna/lib/libsnainit.1 3037513885 12288 /opt/sna/lib/libsnalimen.1 1037183111 12288 /opt/sna/lib/libsnalimlen.1 3930811363 434176 /opt/sna/lib/libxp.1 2445621088 693253 /opt/sna/lib/nls/msg/sna_log.msg 2209239710 277563 /opt/sna/lib/nls/msg/sna.cat 427190749 1347200 /opt/sna/bin/snap2adm 1245915260 267507 /opt/sna/bin/snap2adm.ui 1091268897 2384 /opt/sna/bin/snap2adm_v.ui 2137682904 142976 /opt/sna/bin/snapadmin 1109796302 802432 /opt/sna/bin/snapcfgdae 3538417662 56960 /opt/sna/bin/snapdaemon 2642396850 971 /etc/opt/sna/snadlc.ini 3174502739 147072 /opt/sna/bin/snaperrlog 3632593579 52864 /opt/sna/bin/snapfilter 1850641810 167552 /opt/sna/bin/snapmigrate2 1870193674 241280 /opt/sna/bin/snapslim 235020153 81536 /opt/sna/bin/snaptpsrvd 910614066 839296 /opt/sna/bin/snaptrcfmt 1696937371 774144 /opt/sna/lib/X11/uid/XSnapadmin/ xsnadlg.uid 669902100 1842816 /opt/sna/bin/X11/xsnapadmin 2528551778 103723 /etc/opt/sna/app-defaults/XSnapadmin 1115600945 937600 /opt/sna/bin/X11/xsnapconfig 886387405 290816 /opt/sna/sam/SNA_SAM.sl 3787861781 5087 /opt/sna/conf/master.d/sna2 900962088 6353 /opt/sna/sam/C/help.hv 2543082832 31822 /opt/sna/sam/C/help00.ht 1681861878 9721 /opt/sna/sam/C/mainMenu.ui 1373576839 6643 /opt/sna/sam/C/sdlcScreen.ui 1008204276 2111 /opt/sna/sam/sna.da 4099790121 29084 /opt/sna/sam/sna.tm 2065850599 8042 /opt/sna/sam/C/sna2Scrn.ui 3197575133 42187 /opt/sna/help/Help4SNAadmin.hv 1477735878 27524 /opt/sna/help/Help4SNAadmin.hvk 3113549800 27063 /opt/sna/help/Help4SNAadmin.xrh 1688519990 2830 /opt/sna/help/Help4SNAadmin00.ht 1838948408 37998 /opt/sna/help/Help4SNAadmin01.ht 1641023230 5598 /opt/sna/help/Help4SNAadmin02.ht 2917749968 2249 /opt/sna/help/Help4SNAadmin03.ht 3379569707 19420 /opt/sna/help/Help4SNAadmin04.ht 337456656 12578 /opt/sna/help/Help4SNAadmin05.ht 1208687017 82802 /opt/sna/help/Help4SNAadmin06.ht 1212670646 155643 /opt/sna/help/Help4SNAadmin07.ht 2401429427 67290 /opt/sna/help/Help4SNAadmin08.ht 125507641 35334 /opt/sna/help/Help4SNAadmin09.ht 2869331428 7220 /opt/sna/samples/Common_patch.notes 2934331960 182482 /opt/sna/include/values_c.h Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHNE_14393 PHNE_15938 PHNE_16759 PHNE_17406 PHNE_17820 PHNE_19071 PHNE_19408 Equivalent Patches: None Patch Package Size: 12680 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_20212 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHNE_20212.depot By default swinstall will archive the original software in /var/adm/sw/patch/PHNE_20212. 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_20212.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_20212.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: This patch installs enhancements to the SNAplus2 product. These are documented in SR 5003392456 and 1653245936 and in the /opt/sna/samples/Common_patch.notes file on the patched system.