Jump to content

Unable to save the file --- Attempt to read from a node that is in state 'Disposed'


Jonathan Guthrie

Recommended Posts

I have had this problem on and off from 11.x to now 11.6 when replacing a data table.

It is most annoying as the dxp loads fine, I can replace the table successfully and all calcs, data functions, visualisations work perfectly but I cannot save the updated dxp and receive the error below.

If you can provide some insight/guidance as to the cause of the error, then I might be able to resolve it. Appreciate your review of this.

Error message: Unable to save the file EAW_20__SF11.6__21.12.22__Lib20.06.04.9011_DI_API14.dxp.

SerializationException at Spotfire.Dxp.Framework:

Attempt to read from a node that is in state 'Disposed': Spotfire.Dxp.Framework.DocumentModel.State.DisposedUndoablePropertyNodeState`1[[spotfire.Dxp.Data.DataColumnImpl, Spotfire.Dxp.Data, Version=53.0.16605.3360, Culture=neutral, PublicKeyToken=789861576bd64dc5]].

Object reference chain leading to the fault (closest reference first):

Spotfire.Dxp.Application.CustomNodeStandIn.ActiveColumn

Spotfire.Dxp.Application.CustomNodes.Nodes[1]

Spotfire.Dxp.Application.Document.CustomNodes

(HRESULT: 8013150C)

Stack Trace:

at Spotfire.Dxp.Framework.Persistence.Xml.SerializationFormatter.Serialize(Object graph)

at Spotfire.Dxp.Framework.Persistence.PersistenceManager.SerializeForPersistence(Stream serializationStream, Object graph, IServiceProvider serviceProvider, PersistenceVersionAttribute compatibilityVersion, SerializationContext oldContext, SystemTypeSerializationSettings systemTypeSerializationSettings)

at Spotfire.Dxp.Framework.Persistence.PersistenceManager.c__DisplayClass20_0.b__0()

at Spotfire.Dxp.Framework.ApplicationModel.Progress.ExecuteSubtask(String title, ProgressOperation operation)

at Spotfire.Dxp.Framework.Persistence.PersistenceManager.Save(DocumentTypes documentType, DocumentNode doc, IDocumentSaveSettings settings, Stream targetStream)

at Spotfire.Dxp.Framework.Persistence.PersistenceManager.SaveToTempFile(DocumentTypes documentType, DocumentNode doc, IDocumentSaveSettings settings, Disposables cleanup, FileMetadata& fileMetadata)

at Spotfire.Dxp.Framework.Persistence.PersistenceManager.Save(DocumentTypes documentType, DocumentNode doc, IDocumentSaveSettings settings, String fileName)

at Spotfire.Dxp.Framework.DocumentModel.DocumentManager`1.c__DisplayClass63_0.b__0()

at Spotfire.Dxp.Framework.ApplicationModel.Progress.c__DisplayClass22_0.b__0()

at Spotfire.Dxp.Framework.ApplicationModel.MonitorableProgress.Start[T](Func`1 action)

at Spotfire.Dxp.Forms.Application.FormsProgressService.ProgressThread.DoOperationLoop()

 

InvalidOperationException at Spotfire.Dxp.Framework:

Attempt to read from a node that is in state 'Disposed': Spotfire.Dxp.Framework.DocumentModel.State.DisposedUndoablePropertyNodeState`1[[spotfire.Dxp.Data.DataColumnImpl, Spotfire.Dxp.Data, Version=53.0.16605.3360, Culture=neutral, PublicKeyToken=789861576bd64dc5]]. (HRESULT: 80131509)

Stack Trace:

at Spotfire.Dxp.Framework.DocumentModel.State.DisposedUndoableNodeState.LimitGenerationUsedByRuntimeProperty()

at Spotfire.Dxp.Framework.DocumentModel.UndoableProperty`1.get_Value()

at Spotfire.Dxp.Framework.DocumentModel.DocumentNode.SerializeProperty[T](SerializationInfo info, StreamingContext context, UndoableProperty`1 property, String fieldNameOverride)

at Spotfire.Dxp.Data.DataColumn.GetObjectData(SerializationInfo info, StreamingContext context)

at Spotfire.Dxp.Framework.DocumentModel.Node.System.Runtime.Serialization.ISerializable.GetObjectData(SerializationInfo info, StreamingContext context)

at Spotfire.Dxp.Framework.Persistence.PersistenceManager.GetObjectData(Object obj, SerializationInfo info, PrunerBase pruner, StreamingContext context)

at Spotfire.Dxp.Framework.Persistence.PersistenceManager.GetSerializationInfo(Object obj, Type objType, PrunerBase pruner, StreamingContext context)

at Spotfire.Dxp.Framework.Persistence.Xml.SerializationFormatter.SerializeObject(Int64 id, Object obj, Type objType)

at Spotfire.Dxp.Framework.Persistence.Xml.SerializationFormatter.SerializeDocumentNodeWhileSaving(Node node, ReferenceInfo referenceInfo)

at Spotfire.Dxp.Framework.Persistence.Xml.SerializationFormatter.SerializeField(String name, Object obj, Type declaredFieldType, String containingObjTypeName)

Link to comment
Share on other sites

  • 2 weeks later...
  • 7 months later...

I am having the same issue, in Tibco Spotfire Analysis 11.4.1

I swapped a data table and I get the error below.

I basically had to re-create the spotfire displays in an entirely new file.

Error message: Unable to save the file SF PRO All Assay Data MTTX June 2018 to Aug 24 2022.dxp.

SerializationException at Spotfire.Dxp.Framework:

Attempt to read from a node that is in state 'Disposed': Spotfire.Dxp.Framework.DocumentModel.State.DisposedUndoablePropertyNodeState`1[[spotfire.Dxp.Data.DataColumnImpl, Spotfire.Dxp.Data, Version=51.1.16706.4563, Culture=neutral, PublicKeyToken=789861576bd64dc5]].

Object reference chain leading to the fault (closest reference first):

   Spotfire.Dxp.Application.CustomNodeStandIn.Column

   Spotfire.Dxp.Application.CustomNodeStandIn.Columns[70]

   Spotfire.Dxp.Application.CustomNodeStandIn.Tables[0]

   Spotfire.Dxp.Application.CustomNodes.Nodes[2]

   Spotfire.Dxp.Application.Document.CustomNodes

 (HRESULT: 8013150C)

Stack Trace:

  at Spotfire.Dxp.Framework.Persistence.Xml.SerializationFormatter.Serialize(Object graph)

  at Spotfire.Dxp.Framework.Persistence.PersistenceManager.SerializeForPersistence(Stream serializationStream, Object graph, IServiceProvider serviceProvider, PersistenceVersionAttribute compatibilityVersion, SerializationContext oldContext, SystemTypeSerializationSettings systemTypeSerializationSettings)

  at Spotfire.Dxp.Framework.Persistence.PersistenceManager.<>c__DisplayClass20_0.<Save>b__0()

  at Spotfire.Dxp.Framework.ApplicationModel.Progress.ExecuteSubtask(String title, ProgressOperation operation)

  at Spotfire.Dxp.Framework.Persistence.PersistenceManager.Save(DocumentTypes documentType, DocumentNode doc, IDocumentSaveSettings settings, Stream targetStream)

  at Spotfire.Dxp.Framework.Persistence.PersistenceManager.SaveToTempFile(DocumentTypes documentType, DocumentNode doc, IDocumentSaveSettings settings, Disposables cleanup, FileMetadata& fileMetadata)

  at Spotfire.Dxp.Framework.Persistence.PersistenceManager.Save(DocumentTypes documentType, DocumentNode doc, IDocumentSaveSettings settings, String fileName)

  at Spotfire.Dxp.Framework.DocumentModel.DocumentManager`1.<>c__DisplayClass63_0.<Save>b__0()

  at Spotfire.Dxp.Framework.ApplicationModel.Progress.<>c__DisplayClass22_0.<Start>b__0()

  at Spotfire.Dxp.Framework.ApplicationModel.MonitorableProgress.Start[T](Func`1 action)

  at Spotfire.Dxp.Forms.Application.FormsProgressService.ProgressThread.DoOperationLoop()

InvalidOperationException at Spotfire.Dxp.Framework:

Attempt to read from a node that is in state 'Disposed': Spotfire.Dxp.Framework.DocumentModel.State.DisposedUndoablePropertyNodeState`1[[spotfire.Dxp.Data.DataColumnImpl, Spotfire.Dxp.Data, Version=51.1.16706.4563, Culture=neutral, PublicKeyToken=789861576bd64dc5]]. (HRESULT: 80131509)

Stack Trace:

  at Spotfire.Dxp.Framework.DocumentModel.State.DisposedUndoableNodeState.LimitGenerationUsedByRuntimeProperty()

  at Spotfire.Dxp.Framework.DocumentModel.UndoableProperty`1.get_Value()

  at Spotfire.Dxp.Framework.DocumentModel.DocumentNode.SerializeProperty[T](SerializationInfo info, StreamingContext context, UndoableProperty`1 property, String fieldNameOverride)

  at Spotfire.Dxp.Data.DataColumn.GetObjectData(SerializationInfo info, StreamingContext context)

  at Spotfire.Dxp.Framework.DocumentModel.Node.System.Runtime.Serialization.ISerializable.GetObjectData(SerializationInfo info, StreamingContext context)

  at Spotfire.Dxp.Framework.Persistence.PersistenceManager.GetObjectData(Object obj, SerializationInfo info, PrunerBase pruner, StreamingContext context)

  at Spotfire.Dxp.Framework.Persistence.PersistenceManager.GetSerializationInfo(Object obj, Type objType, PrunerBase pruner, StreamingContext context)

  at Spotfire.Dxp.Framework.Persistence.Xml.SerializationFormatter.SerializeObject(Int64 id, Object obj, Type objType)

  at Spotfire.Dxp.Framework.Persistence.Xml.SerializationFormatter.SerializeDocumentNodeWhileSaving(Node node, ReferenceInfo referenceInfo)

  at Spotfire.Dxp.Framework.Persistence.Xml.SerializationFormatter.SerializeField(String name, Object obj, Type declaredFieldType, String containingObjTypeName)

Link to comment
Share on other sites

  • 1 month later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...