Event 40966 may occur during the Enterprise Vault (EV) File System Archiving (FSA) run with checkpointing enabled.

Article:TECH73185  |  Created: 2009-01-05  |  Updated: 2009-01-11  |  Article URL http://www.symantec.com/docs/TECH73185
Article Type
Technical Solution


Environment

Problem



Event 40966 may occur during the Enterprise Vault (EV) File System Archiving (FSA) run with checkpointing enabled.

Error



Event: 40966
Description:
A program fault has raised an exception.

Exception: Object reference not set to an instance of an object.
Diagnostic:
Type: System.NullReferenceException

Solution



This error may occur during the FSA run if checkpointing is enabled (default) on the task.  The task should restart and continue processing until the scheduled time has elapsed.  This issue is due to how the checkpoint file is being accessed by the task. Prior to EV version 8.0 the task would start from the beginning of the file system to scan the targeted volume.  In 8.0 checkpointing was introduced to allow the task to begin from the point it reached just prior to the end of the FSA task schedule.  This will allow the task to fully scan larger volumes when they are not able to be scanned within one scheduled archive run.    

A warning may also be received indicating that the volume has no Archive points associated.  

Event Type: Warning
Event Source: Enterprise Vault
Event Category: File System Archiving Task
Event ID: 40976
Description:
The file system volume \\?\UNC\fileserver\share has no Archive points associated.

Workaround 1: Use if Checkpointing is not needed.
Disable the checkpointing option for the FSA task.  The option will be reset to the default (enabled) if the properties of the file server are checked in the Vault Administration Console (VAC).  Perform the following procedures to schedule a SQL job that will ensure this option is turned off prior to the time the FSA task starts.  

1.  Open SQL Management Studio utility on the SQL server.
2.  Browse to SQL Server Agent\Jobs.
3.  Right-click on Jobs and choose New Job.
4.  In the Name field enter a name for the job.
5.  In the Description field enter a brief description for the job.
6.  Under Select a page choose Steps.  
7.  Click New and enter a Step name.
8.  For Type choose Transact-SQL script (T-SQL) from the list of available options.
9.  For Database choose EnterpriseVaultDirectory from the list of available options.
10.  In the Command box copy and paste the following query:

Use EnterpriseVaultDirectory
Update FileSystemArchivingTask
Set UseCheckPointing = 0 where UseCheckPointing = 1

11.  Under Select a page choose Advanced.
12.   For On success action choose Quit the job reporting success.
13.   For On failure action choose Quit the job reporting failure.
14.   Click OK to return to the New Job window.
15.   Under Select a page choose Schedules.
16.   Click New and enter a Name for the Job Schedule.
17.   For Schedule type choose Recurring from the list of available options.
18.   For Occurs choose a frequency (Daily, Weekly, Monthly) equivalent to the FSA task schedule.
19.   For Recurs every choose the appropriate options depending on the FSA task schedule.
20.   For Daily frequency choose the time the job should run.  This time should be before the start of the FSA task on EV server.  
21.   For Duration choose a start date to begin the job.
22.   Click OK 2 times


Workaround 2: Use if Checkpointing is needed.

Run Dtrace during the archive run to allow the process to run normally.   The following steps can be used to configure a scheduled job to start the Dtrace process automatically before the FSA task begins.  

1.  Log onto the EV server as the Vault Service Account (VSA).

2.  Create a new file on the C drive of the EV server and call it Dtrace.bat.

3.  Copy the following text into Dtrace.bat.

4.  Modify the value in the 'echo monitor' line so that it equals the number of hours the task is scheduled to run plus 1 minute.   If the task is set to run for 5 hours and Dtrace is started 1 minute before the task then the value should be 18060 (60*60*5+60).

echo off
rem This is script to enable Dtrace within a batch file.
rem Delete log file prior to starting if it exists.
set dtlogfile=c:\dtlog.txt
del %dtlogfile%

set dtcmds=dtracecmdfile.txt

rem Set the individual processes per process name using the SET command and V for Verbose.
echo set EvFsaArchivingTask v >> %dtcmds%
rem Set trigger to reduce the amount of information logged.
echo trigger >> %dtcmds%
echo include "trigger" >> %dtcmds%
echo q >> %dtcmds%
rem Set watch variables to monitor for the trigger.  
echo watch >> %dtcmds%
echo 3 >> %dtcmds%
echo c:\dtlog.txt >> %dtcmds%
echo 100 >> %dtcmds%
echo yes >> %dtcmds%
rem Set number of seconds to monitor.  This should be the number of seconds that the FSA task is scheduled
rem to run + the number of seconds before the task starts that the Dtrace is started.  
echo monitor 18060 >> %dtcmds%

rem run Dtrace command
dtrace <%dtcmds%

rem tidy up
del %dtcmds% /q


5.  Save the file to the <install_path>\Enterprise Vault directory

6.  Go to Start | All Programs | Accessories | System Tools | Scheduled Tasks.  

NOTE:  On Windows 2008 Scheduled Tasks has been changed to Task Scheduler.  

7.  Double-click Add Scheduled Task

8.  Click Next on the Scheduled Task Wizard.

9.  Click Browse and path to the <install_path>\Enterprise Vault directory.

10.  Select the Dtrace.bat file and click Open.

11.  Select the appropriate times to run the task so that it runs before the FSA task schedule and click Next.

12.  Select a Start time that is 1 minute before the FSA task begins and the appropriate day to run and click Next.  

13.  Enter the password for the VSA and click Next.

14.  Check the Open advanced properties for this task when I click Finish and click Finish.

15.  Verify that the Start in field shows the full path to the <install_path>\Enterprise Vault directory and that the task is set to Enabled.  

16.  Click OK to save the task.  

Optionally, the following can be used to run Dtrace manually on the EvFsaArchivingTask process on the EV server during the FSA task run.   Set a trigger on "trigger" to limit the amount of data that is logged to the file.  Take the defaults for watch values unless the log file path/name is changed.  http://entsupport.symantec.com/docs/284344


Solution:
This issue has been addressed as part of the following release:

Enterprise Vault 8.0 SP3
 http://entsupport.symantec.com/docs/308967

Enterprise Vault 8.0 SP2 Hotfix
 http://entsupport.symantec.com/docs/330214

Supplemental Materials

SourceEvent ID
Value40976
DescriptionThe file system volume \\?\UNC\fileserver\share has no Archive points associated.

SourceETrack
Value1732432
DescriptionFSA archive task will not process properly unless dtrace is running.

SourceETrack
Value1720497
DescriptionAfter running archiving task, it failed with Null exception after archiving for some hours.

SourceETrack
Value1713099
DescriptionOn running archiving, it completes with warnings in Event Viewer as No ArchivePoint exists.

SourceEvent ID
Value40966
DescriptionA program fault has raised an exception.


Legacy ID



329401


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


Terms of use for this information are found in Legal Notices