Salesforce

Recovery - Object reference not set to an instance of an object - Invalid Source file

« Go Back

Information

 
Article TypeSolution Article
Scope/EnvironmentSDL TMS
Symptoms/Context
Tasks submitted to Recovery at Pre-processing with the following error message;

NullReferenceException : Object reference not set to an instance of an object. : Sdl.Tms.Ppt : at Sdl.Tms.Ppt.TmsDatabaseInhaler.FixTranslationUnitTagsAnchoring(TranslationUnit tu) at Sdl.Tms.Ppt.TmsDatabaseInhaler.BuildInhalationXml(IParagraphUnit unit, ISegmentPair segmentPair, WordCounts counts, ContextGenerator contextGenerator) at Sdl.Tms.Ppt.TmsDatabaseInhaler.ProcessParagraphUnit(IParagraphUnit unit) at Sdl.FileTypeSupport.Framework.Core.Utilities.BilingualApi.EventFiringBilingualProcessor.ProcessParagraphUnit(IParagraphUnit paragraphUnit) at Sdl.FileTypeSupport.Framework.Core.Utilities.BilingualApi.ParagraphUnitBuffer.Release() at Sdl.Tms.Ppt.TranslationSupport.CascadeApplyProcessor.Flush() at Sdl.Tms.Ppt.TranslationSupport.CascadeProcessor.FileComplete() at Sdl.FileTypeSupport.Framework.BilingualApi.AbstractBilingualContentProcessor.FileComplete() at Sdl.FileTypeSupport.Framework.BilingualApi.AbstractBilingualContentProcessor.FileComplete() at Sdl.FileTypeSupport.Framework.BilingualApi.AbstractBilingualContentProcessor.FileComplete() at Sdl.FileTypeSupport.Framework.Core.Utilities.BilingualApi.EventFiringBilingualProcessor.FileComplete() at Sdl.FileTypeSupport.Framework.Integration.AbstractBilingualProcessorContainer.FileComplete() at Sdl.FileTypeSupport.Framework.Integration.MultiFileConverter.FileComplete() at Sdl.FileTypeSupport.Framework.BilingualApi.AbstractBilingualContentProcessor.FileComplete() at Sdl.FileTypeSupport.Framework.Integration.AbstractBilingualProcessorContainer.FileComplete() at Sdl.FileTypeSupport.Bilingual.SdlXliff.XliffFileReader.OnEndFile() at Sdl.FileTypeSupport.Bilingual.SdlXliff.SdlXliffFeeder.<ContinueScanning>b__2(ISdlXliffStreamContentHandler handler) at System.Collections.Generic.List`1.ForEach(Action`1 action) at Sdl.FileTypeSupport.Bilingual.SdlXliff.SdlXliffFeeder.ContinueScanning() at Sdl.FileTypeSupport.Bilingual.SdlXliff.XliffFileReader.ContinueParsing() at Sdl.FileTypeSupport.Bilingual.SdlXliff.XliffFileReader.ParseNext()
Resolution
Check the source file to ensure that it's a valid format and there are is no corruption. 

In the case of Microsoft Office files;
  • Download the source file from SDL TMS
  • Open and check for any associated errors
  • Re-save as the original format
  • Upload as a new source file from the Recovery Interface in SDL TMS and submit the task out of Recovery. 
All other formats;
  • Download the source file from SDL TMS
  • Open and check for any associated errors
  • Validate version support against file type support for associated SDL TMS version

If the task source file appears to be valid, it's possible that this issue is related to an empty segment in the bilingual file. Please see article Recovery - Object reference not set to an instance of an object - Empty segment in bilingual file
Root Cause
The error message can mean one of two things;

1. The source file is corrupt

2. SDL TMS is generating the bilingual file which contains an empty segment and is therefore causing the building of the bilingual file to fail. This is only the case when the file type uses Paragraph segmentation rules. This issue is already identified as a known defect.

This article assumes the root cause is related to the first use case. Please refer to article for the instance where the issue is related to an empty segment in the bilingual file.
Reference
Attachment 1 
Attachment 2 
Attachment 3 
Attachment 4 
Attachment 5 

Powered by