[OutDoc] OutDoc: Object reference not set to an instance of an object.
Forge component by OutSystems R&D
Application Type
Traditional Web
Service Studio Version
11.10.8 (Build 37957)
Platform Version
11.8.2 (Build 15398)

Hello all, 

When generating space documentacion with the Documentation_GenerateEspaceDocumentation method of the

Outdoc component we have the following  error:


Object reference not set to an instance of an object.: System.NullReferenceException: Object reference not set to an instance of an object.    at ServiceStudio.CrashAPI.ExecutionExtensions.ExecuteWithSilentErrorHandling(ActionWrapper actionWrapper, String context, ExceptionType exceptionType, IExecutionContext executionContext)
at ServiceStudio.Model.AbstractObject.AssertValidReferers()
at ServiceStudio.Model.ModelExtensions.DoForSelfAndAllChildren(AbstractObject obj, Action`1 action)
at ServiceStudio.Model.AbstractObject.Delete()
at ServiceStudio.Model.AbstractObject.RebindLiteralTextResourcesIn(AbstractObject parent, Action action)
at ServiceStudio.Expressions.AbstractExpression.SetExpression(AbstractObject parent, IExpressionPropertyDescriptor associatedProperty, String newText)
at ServiceStudio.Model.AbstractAttribute.RemoveInvalidProperties()
at ServiceStudio.Model.AbstractAttribute.FixOnImport(Importer importer, IImportTarget target)
at OutSystems.RuntimeCommon.CollectionsExtensions.Apply[Type](IEnumerable`1 collection, Action`1 action)
at ServiceStudio.Import.Importer.FinalizeImportPart2(IImportTarget target, IImportAdditionalDataGetter importAdditionalDataGetter)
at ServiceStudio.Clone.ObjectCloner.RunPendingFinalizesAfterImportForSignatureGeneration(ESpace eSpace)
at ServiceStudio.Model.ESpace.SignatureManager.UpdateSignatures(IEnumerable`1 infos, Action`2 processSignature)
at ServiceStudio.Model.ESpace.SignatureManager.<>c__DisplayClass35_0.<UpdateSignatures>b__0()
at ServiceStudio.Common.Synchronization.ReaderWriterLockExtensions.<>c__DisplayClass4_0.<DoWriteOperation>b__0()
at ServiceStudio.Common.Synchronization.ReaderWriterLockExtensions.DoWriteOperation[T](IReaderWriterLock readerWriterLock, Func`1 func)
at ServiceStudio.Model.ESpace.SignatureManager.UpdateSignatures(IEnumerable`1 keys)
at ServiceStudio.Model.ESpace.SignatureManager.<RegenerateAllSignatures>b__31_0()
at ServiceStudio.Common.Synchronization.ReaderWriterLockExtensions.<>c__DisplayClass4_0.<DoWriteOperation>b__0()
at ServiceStudio.Common.Synchronization.ReaderWriterLockExtensions.DoWriteOperation[T](IReaderWriterLock readerWriterLock, Func`1 func)
at ServiceStudio.Model.ESpace.SignatureManager.RegenerateAllSignatures()
at ServiceStudio.Model.ESpace.Load(Stream stream, String initialLastSavePath, Boolean isUnregisteredESpace, Boolean readOnlyMode, Boolean recoverMode, ObjectKey newKeyForClone, String productKey, Nullable`1 forceModifiedFlag, IInformationForESpaceUpgrade informationForUpgrader, Predicate`1 isAvailable, Boolean skipUpgradesForForge, Nullable`1 isIsolated, Boolean needsDeterministicKeys)
at ServiceStudio.Model.ESpace.Load(Byte[] bytes, String initialLastSavePath, String productKey, Nullable`1 forceModifiedFlag, IInformationForESpaceUpgrade informationForUpgrader, Predicate`1 isAvailable, Boolean skipUpgradesForForge, Nullable`1 isIsolated)
at ServiceStudio.Model.ESpace.Load(Byte[] bytes, String productKey, IInformationForESpaceUpgrade informationForUpgrader, Predicate`1 isAvailable, Boolean skipUpgradesForForge)
at ServiceStudio.DocSaver.DocSaverWorker.GetDocumentation(Byte[] oml, String& xml, String& errorsXml)

at ServiceStudio.DocSaver.DocSaver.GetDocumentation(Byte[] oml, String& xml)
at ssOutDoc.RssExtensionEspaceMetaModel.MssGetDocumentation(HeContext heContext, Byte[] inParamOml, String& outParamXml)

The input for the method is the Version_Id field of the Espace (System) entity retrieved by an aggregate.

Could this be a bug in the GetDocumentation method of the EspaceDataModel extension? 

Thanks in advance, 

 Roberto

Solution

Hello Roberto and Rob, we have released a new version of OutDoc recently that hopefully fixes this issue for you. Could you please download version 3.0.9 and check if the problem still persists?

Thank you

Joana

Coincidentally, I ran into the same error today.

It is only happening for a particular module (so far). Other modules are just generating fine. I did a republish of the OML and it's dependencies, that sometimes fixes the "Object reference not set to an instance of an object" found in other procedures. It did not help for this. I may need to try to publish a solution with full recompilation on.

Could you check this as well on your modules, Roberto?


Regards,

Rob

Hello Roberto and Rob.

Were you able to isolate the problem in a simple OML that you can share?

Thanks

Hello all, 

In my case there are up to 5 modules affected by that. We have a solution with all the modules in our environment and we have published it but after that the problem persists.

Regards, 

  Roberto

Hello Roberto.

I haven't been able to replicate the issue. If you can somehow isolate things and provide a sample would be great for us to try to replicate it and troubleshoot.

Does it also happen if you try a previous version of OutDoc?

Thanks


Hi César, 

 I've found that we don't have the latest version of Outdoc and that our current version has some customization (it's legacy code). I have to review that customization in order to try to get Outdoc up to date.

Thanks for your support  and sorry for the inconvenience.

Roberto


Solution

Hello Roberto and Rob, we have released a new version of OutDoc recently that hopefully fixes this issue for you. Could you please download version 3.0.9 and check if the problem still persists?

Thank you

Joana

Thank you Joana, it have solved the problem in our development environment, we are going to make now the updates to the new version in the rest of environments.

Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.