Memories leak when creating SDL projects automatically.

For our business we are creating a lot of SDL projects automatically using a service which is using SDL API. The project that we created as a file which had been converted to sdlxliff and on which we performed pre-translation with memories that we have created using TMX.

Our problem is that the SDL version after SDL 2014 had introduced more memories leak which don’t allow us to upgrade to a new version because the service that is creating project is crashing. That is preventing us to use the functionality of SDL 2015.

What we identify is by just creating a project with a project template that has a size of 532Kb we are losing 4.5MG per project.

Is it possible to correct or find a bypass to this bug?

Parents
  • Can you please give me more details about how you identified the memory leak and why you define losing 4.5MG a memory leak? Did you get any OutOfMemoryExceptions

    Romulus Crisan | Translation Productivity Development Manager | SDL | (twitter) @cromica_82 | (blog) http://www.romuluscrisan.com/

  • In fact with an OutOfMemoryException after creating a number of SDL projects. The error is below:


    Problem with sdl creation 5989867_RO-EN:System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
    at System.Xml.Linq.XContainer.get_LastNode()
    at System.Xml.Linq.XContainer.<Nodes>d__0.MoveNext()
    at Sdl.Core.Settings.Implementation.Xml.Setting.WriteXml(XmlWriter writer)
    at Sdl.Core.Settings.Implementation.Xml.SettingsGroup.WriteXml(XmlWriter writer)
    at Sdl.Core.Settings.Implementation.Xml.SettingsBundle.WriteXml(XmlWriter writer)
    at Sdl.Core.Settings.Implementation.SettingsBundle.WriteXml(XmlWriter writer, Boolean includeInheritedSettings)
    at Sdl.ProjectApi.Implementation.Xml.SettingsBundle.SaveSettingsBundle(ISettingsBundle settingsBundle)
    at Sdl.ProjectApi.Implementation.SettingsBundlesList.SerializeSettingsBundle(Guid guid, ISettingsBundle settingsBundle)
    at Sdl.ProjectApi.Implementation.AbstractProjectConfiguration.set_Settings(ISettingsBundle value)
    at Sdl.ProjectApi.Implementation.Project.set_ProjectTemplate(IProjectTemplate value)
    at Sdl.ProjectApi.Implementation.ProjectServer.CreateNewProject(String projectName, Language sourceLanguage, Language[] targetLanguages, IProjectTemplate projectTemplate, String localDataFolder)
    at Sdl.ProjectAutomation.FileBased.FileBasedProject..ctor(ProjectInfo projectInfo, ProjectTemplateReference templateReference)
    at DGTRAD.SPTwistService.ClassSDL.createprojectjob(FileBasedProject newProject, String languagesource, String languagetarget, ProjectTemplateReference defaulttemplate, Boolean istwocolumns)
    Total time taken for createprojectjob: 33,4561706 sec
    starts to create project bis:5989867_RO-EN
    try to load project
    restart creation project
    ERROR: error error 404 the rest client file doesn't exist on the server : tradlabdas01:8088/.../ Failed to load project template from 'R:\SDL_projects\16_02_2016_17.20.39_5989867_RO-EN\Template_Project.sdltpl':
    Exception of type 'System.OutOfMemoryException' was thrown. ---> System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
    at System.Xml.XmlDocument.CreateTextNode(String text)
    at System.Xml.XmlLoader.LoadAttributeNode()
    at System.Xml.XmlLoader.LoadNode(Boolean skipOverWhitespace)
    at System.Xml.XmlLoader.ReadCurrentNode(XmlDocument doc, XmlReader reader)
    at System.Xml.XmlDocument.ReadNode(XmlReader reader)
    at System.Xml.Serialization.XmlSerializationReader.ReadXmlNode(Boolean wrapped)
    at Sdl.ProjectApi.Implementation.XmlSerialization.ProjectTemplateSerialization.XmlSerializationReaderProjectTemplate.Read59_SettingsBundle(Boolean isNullable, Boolean checkType)
    at Sdl.ProjectApi.Implementation.XmlSerialization.ProjectTemplateSerialization.XmlSerializationReaderProjectTemplate.Read75_ProjectTemplate(Boolean isNullable, Boolean checkType)
    at Sdl.ProjectApi.Implementation.XmlSerialization.ProjectTemplateSerialization.XmlSerializationReaderProjectTemplate.Read76_ProjectTemplate()
    at Sdl.ProjectApi.Implementation.XmlSerialization.ProjectTemplateSerialization.ProjectTemplateSerializer.Deserialize(XmlSerializationReader reader)
    at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
    at System.Xml.Serialization.XmlSerializer.Deserialize(Stream stream)
    at Sdl.ProjectApi.Implementation.Xml.ProjectTemplate.Deserialize(String path)
    at Sdl.ProjectApi.Implementation.ProjectTemplate.Load(String projectTemplateFilePath)
    --- End of inner exception stack trace ---
    at Sdl.ProjectApi.Implementation.ProjectTemplate.Load(String projectTemplateFilePath)
    at Sdl.ProjectApi.Implementation.ProjectTemplate..ctor(ProjectServer server, String projectTemplateFilePath)
    at Sdl.ProjectApi.Implementation.ProjectServer.ImportProjectTemplate(String projectTemplateFilePath)
    at Sdl.ProjectAutomation.FileBased.FileBasedProject..ctor(ProjectInfo projectInfo, ProjectTemplateReference templateReference)
    at DGTRAD.SPTwistService.ClassSDL.RecreateProject(FileBasedProject newProject, String projectname, String sdlprojectpath, String languagesource, String languagetarget, Boolean istwocolumns, ProjectTemplateReference defaulttemplate)
    at DGTRAD.SPTwistService.ClassSDL.startjob(String projectname, TMParameter[] TMs, Pretranslation[] tmPretranslat, String languagesource, String languagetarget, String temptemplatepath, String[] docsToTranslate, String[] referenceDocs, UpdateMemory updateMemory, String urlresponse, String rqID, Boolean istwocolumns)
Reply
  • In fact with an OutOfMemoryException after creating a number of SDL projects. The error is below:


    Problem with sdl creation 5989867_RO-EN:System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
    at System.Xml.Linq.XContainer.get_LastNode()
    at System.Xml.Linq.XContainer.<Nodes>d__0.MoveNext()
    at Sdl.Core.Settings.Implementation.Xml.Setting.WriteXml(XmlWriter writer)
    at Sdl.Core.Settings.Implementation.Xml.SettingsGroup.WriteXml(XmlWriter writer)
    at Sdl.Core.Settings.Implementation.Xml.SettingsBundle.WriteXml(XmlWriter writer)
    at Sdl.Core.Settings.Implementation.SettingsBundle.WriteXml(XmlWriter writer, Boolean includeInheritedSettings)
    at Sdl.ProjectApi.Implementation.Xml.SettingsBundle.SaveSettingsBundle(ISettingsBundle settingsBundle)
    at Sdl.ProjectApi.Implementation.SettingsBundlesList.SerializeSettingsBundle(Guid guid, ISettingsBundle settingsBundle)
    at Sdl.ProjectApi.Implementation.AbstractProjectConfiguration.set_Settings(ISettingsBundle value)
    at Sdl.ProjectApi.Implementation.Project.set_ProjectTemplate(IProjectTemplate value)
    at Sdl.ProjectApi.Implementation.ProjectServer.CreateNewProject(String projectName, Language sourceLanguage, Language[] targetLanguages, IProjectTemplate projectTemplate, String localDataFolder)
    at Sdl.ProjectAutomation.FileBased.FileBasedProject..ctor(ProjectInfo projectInfo, ProjectTemplateReference templateReference)
    at DGTRAD.SPTwistService.ClassSDL.createprojectjob(FileBasedProject newProject, String languagesource, String languagetarget, ProjectTemplateReference defaulttemplate, Boolean istwocolumns)
    Total time taken for createprojectjob: 33,4561706 sec
    starts to create project bis:5989867_RO-EN
    try to load project
    restart creation project
    ERROR: error error 404 the rest client file doesn't exist on the server : tradlabdas01:8088/.../ Failed to load project template from 'R:\SDL_projects\16_02_2016_17.20.39_5989867_RO-EN\Template_Project.sdltpl':
    Exception of type 'System.OutOfMemoryException' was thrown. ---> System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
    at System.Xml.XmlDocument.CreateTextNode(String text)
    at System.Xml.XmlLoader.LoadAttributeNode()
    at System.Xml.XmlLoader.LoadNode(Boolean skipOverWhitespace)
    at System.Xml.XmlLoader.ReadCurrentNode(XmlDocument doc, XmlReader reader)
    at System.Xml.XmlDocument.ReadNode(XmlReader reader)
    at System.Xml.Serialization.XmlSerializationReader.ReadXmlNode(Boolean wrapped)
    at Sdl.ProjectApi.Implementation.XmlSerialization.ProjectTemplateSerialization.XmlSerializationReaderProjectTemplate.Read59_SettingsBundle(Boolean isNullable, Boolean checkType)
    at Sdl.ProjectApi.Implementation.XmlSerialization.ProjectTemplateSerialization.XmlSerializationReaderProjectTemplate.Read75_ProjectTemplate(Boolean isNullable, Boolean checkType)
    at Sdl.ProjectApi.Implementation.XmlSerialization.ProjectTemplateSerialization.XmlSerializationReaderProjectTemplate.Read76_ProjectTemplate()
    at Sdl.ProjectApi.Implementation.XmlSerialization.ProjectTemplateSerialization.ProjectTemplateSerializer.Deserialize(XmlSerializationReader reader)
    at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
    at System.Xml.Serialization.XmlSerializer.Deserialize(Stream stream)
    at Sdl.ProjectApi.Implementation.Xml.ProjectTemplate.Deserialize(String path)
    at Sdl.ProjectApi.Implementation.ProjectTemplate.Load(String projectTemplateFilePath)
    --- End of inner exception stack trace ---
    at Sdl.ProjectApi.Implementation.ProjectTemplate.Load(String projectTemplateFilePath)
    at Sdl.ProjectApi.Implementation.ProjectTemplate..ctor(ProjectServer server, String projectTemplateFilePath)
    at Sdl.ProjectApi.Implementation.ProjectServer.ImportProjectTemplate(String projectTemplateFilePath)
    at Sdl.ProjectAutomation.FileBased.FileBasedProject..ctor(ProjectInfo projectInfo, ProjectTemplateReference templateReference)
    at DGTRAD.SPTwistService.ClassSDL.RecreateProject(FileBasedProject newProject, String projectname, String sdlprojectpath, String languagesource, String languagetarget, Boolean istwocolumns, ProjectTemplateReference defaulttemplate)
    at DGTRAD.SPTwistService.ClassSDL.startjob(String projectname, TMParameter[] TMs, Pretranslation[] tmPretranslat, String languagesource, String languagetarget, String temptemplatepath, String[] docsToTranslate, String[] referenceDocs, UpdateMemory updateMemory, String urlresponse, String rqID, Boolean istwocolumns)
Children
No Data