Enterprise Vault IMAP - invalid input string.

By | December 17, 2015

One of my customer wanted to use a new feature of Enterprise Vault 11 - archive access by IMAP. However they faced with a problem as the Metadata Store Build task didn't work correctly - status of the subtask was stuck to Will Retry. In the Enterprise Vault Event Viewer we could find the following info:

Command Line: "C:\Program Files (x86)\Enterprise Vault\EVMDSBuildTask.exe" -URL:tcp://192.168.203.200:23987/1d44983d_4abb_4f05_8988_7b9b2513e2fb/KVS.EnterpriseVault.ProcessManager41728762 -CUSTOM:1F2324323DAAS3B82B71B6C846E91013b00EVSERVER|False|1B80BEAA014R422323WEF9C2E7542AD1013a00EVSERVER
Application Domain: EVMDSBuildTask.exe
Process Id: 13308
Thread Id: 12328
Stack Trace:    at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
   at System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)
   at System.Double.Parse(String s, NumberStyles style, NumberFormatInfo info)
   at System.Convert.ToDouble(String value, IFormatProvider provider)
   at System.String.System.IConvertible.ToDouble(IFormatProvider provider)
   at System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider)
   at System.Convert.ChangeType(Object value, Type conversionType)
   at Symantec.EnterpriseVault.EVMDSBuildTask.InjectionValuesConfig.GetConfigValue[T](String key, T defaultValue)
   at Symantec.EnterpriseVault.EVMDSBuildTask.InjectionValuesConfig..ctor()
   at Symantec.EnterpriseVault.EVMDSBuildTask.UnityConfiguration.Configure(IUnityContainer unityContainer)
   at Symantec.EnterpriseVault.EVMDSBuildTask.MDSBuildTaskProcessor.ProcessSubtask(String[] args)
   at KVS.EnterpriseVault.Common.SubTaskProcessor.TaskMain(String[] args)

In the dtrace log for EVMDSBuildTask:

InjectionValuesConfig} Loaded [MaximumConcurrentSearches] from config with value [4].
183    14:45:31.724     [11064]    (EVMDSBuildTask)    <3140>    EV-L    {InjectionValuesConfig} Loaded [MaximumRangesPerQuery] from config with value [100].
184    14:45:31.740     [11064]    (EVMDSBuildTask)    <3140>    EV~E    |Event ID: 40966 A program fault has raised an exception.|Exception: Input string was not in a correct format.|Diagnostic: |Type: System.FormatException|Reference: |Command Line: "C:\Program Files (x86)\Enterprise Vault\EVMDSBuildTask.exe" -URL:tcp://192.168.203.200:23987/1d44983d_4abb_4f05_8988_7b9b2513e2fb/KVS.EnterpriseVault.ProcessManager41728762 -CUSTOM:1F2324323DAAS3B82B71B6C846E91013b00EVSERVER|False|1B80BEAA014R422323WEF9C2E7542AD1013a00EVSERVERApplication Domain: EVMDSBuildTask.exe|Process Id: 11064|Thread Id: 3140|Stack Trace:    at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)|   at System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt)|   at System.Double.Parse(String s, NumberStyles style,

We realized that there would be a problem probably with "," in archive name:

Enterprise Vault - IMAP Metadata Store Build

The workaround was a typical for Veritas products 🙂 There was necessary to change the regional number format settings on the Enterprise Vault Server to use a period for the decimal separator as follows:

  1. Navigate to Start --> Control Panel --> Clock, Language, and Region --> Change the date, time, or number format
  2. Select Additional Settings on the Formats tab.
  3. Change the Decimal symbol value to a period "."
  4. Save new settings.
Author: Mariusz

Architect (~ 15 years experience based on passion...) with strong background as a System Administrator and Engineer. Focused on Data Center Solutions: Virtualization/Cloud Computing and Storage/Backup Systems. Currently living in Poland.