Event Viewer Warnings for VSNAPVSS: How do I decipher this message?

Article Number: 
210

Summary:

This article covers warnings that are in the Event Viewer for StorageCraft's VSNAPVSS executable. This article was created to understand the VSNAPVSS messages, which will help in the troubleshooting Microsoft's VSS.

Information:


The Error and its Meaning:

VSNAPVSS can send a number of messages to the Event Viewer when VSS backups are experiencing troubles. An example Message would show like:

TYPE: WARNING
SOURCE: VSNAPVSS
EVENT ID: 6
DESCRIPTION: Internal Error (, 4, 121, 3)

The VSNAPVSS executable  is responsible for sending and monitoring VSS communication through the StorageCraft Driver stcvsm.sys.  An “Internal error" is the process by which VSNAPVSS reports delays or failures.  The warning  "Internal error" followed by a collection of number is cryptic.  To help understand what is happening in this Event, we will break this down to each component in the Event Viewer message.  The “Internal Error” is separated into FOUR parameters. 

Breakdown of the VSNAPVSS Internal Error.

The parameters are labeled in the following diagram using ”P” and a corresponding number e.g. P0:

Internal Error (P0, P1, P2, P3)

      1. P0 - is a volume name or an empty string.  In this case an empty string means the default volume.
      2.  P1 - is the VSS “Code-path” which was called in the driver.  This is the command that was sent to the driver on what is the next action it needs to perform
      3.  P2 – is a Win32 error code.  This is the return message sent by the driver from VSS.  You can see what that specific error is if you open a command prompt and run the following command:
          • net helpmsg  errorcode
      4. P3 - tells you which VSS phase was being called that failed.  This parameter is linked directly to the P1 parameter command that was passed to the Stcvsm.sys driver.

Breakdown of P1 and the corresponding responses from P3

The following section is a breakdown of the P1 commands and what their corresponding P3 return ID’s can be.  You'll notice that I did not mention Por P2.  This is because those other parameters are simple enough to troubleshoot given the previous information.  While Pis the error code received from VSS, it is still separated from the connection between   Pand P3.  The following list will list the Pcode first and have the  Pcode at the end.  If there are multiple possibilities for the P3 code then that will be shown in an indented bulleted format.

        •  P1 is 0 – legacy ShadowUser stuff, this call should never occur in SP:   P3 is always 0.
        •  P1 is 1 – “get statistics” call from VSNAPVSS to STCVSM:   P3 is always 0.
        •  P1 is 2 – “do the verb” call from VSNAPVSS to STCVSM, used only in PostFinalCommit (auto-recovery) paths:   P3 is one of the following the “verb code”:
          • P3 is 1 – PreFinalCommit
          • P3 is 2 – PostFinalCommit
          • P3 is 3 – PostFinalCommitNoAutoRecovery
        •  P1 is 3 – “start the snapshot state machine” call from VSNAPVSS to STCVSM: P3 is always 0.
        •  P1 is 4-  “do the next snapshot state machine phase” call from VSNAPVSS to STCVSM:
          • P3 is the VSS phase number (What step the VSS process is in):
          • P3 is 1 – end prepare
          • P3 is 2 – pre-commit
          • P3 is 3 – commit
          • P3 is 4 – post-commit
        •  P1 is 5 - “unsnap” call from VSNAPVSS to STCVSM:   P3 is always 0.
        •  P1 is 6 - “get snapshot volume name” call from VSNAPVSS to STCVSM:   Pis always 0.

EXAMPLE:

Using this information we can return to the original Event ID:

Internal Error (, 4, 121, 3)

        1. P0 --- (empty) is a volume name or an empty string.  In this case an empty string references the default volume.
        2. P1 --- (4)  is the code path for “Do the next VSS Phase”.  This means that VSNAPVSS called the driver to send the next command to VSS.
        3. P2 --- (121) is a Win32 error code.  This is the error sent by the driver from VSS.  121 is a SEMAPHORE timeout error which you can see if you open a command prompt and run the following command “net helpmsg 121”.
        4. P3 --- (3) tells you which VSS phase was being called that failed.  The number 3 is the Commit phase in vss.

So for this instance, VSNAPVSS returned a warning because VSS sent a Semaphore timeout during its Commit Phase.

Followup Troubleshooting:

VSNAPVSS Warnings will preface VSS errors in the event viewer because they announce a problem in VSS.  The next messages you almost always see are VSS specific errors .  You can Gain more knowledge about the VSS errors at Microsoft's Technet Page on the VSS Page:

http://technet.microsoft.com/en-us/library/cc734545(v=ws.10)

I've also written up another article on two common VSS errors that show up after VSNAPVSS throws a warning.  That article can be found here: 

VSS Errors 12293 and 12298: What does it all mean?

Comments

Tech-Werks

"The parameters are labeled

"The parameters are labeled in the following diagram using ”P” and a corresponding number e.g. P0:"

"Internal Error (P0, P1, P2, P3)"

 

This explanation had me looking for a "P" or "Parameter" somewhere in the event viewer, like the details tab. After reading it again I understood that the "P" is the numbered parameter in the parentheses given after "Internal error".  Not sure why that confused me, but it did.

 

Terms and Conditions of Use - Privacy Policy - Cookies