Object reference not set to an instance of an object in conjunction with TermVerifier

I repeatedly (but not always) get the error message: Object reference not set to an instance of an object
when I try to save a segment.
The error message indicates that the error was issued by TermVerifier

The only solution has been to (temporarily) disable Terminology Verification, but this is not really a solution.

<SDLErrorDetails time="16/03/2023 08:02:53">
  <ErrorMessage>Object reference not set to an instance of an object.</ErrorMessage>
  <Exception>
    <Type>System.NullReferenceException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</Type>
    <HelpLink />
    <Source>Sdl.Verification.TermVerifier</Source>
    <HResult>-2147467261</HResult>
    <StackTrace><![CDATA[   at Sdl.Verification.TermVerifier.TermVerifierProcessing.CheckForbiddenTerms(ISegment target)
   at Sdl.Verification.TermVerifier.TermVerifierProcessing.Verify(ISegment Source, ISegment Target, Boolean sourceHasRevisions, Boolean targetHasRevisions)
   at Sdl.Verification.TermVerifier.TermVerifierMain.ProcessParagraphUnit(IParagraphUnit paragraphUnit)
   at Sdl.FileTypeSupport.Framework.Core.Utilities.BilingualApi.BilingualContentHandlerAdapter.ProcessParagraphUnit(IParagraphUnit paragraphUnit)
   at Sdl.FileTypeSupport.Framework.Core.Utilities.BilingualApi.BilingualContentHandlerAdapter.ProcessParagraphUnit(IParagraphUnit paragraphUnit)
   at Sdl.FileTypeSupport.Framework.Core.Utilities.BilingualApi.BilingualContentHandlerAdapter.ProcessParagraphUnit(IParagraphUnit paragraphUnit)
   at Sdl.FileTypeSupport.Framework.Integration.AbstractBilingualProcessorContainer.ProcessParagraphUnit(IParagraphUnit paragraphUnit)
   at Sdl.FileTypeSupport.Framework.BilingualApi.AbstractBilingualContentProcessor.ProcessParagraphUnit(IParagraphUnit paragraphUnit)
   at Sdl.FileTypeSupport.Framework.Integration.LocationMarkerLocator.ProcessParagraphUnit(IParagraphUnit paragraphUnit)
   at Sdl.FileTypeSupport.Framework.Integration.AbstractBilingualProcessorContainer.ProcessParagraphUnit(IParagraphUnit paragraphUnit)
   at Sdl.FileTypeSupport.Framework.Integration.FileExtractor.ProcessParagraphUnit(IParagraphUnit paragraphUnit)
   at Sdl.TranslationStudio.Editor.TranslationEditor.SingleParagraphUnitBilingualParser.ParseNext()
   at Sdl.FileTypeSupport.Framework.Integration.FileExtractor.ParseNext()
   at Sdl.FileTypeSupport.Framework.Integration.MultiFileConverter.ParseNext()
   at Sdl.FileTypeSupport.Framework.Integration.MultiFileConverter.Parse()
   at Sdl.TranslationStudio.Editor.TranslationEditor.SegmentVerifier.Verify(ISegmentContainerNode segmentContainerNode, IParagraphUnitContainerNode paragraphContainerNode, IFileContainerNode fileContainerNode)
   at Sdl.TranslationStudio.Editor.TranslationEditor.TranslatableDocument.VerifySegment(ISegmentContainerNode segmentContainerNode, IParagraphUnitContainerNode paragraphContainerNode, IFileContainerNode fileContainerNode)
   at Sdl.TranslationStudio.Editor.TranslationEditor.SideBySideDocumentEditingView.VerifySegment()
   at Sdl.TranslationStudio.Editor.TranslationEditor.Actions.AbstractConfirmSegmentAction.ExecuteActiveSegment()
   at Sdl.TranslationStudio.Editor.TranslationEditor.Actions.AbstractConfirmSegmentAction.Execute()
   at Sdl.Desktop.Platform.Implementation.CommandBars.ActionService.<>c__DisplayClass30_0.<ExecuteAction>b__0()
   at Sdl.Desktop.Logger.Log.Resources(Object message, Action action)
   at Sdl.Desktop.Platform.Implementation.CommandBars.ActionService.ExecuteAction(IAction action, ActionOrigin origin, Boolean allowToggle)
   at Sdl.Desktop.Platform.Implementation.CommandBars.ActionService.ExecuteActionForShortcut(Keys shortcut)
   at Sdl.Desktop.Platform.WinForms.StudioWindowForm.OnKeyDown(KeyEventArgs e)
   at System.Windows.Forms.Control.ProcessKeyEventArgs(Message& m)
   at System.Windows.Forms.Form.ProcessKeyPreview(Message& m)
   at System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
   at System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
   at System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
   at System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
   at System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
   at System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
   at System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
   at System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
   at System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
   at System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
   at System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
   at System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
   at System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
   at System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
   at System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
   at System.Windows.Forms.Control.ProcessKeyPreview(Message& m)
   at System.Windows.Forms.Control.ProcessKeyMessage(Message& m)
   at System.Windows.Forms.Control.WmKeyChar(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.8.3007</EntryAssemblyFileVersion>
    <OperatingSystem>Microsoft Windows 10 Pro</OperatingSystem>
    <ServicePack>NULL</ServicePack>
    <OperatingSystemLanguage>2057</OperatingSystemLanguage>
    <CodePage>1252</CodePage>
    <LoggedOnUser>DESKTOP-ASJBLNL\Rudd</LoggedOnUser>
    <DotNetFrameWork>4.0.30319.42000</DotNetFrameWork>
    <ComputerName>DESKTOP-ASJBLNL</ComputerName>
    <ConnectedToNetwork>True</ConnectedToNetwork>
    <PhysicalMemory>8315872 MB</PhysicalMemory>
  </Environment>
</SDLErrorDetails>

emoji
Parents
  •  

    Analysing the error with my new found AI friend...

    The error is a "System.NullReferenceException", which occurs when a variable or object is being used but has not been initialized, and is null. The error message indicates that an "Object reference" is not set to an instance of an object. This usually means that a null value was returned from a method or property, and the code is trying to use this null value.

    Looking at the stack trace, the error seems to be originating from the "Sdl.Verification.TermVerifier" library, specifically in the "CheckForbiddenTerms" method of the "TermVerifierProcessing" class. The error occurs when this method tries to access an object that is null.

    Based on the environment information provided, it appears that the error occurred while using SDL Trados Studio 15.0.0.0 on Windows 10 Pro. The .NET Framework version being used is 4.0.30319.42000. It's also worth noting that the "PhysicalMemory" value is extremely high, which may or may not be relevant to the error.

    In summary, the error is a "System.NullReferenceException" that occurred in the "Sdl.Verification.TermVerifier" library, and specifically in the "CheckForbiddenTerms" method of the "TermVerifierProcessing" class.

    Based on this I'd suggest a couple of things for now:

    1. can you share how you have set up the term verification, specifically in relation to the use of the forbidden terms feature?
    2. can you create a small extract of your termbase with a few terms that returns the same error?
    3. does this happen with every termbase you have that uses this feature or just this one?
    4. des this happen when you disable the forbidden terms part of the verification rather than the entire term verification?

    Paul Filkin | RWS Group

    ________________________
    Design your own training!

    You've done the courses and still need to go a little further, or still not clear? 
    Tell us what you need in our Community Solutions Hub

    emoji
  • Your "friend" AI was quite good in its analysis.

    This particular problem was solved by disabling the "check forbidden terms", although this only moved the problem later.
    However, the explanation helped me diagnose this new problem, namely, "check for terms without a target equivalent".

    What, however, is disturbing is that the problem seems to be random.

    Once again, thanks.

    emoji
  •  

    However, the explanation helped me diagnose this new problem, namely, "check for terms without a target equivalent".

    What, however, is disturbing is that the problem seems to be random.

    It probably isn't random, so if you are able to create a small file that can repro this we can investigate it further.

    Paul Filkin | RWS Group

    ________________________
    Design your own training!

    You've done the courses and still need to go a little further, or still not clear? 
    Tell us what you need in our Community Solutions Hub

    emoji
Reply Children
No Data