We have a problem with our production code using Studio API. We're running a server with Studio 2019 SR2 - 15.2.0.1041. The server receives requests from our internal automation and processes hundreds of Studio projects daily.
We are trying to update the production server Studio installation to the Studio 2019 SR2 15.2.8.3007 version, mainly to be able to use the new Subtitle filetype "Subtitles v1.0.0.0". In a test environment everything works as it should with our existing API code, but for some reason our logs get flushed with thousands of lines worth of repeated warnings related to "TranslationTelemetryUtil" as shown below. I've failed to find any references to this, except for some community ticket about this having to do something with the Customer Experience section of Studio (which is turned off in the installed Studio).
This seems to happen when our code extracts source segments to be sent to our internal NMT server. The existing code works fine in the 15.2.0.1041 production server.
We get this WARN text repeated for about all processed segments in a row within 2,5 seconds running time, until the segment processing goes through as before. For each request we now log about 4000 lines of this on average :)
[STP SmartThreadPool Thread #0] WARN TranslationTelemetryUtil - GetProviderName
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.MissingMethodException: No parameterless constructor defined for this object.
at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.Activator.CreateInstance(Type type)
at Sdl.Core.PluginFramework.DefaultObjectResolver.CreateObject(Type objectType, XElement attributeElement)
at Sdl.Core.PluginFramework.Implementation.Extension.CreateInstance()
at Sdl.Desktop.Platform.Implementation.Services.ServiceDescriptor.CreateService()
at Sdl.Desktop.Platform.Implementation.Services.PluginServiceFactory.CreateService()
at Sdl.Desktop.Platform.Implementation.Services.ServiceContext.GetLocalService[T]()
at Sdl.Desktop.Platform.Implementation.Services.GlobalServiceContext.GetService[T]()
at Sdl.BestMatchService.TranslationProvider.GenericTranslationProvider.GenericTranslationProviderWinFormsUi..ctor()
--- End of inner exception stack trace ---
at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.Activator.CreateInstance(Type type)
at Sdl.Core.PluginFramework.DefaultObjectResolver.CreateObject(Type objectType, XElement attributeElement)
at Sdl.Core.PluginFramework.Implementation.Extension.CreateInstance()
at Sdl.Core.PluginFramework.ObjectRegistry`2.CreateObjects()
at Sdl.LanguagePlatform.TranslationMemoryApi.TranslationProviderManager.GetTranslationProviderWinFormsUIs()
at Sdl.ProjectApi.Translation.TranslationTelemetryUtil.GetProviderName(Uri providerUri)
At the moment I have no idea what causes this, but it is something that has changed after the 15.2.0.1041 version.
Kind regards
Mikko Jakonen