VRTSsfmh ping ERROR: Can't coerce array into hash at /opt/VRTSsfmh/bin/ping line 163.

Article:TECH126384  |  Created: 2010-01-27  |  Updated: 2010-01-28  |  Article URL http://www.symantec.com/docs/TECH126384
Article Type
Technical Solution


Environment

Problem



VRTSsfmh ping ERROR: Can't coerce array into hash at /opt/VRTSsfmh/bin/ping line 163.

Solution




It has been seen that the /opt/VRTSsfmh/bin/ping command can fail soon after configuring the VRTSsfmh packages on a Solaris 10 x64 Server.

NOTE: All commands are run on the Managed Host. For this example sydfire07 is the CS and mtvv20z-01 is the MH.


Example of a corrupted dhc.conf file:

      # cat /var/opt/VRTSsfmh/dhc.conf
      [
      ]#
Typically the file would have the details of the Central Server:

    # cat /var/opt/VRTSsfmh/dhc.conf
    {
     "sfm://sydfire07.example.com:5634/" : "sydfire07.example.com"
    }#


Here is how to reproduce the corruption:

    # echo "[  ]" > /var/opt/VRTSsfmh/dhc.conf



Here is the ping command failing:

    # /opt/VRTSsfmh/bin/ping

    Executing /opt/VRTSsfmh/bin/xprtlc -l https://localhost/agent/domain/enum -m get -d format=json -d dronly=1 -d domain=sfm://sydfire07.example.com:5634/
    <h1>Software error:</h1>
    <pre>Can't coerce array into hash at /opt/VRTSsfmh/bin/ping line 163.
    </pre>
    <p>
    For help, please send mail to this site's webmaster, giving this error message
    and the time and date of the error.

    </p>
    [Wed Jan 27 13:28:00 2010] ping: Can't coerce array into hash at /opt/VRTSsfmh/bin/ping line 163.

To resolve the corruption, zeroing out the file, and re-running ping will rebuild the file correctly.

    # > /var/opt/VRTSsfmh/dhc.conf
    # /opt/VRTSsfmh/bin/ping

    Executing /opt/VRTSsfmh/bin/xprtlc -l https://localhost/agent/domain/enum -m get -d format=json -d dronly=1 -d domain=sfm://sydfire07.example.com:5634/

    Reporting to sydfire07.example.com with domain = sfm://sydfire07.example.com:5634/

    Reporting to domain sfm://sydfire07.example.com:5634/

    Executing /opt/VRTSsfmh/bin/xprtlc -c sfm://sydfire07.example.com:5634/ -n sfm -u vxss://sydfire07.example.com:14545/sfm_agent/sfm_domain/vx -l https://sydfire07.example.com:5634/agent/domain/report -m get -d dhc=1 -d redirect=1 -d proxy= -d domain=sfm://sydfire07.example.com:5634/ -d host=mtvv20z-01.example.com -d id={00040009-3d11-273c-0000-0000119aadf1} -d freq=300

    # cat /var/opt/VRTSsfmh/dhc.conf
    {
     "sfm://sydfire07.example.com:5634/" : "sydfire07.example.com"
    }#


The ping will cleanup the file on a 'working' configured MH system, if dhc.conf is correctly formatted or empty.
The source of the file corruption wasn't identified, but the fix is simple enough to allow the ping to resume working on the Solaris x64 SFM 2.1 Managed Host.

If this workaround doesn't resolve similar issues with Managed Host ping, please contact Symantec Technical Support.


Legacy ID



340991


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


Terms of use for this information are found in Legal Notices