Problem
Enterprise Vault (EV) Indexing Service fails to start. Event 41293 logged showing a Compilation Error
Error Message
Event ID: 41293
Description: Compilation Error
V-437-41293
To validate if this is the issue a Dtrace is needed, please perform the following steps on the EV server that has generated Event ID 41293 while re-creating the issue.
- For more information about Enterprise Vault’s Dtrace Utility please see 100038975
- Dtrace the process EVIndexAdminService for no less than 5 minutes while re-creating the issue.
- Open the log file created and search for either of the following the strings:
{IndexingWCFProxy`1} Exception: The content type text/html; charset=utf-8 of the response message does not match the content type of the binding (text/xml; charset=utf-8). If using a custom encoder, be sure that the IsContentTypeSupported method is implemented properly. The first 1024 bytes of the response were: '<html>| <head>| <title>Compilation Error</title>| <style>| body {font-family:"Verdana";font-weight:normal;font-size: .7em;color:black;} | p {font-family:"Verdana";font-weight:normal;color:black;margin-top: -5px}| b {font-family:"Verdana";font-weight:bold;color:black;margin-top: -5px}| H1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }| H2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }| pre {font-family:"Lucida Console";font-size: .9em}| .marker {font-weight: bold; color: black;text-decoration: none;}| .version {color: gray;}| .error {margin-bottom: 10px;}| .expandable { text-decoration:underline; font-weight:bold; color:navy; cursor:hand; }| </style>| </head>| <body bgcolor="white">| <span><H1>Server Error in '/EVIndexing' Application.<hr width=100% size=1 color=silver></H1>| <h2> <i>Compilation Error</i> </h'. Info: Diag: Type:System.ServiceModel.ProtocolException ST:|Server stack trace:| at System.ServiceModel.Channels.HttpChannelUtilities.ValidateRequestReplyResponse(HttpWebRequest request, HttpWebResponse response, HttpChannelFactory factory, WebException responseException, ChannelBinding channelBinding)|at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)| at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)| at System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout)| at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)|at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)| at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)|Exception rethrown at [0]: | at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)| at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)| at Symantec.EnterpriseVault.Indexing.IndexingEngineService.VelocitySrvRef.VelocityPort.SearchServiceGet(SearchServiceGetRequest request)| at lambda_method(ExecutionScope , VelocityPort )| at KVS.EnterpriseVault.Runtime.WCF.WCFProxy`1.Invoke[TResult](Expression`1 method)| at Symantec.EnterpriseVault.Indexing.Common.IndexingWCFProxy`1.Invoke[TResult](Expression`1 method) Inner:System.Net.WebException: The remote server returned an error: (500) Internal Server Error.| at System.Net.HttpWebRequest.GetResponse()| at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
IIS Log from EV Server:
2012-06-10 01:15:27 ::1 POST /evindexing/velocity.aspx v.app=api-soap& 80 - ::1 - 401 2 5 1793
2012-06-10 01:15:27 ::1 POST /evindexing/velocity.aspx v.app=api-soap& 80 US2K7\eevadmin ::1 - 500 0 0 530
2012-06-10 01:15:27 ::1 POST /evindexing/velocity.aspx v.app=api-soap& 80 US2K7\eevadmin ::1 - 500 0 0 31
2012-06-10 01:15:27 ::1 POST /evindexing/velocity.aspx v.app=api-soap& 80 US2K7\eevadmin ::1 - 500 0 0 15
2012-06-10 01:15:27 ::1 POST /evindexing/velocity.aspx v.app=api-soap& 80 US2K7\eevadmin ::1 - 500 0 0 31
2012-06-10 01:15:27 ::1 POST /evindexing/velocity.aspx v.app=api-soap& 80 US2K7\eevadmin ::1 - 500 0 0 15
2012-06-10 01:15:27 ::1 POST /evindexing/velocity.aspx v.app=api-soap& 80 US2K7\eevadmin ::1 - 500 0 0 31
Opening the ../evindexing/velocity.aspx URL from above in a web browser, provides more information on the error.
Cause
The IISUser does not have permission to use the Windows Temp directory.
Solution
Grant the IIS_IUSRS Full Control rights to the Windows Temp directory. Normally, the temp folder is under C:\Windows\Temp.