Index was out of range. Must be non-negative and less than the size of the collection.

I get this error, as well as extremely slow performance with a big TM I had upgraded to use upLIFT (which resulted in the DB becoming 4 times larger and unusable). This appears when I select that TM. When I click OK on the error I can use the TM but in Translation results window it will show "Searching..." which takes ages (not an issue with the same TM before upgrading it).

<SDLErrorDetails time="26/9/2019 9:14:05 μμ">
  <ErrorMessage>Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index</ErrorMessage>
  <Exception>
    <Type>System.ArgumentOutOfRangeException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</Type>
    <ParamName>index</ParamName>
    <HelpLink />
    <Source>mscorlib</Source>
    <HResult>-2146233086</HResult>
    <StackTrace><![CDATA[   at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
   at System.Collections.Generic.List`1.get_Item(Int32 index)
   at Sdl.TranslationStudio.Editor.TranslationMemory.ConcordanceSearchViewPartControl.GetCascadeEntry(Int32 cascadeEntryIndex)
   at Sdl.TranslationStudio.Editor.TranslationMemory.CompoundTranslationMemorySearchResultsControl.SetSearchResults(SearchResults searchResults)
   at Sdl.TranslationStudio.Editor.TranslationMemory.CompoundTranslationMemorySearchResultsControl.SetSearchResults(SearchResults searchResults, IEnumerable`1 cascadeMessages)
   at Sdl.TranslationStudio.Editor.TranslationMemory.ConcordanceSearchViewPartControl.UpdateContent()
   at Sdl.TranslationStudio.Editor.TranslationMemory.ConcordanceSearchViewPart.HandleTranslationProviderChanged()
   at Sdl.TranslationStudio.Editor.TranslationMemory.ConcordanceSearchViewPart.TranslationProvider_CascadesChanged(Object sender, EventArgs e)
   at System.EventHandler.Invoke(Object sender, EventArgs e)
   at Sdl.TranslationStudio.Editor.TranslationMemory.EditorTranslationProvider.ResetTranslationMemories()
   at Sdl.TranslationStudio.Editor.TranslationMemory.EditorTranslationProvider.CascadeItem_CascadeItemChanged(Object sender, CascadeItemChangedEventArgs e)
   at Sdl.ProjectApi.ProjectCascadeItem.OnCascadeItemChanged(ProjectCascadeItem oldCascadeItem, ProjectCascadeItem newCascadeItem)
   at Sdl.TranslationStudio.ProjectManagement.Settings.TranslationMemoriesSettingsPage.Save()
   at Sdl.Desktop.Platform.Implementation.Settings.AbstractSettingsHost.OnSave(Boolean validateInput)]]></StackTrace>
  </Exception>
  <Environment>
    <ProductName>SDL Trados Studio</ProductName>
    <ProductVersion>15.0.0.0</ProductVersion>
    <EntryAssemblyFileVersion>15.2.0.1041</EntryAssemblyFileVersion>
    <OperatingSystem>Microsoft Windows 10 Pro</OperatingSystem>
    <ServicePack>NULL</ServicePack>
    <OperatingSystemLanguage>1033</OperatingSystemLanguage>
    <CodePage>1253</CodePage>
    <LoggedOnUser>PC\spiros</LoggedOnUser>
    <DotNetFrameWork>4.0.30319.42000</DotNetFrameWork>
    <ComputerName>PC</ComputerName>
    <ConnectedToNetwork>True</ConnectedToNetwork>
    <PhysicalMemory>16725712 MB</PhysicalMemory>
  </Environment>
</SDLErrorDetails>

  • Is there an update for this issue because it is really bugging me?

    The suggested workaround doesn't work for me so well because I often have to work on WorldServer projects with a dozen or more TMs. Is there an easy way to ensure identical settings in all TMs?

    The stacktrace in my error details also looks very different. I hope this helps:

    <SDLErrorDetails time="19/03/2020 15:53:28">
      <ErrorMessage>Index was out of range. Must be non-negative and less than the size of the collection.
    Parameter name: index</ErrorMessage>
      <Exception>
        <Type>System.ArgumentOutOfRangeException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</Type>
        <ParamName>index</ParamName>
        <HelpLink />
        <Source>mscorlib</Source>
        <HResult>-2146233086</HResult>
        <StackTrace><![CDATA[   at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
       at Sdl.TranslationStudio.Editor.TranslationMemory.TranslationMemoryViewPartControl.ShowDocumentSource(List`1 placeables, EditDistance editDistanceInformation, Segment tuSourceSegment, Segment tokenizedDocumentSourceSegment)
       at Sdl.TranslationStudio.Editor.TranslationMemory.TranslationMemoryViewPartControl.ShowDocumentSource()
       at Sdl.TranslationStudio.Editor.TranslationMemory.TranslationMemoryViewPartControl.TranslationMemoryViewPartControl_CurrentSearchResultChanged(Object sender, EventArgs e)
       at System.EventHandler.Invoke(Object sender, EventArgs e)
       at Sdl.TranslationStudio.Editor.TranslationMemory.CompoundTranslationMemorySearchResultsControl._searchResultsControl_CurrentTranslationUnitChanged(Object sender, EventArgs e)
       at Sdl.TranslationStudio.Common.TranslationMemory.AbstractTranslationMemoryControl`1.OnCurrentTranslationUnitChanged()
       at Sdl.TranslationStudio.Common.TranslationMemory.AbstractTranslationMemoryControl`1.HandleActiveRowChanged(ActiveRowChangedEventArgs e)
       at Sdl.TranslationStudio.Common.TranslationMemory.AbstractTranslationMemoryControl`1.Source_ActiveRowChanged(Object sender, ActiveRowChangedEventArgs e)
       at System.EventHandler`1.Invoke(Object sender, TEventArgs e)
       at AbstractFrameworkEditControl.raise_ActiveRowChanged(Object value0, ActiveRowChangedEventArgs value1)
       at AbstractFrameworkEditControl.OnActiveRowChanged(Object sender, ActiveRowChangedEventArgs args)
       at AbstractFrameworkEditControl.set_ActiveRow(IRowInfo activeRow)
       at Sdl.DesktopEditor.Control.Support.RowInfo.set_Active(Boolean value)
       at SideBySideEditor.set_ActiveRowNumber(Int32 rowNumber)
       at Sdl.TranslationStudio.Common.TranslationMemory.AbstractTranslationMemoryControl`1.set_CurrentTranslationUnitIndex(Int32 value)
       at Sdl.TranslationStudio.Common.TranslationMemory.AbstractTranslationMemoryControl`1.SideBySideEditor_AfterInitialUpdate(Object sender, AfterInitialUpdateEventArgs e)
       at SideBySideEditor.raise_AfterInitialUpdate(Object value0, AfterInitialUpdateEventArgs value1)
       at SideBySideEditor.OnAfterInitialUpdate(Object sender, AfterInitialUpdateEventArgs args)
       at SideBySideEditor.Target_AfterInitialUpdate(Object sender, AfterInitialUpdateEventArgs args)
       at AbstractFrameworkEditControl.raise_AfterInitialUpdate(Object value0, AfterInitialUpdateEventArgs value1)
       at AbstractFrameworkEditControl.OnAfterInitialUpdate(Object sender, AfterInitialUpdateEventArgs args)
       at FrameworkEditControlEventSource.AfterInitialUpdate(FrameworkEditControlEventSource* )
       at Tree.DocumentControl.vl_WindowProc(DocumentControl* , HWND__* , UInt32 , UInt32 , Int32 )
       at FrameworkDocumentControl.vl_WindowProc(FrameworkDocumentControl* , HWND__* h_wnd, UInt32 n_msg, UInt32 w_p, Int32 l_p)
       at System.Windows.Forms.UnsafeNativeMethods.CallWindowProc(IntPtr wndProc, IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam)
       at System.Windows.Forms.NativeWindow.DefWndProc(Message& m)
       at System.Windows.Forms.Control.DefWndProc(Message& m)
       at System.Windows.Forms.Control.WndProc(Message& m)
       at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
       at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)]]></StackTrace>
      </Exception>
      <Environment>
        <ProductName>SDL Trados Studio</ProductName>
        <ProductVersion>15.0.0.0</ProductVersion>
        <EntryAssemblyFileVersion>15.2.5.2145</EntryAssemblyFileVersion>
        <OperatingSystem>Microsoft Windows 10 Home</OperatingSystem>
        <ServicePack>NULL</ServicePack>
        <OperatingSystemLanguage>1033</OperatingSystemLanguage>
        <CodePage>1252</CodePage>
        <LoggedOnUser>EUKLID\theka</LoggedOnUser>
        <DotNetFrameWork>4.0.30319.42000</DotNetFrameWork>
        <ComputerName>EUKLID</ComputerName>
        <ConnectedToNetwork>True</ConnectedToNetwork>
        <PhysicalMemory>16670208 MB</PhysicalMemory>
      </Environment>
    </SDLErrorDetails>

  • Hello ,

    Sorry for the delay in getting back to you- 

    Maybe take a look at the following free 'applyTM Template' app-

    https://appstore.sdl.com/language/app/applytm-template/966/

    You can easily apply settings across multiple TM's so should be the solution you are looking for.

    Screenshot of a tip suggesting to type @username when replying to a post in Trados Studio to ensure the user receives an email notification.

    Oana Nagy | QA Engineer | RWS Group

    emoji


    Generated Image Alt-Text
    [edited by: Trados AI at 8:34 PM (GMT 0) on 28 Feb 2024]
  • Hi @Steven Whale,

    Thank you very much for the tip. It looks very promising. I'll definitely give it a try.