Salesforce

WorldServer - Language resource templates from Studio 2019/2021 not working causing 'Object reference not set...' error at segmentation

« Go Back

Information

 
Article TypeSolution Article
Scope/EnvironmentWorldServer (earlier than version 11.6)
Symptoms/Context
After configuring a Language Ressource Template (LRT) created Trados Studio 2019, 2021 or 2022 in WorldServer, we receive segmentation errors:

Completed Segment Asset step of task 1 in time [00:00:00] on engine [] with result Error. Execution output: Cannot parse asset data. Details: com.idiominc.ws.filters.FilterParseException: Object reference not set to an instance of an object.

The stack trace from the engine.log points to Language Resource Template
 
[2022-03-28 08:26:51,708] [ERROR] [FSE daemon 1 (d3a00f) on host "xxxxxxxxx"] [32] [Sdl.WorldServer.FileTypeSupport.Server.Engine.Dal.FilterTask]: 
Exception when executing 'EXTRACT' task with ID '1142618' [C:\Worldserver\ClientX\Projects\83052_HU_neu\Source-German (Germany)\TD12000020_25_de-DE_to_hu-HU.xml]: 
System.NullReferenceException: Object reference not set to an instance of an object.
at Sdl.WorldServer.FileTypeSupport.Server.Tasks.TEMP.LanguageResourceEntityCollectionDataAccessor.<>c__DisplayClass6_0.<GetLanguageResource>b__0(LanguageResource resource) 
in C:\Builds\204\1591\Sources\src\Sdl\WorldServer\FileTypeSupport\Server\Tasks\TemporaryCode\LanguageResourceEntityCollectionDataAccessor.cs:line 92
Resolution
The resolution is to upgrade to version 11.6.1 or later.

The workaround for earlier versions is to

1- Open the Language Resource Template in a Text or XML Editor, i.e. Notepad ++
2- Replace Inside CultureName= with Lcid=
3- Replace the language code, for instance, "de-DE" for German with the language ID, in this case, "1031"

As a result, replace 

CultureName="de-DE"

with

Lcid="1031"

Replace the CultureName attribute with the Lcid for both source and target language. Another example could be CultureName="en-US"> to Lcid="1033">.

4- Save this change in your LRT.
5- Replace the previous LRT version with the changed one on the server where WorldServer is installed. This article can guide you if needed.
6- Restart WorldServer (Idiom Service) for the change to take effect.
7- Complete the segmentation error. The segmentation should complete successfully

Note: as soon as you open the LRT file again in Studio, the language code will change back to CultureName=". So you will need to apply steps 1 to 7 to the LRT file.
Root Cause
This issue happens because of a defect CRQ-18457 which is fixed starting from WorldServer 11.6.

The issue happens because the locale ID Lcid of the LRT was changed to CultureName and the locale ID was changed to the language code. WorldServer does not recognize these entries and the LRT settings cannot be applied.
Reference
Attachment 1 
Attachment 2 
Attachment 3 
Attachment 4 
Attachment 5 

Powered by