VERITAS Cluster Server 5.0MP1+e1174520 patch for Solaris (SPARC)

Article:TECH57527  |  Created: 2008-01-12  |  Updated: 2012-04-03  |  Article URL http://www.symantec.com/docs/TECH57527
Article Type
Technical Solution

Product(s)

Environment

Issue



VERITAS Cluster Server 5.0MP1+e1174520 patch for Solaris (SPARC)


Error



Error messages for Etrack 1174520 - _had asserts, if SG with single system in SystemList is unfreezed

The VCS daemon "had" dumped core with the following stack.   (Please note the "had" program is written in C++ programming language, by  default the pstack command will show a mangled core stack.   Utilities like c++filt is required to demange the stack to a more human readable form.)

Sample 1:

ff11fc24 waitid   (0, 5b83, ffbe63d8, 103)
ff0d6c2c _waitpid (0, ffbe64c4, 100, ffbe64c4, 3, ffbe652d) + 60
ff1150e4 system   (ffbe6eb4, 7fffffff, 374512, 18d8, ffbe6ab4, 0) + 25c
002a0008 void VCSDumpStack() (37e988, 0, 0, 0, 0, 0) + 120
002a0528 VCSSegvHandler (b, ffbe7770, ffbe74b8, 0, 0, 0) + 50
ff19b218 __sighndlr (b, ffbe7770, ffbe74b8, 2a04d8, 40cbc0, 40cbb0) + c
ff19821c sigacthandler (b, 40cb18, 0, 0, 0, ff1ac000) + 708
--- called from signal handler with signal 11 (SIGSEGV) ---
0029b81c void VCSAssert(char*,char*,unsigned) (3712f7, 371307, 64, 0, 46726f7a, 41637469) + dc
00268640 int NVElem::gets32GL(char*) (5758b0, 45ca40, 0, 0, 41, 0) + b0
001543c4 void Group::unfreeze_persistent(void*,MsgHdr*,VList*) (5753b8, 4830e8, 6a9860, 6b2300, fe7d3a54, 12) + 33c
00128ff4 void Group::process_group(void*,MsgHdr*,VList*) (4830e8, 6a9860, 6b2300, 4, 0, 0) + 173c
0007d454 void process_message(void*,VList*,int) (4830e8, 6b2300, 0, 0, c8, 28e3) + 80c
00087d10 void MAIN(unsigned long,char**) (2b1b, 8000, 1, 297b, 2b2b, 0) + 5d60
0008962c main     (1, ffbefb3c, ffbefb44, 3b5800, 0, 0) + 4c
0006d688 _start   (0, 0, 0, 0, 0, 0) + 108

Sample 2:

0029b81c void VCSAssert(char*,char*,unsigned) (3712f7, 371307, 64, 0, 5446726f, 41637469) + dc
00268640 int NVElem::gets32GL(char*) (523190, 45ec88, 0, 0, 41, 0) + b0
00153804 void Group::unfreeze(void*,MsgHdr*,VList*) (522ce0, 483358, b9c128, e916f0, fe7d3a54, 12) + d84
00128cec void Group::process_group(void*,MsgHdr*,VList*) (483358, b9c128, e916f0, 4, 0, 0) + 1434
0007d454 void process_message(void*,VList*,int) (483358, e916f0, 0, 0, c8, 28e3) + 80c
00087d10 void MAIN(unsigned long,char**) (2b1b, 8000, 1, 2b16, 2b2b, 0) + 5d60
0008962c main     (2, ffbefabc, ffbefac8, 3b5800, 0, 0) + 4c
0006d688 _start   (0, 0, 0, 0, 0, 0) + 108


Cause



Problems are caused by the Etrack incidents listed in the Supplemental Material section.


Solution



The problems are fixed in the VCS version 5.0MP3.   Please download the patch from the Symantec Operation Readiness Tools website.
 
 
A point patch is also available for VCS 5.0MP1 which is attached to this article.   The following is the information regarding the point patch.
 
Patch installation instructions for Tarball vcs50mp1+e1174520.tar.gz is contained in the README file as shown below.   The Tarball contains the following Solaris patches.

127328-03 for Solaris 2.8
127329-03 for Solaris 2.9
127330-03 for Solaris 2.10

The following is the checksum of the Tarball file.

$ cksum vcs50mp1+e1174520.tar.gz
1618309479 51517242 vcs50mp1+e1174520.tar.gz

* * * READ ME - VERITAS CLUSTER SERVER 5.0 MP1 - VCS Engine POINT PATCH * * *

                  Patch Date:  January 22, 2008

This document provides information for:
   
   * POINT PATCH NAME
   * BEFORE GETTING STARTED
   * POINT PATCH SUMMARY OF CONTENT
   * PACKAGES AFFECTED BY PATCH
   * PATCH'S BASE VERSION
   * SUPPORTED OPERATING SYSTEMS
   * LIST OF INCIDENTS FIXED BY PATCH
   * INSTALLING THE PATCH
   * REMOVING THE PATCH

POINT PATCH NAME
----------------
Name: 50MP1+e1174520

BEFORE GETTING STARTED
----------------------

This patch is for systems running VCS 5.0 MP1 only. You must upgrade
to VCS 5.0 MP1 or 5.0MP1+e1096394+e1133223 before applying the patch.
This is a mandatory patch for VCS 5.0MP1, whereas, it is optional for
VCS 5.0MP1+e1096394+e1133223 version. Please check if it applies to
your environment from the description of the incident mentioned below.
This is a cumulative patch which includes fixes for e1096394 and e1133223.

POINT PATCH SUMMARY OF CONTENT
------------------------------
This point patch contains:

   README (this file)

   127328-03 for 2.8
   127329-03 for 2.9
   127330-03 for 2.10

PACKAGES AFFECTED BY PATCH
--------------------------
   VRTSvcs

PATCH'S BASE VERSION
--------------------
   VCS 5.0 MP1
   VCS 5.0MP1+e1096394+e1133223

SUPPORTED OPERATING SYSTEMS
---------------------------
   Solaris 8, 9, 10

LIST OF INCIDENTS FIXED BY PATCH
--------------------------------
1174520: _had asserts, if SG with single system in SystemList is unfreezed.

INSTALLING THE PATCH
-------------------------------------------------------------------------------
1.  Copy the point patch to a directory on your system:

# cp <patch.gz> .

2.  Unzip the compressed patch files that you want to install:

# gunzip *.gz

3.  Extract the compressed patch files from the tar files:

# tar -xvf <filename.tar>

       For example, for patch 127328-03, enter:

# tar -xvf 127328-03.tar
   
4.  Verify that /opt/VRTS/bin is in your PATH so you can execute all the
   product commands. Refer to the VCS Installation Guide for more
   information.

5.  Verify that the version of VRTSvcs is 5.0 MP1 or 5.0MP1+e1096394+e1133223.
   Assuming that 5.0MP1 is installed, here is the output of pkginfo.

   On each system, type:

# pkginfo -l VRTSvcs

   Output should resemble the following:
   
  PKGINST:  VRTSvcs
     NAME:  Veritas Cluster Server by Symantec
 CATEGORY:  system
     ARCH:  sparc
  VERSION:  5.0
  BASEDIR:  /
   VENDOR:  Symantec Corporation
     DESC:  Veritas Cluster Server by Symantec
   PSTAMP:  Veritas-5.0MP1-11/29/06-17:15:00
 INSTDATE:  Sep 14 2007 12:07
   STATUS:  completely installed
    FILES:      160 installed pathnames
                 22 shared pathnames
                 45 directories
                 85 executables
                  1 setuid/setgid executables
             142190 blocks used (approx)

6. Stop the cluster on all nodes. If the cluster is writable, you may
  close the configuration before stopping the cluster.

# haconf -dump -makero

  From one node, execute the following command.

# hastop -all -force

  Verify that the cluster is stopped on all nodes
  by running the ha command.

# hasys -state

  On all nodes, make sure that both had & hashadow processes are stopped.
  Also, stop the VCS CmdServer on all nodes.
  Determine the PID of the CmdServer and enter:
       # kill -9 <PID>

7. If you have configured DNS resources, please take a backup of
  /etc/VRTSvcs/conf/types.cf. You may restore this file after the
  patch is added. Do not perform step 11.

8. Change directory to the patch location.

9. On each node in the cluster, install the patch that corresponds to the
  version of the operating system running:
   
# patchadd <patch_id>


For Solaris 8, install patch 127328-03.
For Solaris 9, install patch 127329-03.
For Solaris 10, install patch 127330-03.

   Output resembles (for Solaris 9):
   
       Checking installed patches...
Executing prepatch script...
Verifying sufficient filesystem capacity (dry run method)...
Installing patch packages...
/var/sadm/pkg

Patch number 127329-03 has been successfully installed.
See /var/sadm/patch/127329-03/log for details

Patch packages installed:
 VRTSvcs

10. After installation is complete, verify that the patch has been installed.
  On each system, type:  
   
# showrev -p | grep <patch_id>
       
   The information displayed after successful installation resembles the
   following (Solaris 9 example):

# showrev -p | grep 127329-03

Patch: 127329-03 Obsoletes:  Requires:  Incompatibles: Packages: VRTSvcs

11. If you have configured DNS resources, skip this step.
 
   Copy /etc/VRTSvcs/conf/types.cf to /etc/VRTSvcs/conf/config/types.cf

12. At this time, you can start cluster services on all cluster nodes.
   On one node, please verify that VCS configuration is valid.

# hacf -verify config

   If the configuration is valid, start VCS:

# hastart

   On all other nodes, start VCS by issuing hastart once the
   first node goes to LOCAL_BUILD or RUNNING state.

REMOVING VCS PATCH
----------------------------------------------------------------
To remove the patch from a running VCS cluster:

1.  Perform step 6 from INSTALLING THE PATCH procedure.

2.  On each node in the cluster, type the following command:

# patchrm <patch_id>
       
3.  Verify that the patch has been removed from each system.
   For example, on a Solaris 8 machine, type:  
   
# showrev -p | grep 127328

It should not list the patch on this system.

4. Copy /etc/VRTSvcs/conf/types.cf to /etc/VRTSvcs/conf/config/types.cf

5. Restart the cluster by following step 12 from INSTALLING THE PATCH
  procedure.
 

Attachments

vcs50mp1_e1174520.tar_297646.gz (50.3 MBytes)

Supplemental Materials

Value1174520
Description

_had asserts, if SG with single system in SystemList is unfreezed.


Value1096394
Description

had dumps core when Notifier resource is configured


Value1113667
Description

Use of vfork causes a deadlock between parent & child processes.


Value1133223
Description

Perform analysis of thread-unsafe calls


Value1148937
Description

Cannot execute the command "haclus -declare outage/disaster -clus failover"


Value1093791
Description

takes nearly 1 hour to detect the secondary site fault after killing 'wac' , 'had' and unplumb of IP


Value1073370
Description

Icmp WAN heartbeat loss detection is excessively long on one of the clusters.



Legacy ID



297646


Article URL http://www.symantec.com/docs/TECH57527


Terms of use for this information are found in Legal Notices