You are viewing limited content. For full access, please sign in.

Question

Question

QuickFields error: Unexpected end of file while parsing Name has occurred

asked on October 23, 2024

I was trying to update the volume used by a QF session but was unable to save the change due to no access to the path where the session file is stored.

I closed the QF session and went to grant my user access to the session file.

When I tried reopening the QF session file, I am now experiencing this issue: Unexpected end of file while parsing Name has occurred. Line 434098, position 23.

According to other posts, the sessions file may have become corrupt. I have restarted the QuickFields server in an attempt to recover the file but the issue persists.

I am unable to recover a previous version of the file, but I have a very old backup. I would like to confirm that there are no other remedies to attempt before resorting to the backup.

 

Full error text:

System.Xml.XmlException: Unexpected end of file while parsing Name has occurred. Line 434098, position 23.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
   at System.Xml.XmlTextReaderImpl.Throw(Int32 pos, String res, String arg)
   at System.Xml.XmlTextReaderImpl.ParseQName(Boolean isQName, Int32 startOffset, Int32& colonPos)
   at System.Xml.XmlTextReaderImpl.ParseAttributes()
   at System.Xml.XmlTextReaderImpl.ParseElement()
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at Laserfiche.Serialization.LfXmlTextReader.Read()
   at System.Xml.XmlReader.ReadEndElement()
   at Laserfiche.BatchProcessor.ComponentModel.Design.BPFieldDesign.ReadXml(XmlReader reader, Version version, IServiceProvider provider)
   at Laserfiche.BatchProcessor.ComponentModel.BPFields.DeserializeDesigns(XmlReader reader, Version version, IServiceProvider provider)
   at Laserfiche.BatchProcessor.ComponentModel.BPFields.OnReadSessionXmlProperties(XmlReader reader, Version version, IServiceProvider provider)
   at Laserfiche.BatchProcessor.ComponentModel.BaseTreeItemImpl.OnReadSessionXml(XmlReader reader, Version version, IServiceProvider provider)
   at Laserfiche.QuickFields.ComponentModel.QFDocumentProperties.OnReadSessionXmlProperties(XmlReader reader, Version version, IServiceProvider provider)
   at Laserfiche.QuickFields.ComponentModel.QFDocumentProperties.ReadXml(XmlReader reader, Version version, IServiceProvider provider)
   at Laserfiche.QuickFields.ComponentModel.QF8DocumentClass.OnReadSessionXml(XmlReader reader, Version version, IServiceProvider provider)
   at Laserfiche.BatchProcessor.ComponentModel.BaseTreeItemImpl.Laserfiche.Serialization.ILfSerializable.ReadXml(XmlReader reader, Version version, IServiceProvider provider)
   at Laserfiche.BatchProcessor.SessionSerializeHelper.ReadDynamicObject(Object obj, XmlReader reader, Version version, IServiceProvider provider)
   at Laserfiche.BatchProcessor.SessionSerializeHelper.ReadDynamicList[T](ISessionItem parent, List`1 list, String elementName, XmlReader reader, Version version, IServiceProvider provider)
   at Laserfiche.BatchProcessor.ComponentModel.ClassManager.OnReadSessionXmlProperties(XmlReader reader, Version version, IServiceProvider provider)
   at Laserfiche.QuickFields.ComponentModel.QFClassManager.OnReadSessionXmlProperties(XmlReader reader, Version version, IServiceProvider provider)
   at Laserfiche.BatchProcessor.ComponentModel.BaseTreeItemImpl.OnReadSessionXml(XmlReader reader, Version version, IServiceProvider provider)
   at Laserfiche.BatchProcessor.ComponentModel.BaseTreeItemImpl.Laserfiche.Serialization.ILfSerializable.ReadXml(XmlReader reader, Version version, IServiceProvider provider)
   at Laserfiche.QuickFields.ComponentModel.QFSession.ReadPlainSessionXml(XmlReader reader, Version version, IServiceProvider provider)
   at Laserfiche.QuickFields.ComponentModel.QFSession.OnReadSessionXmlProperties(XmlReader reader, Version version, IServiceProvider provider)
   at Laserfiche.BatchProcessor.ComponentModel.Session.OnReadSessionXml(XmlReader reader, Version version, IServiceProvider provider)
   at Laserfiche.BatchProcessor.ComponentModel.BaseTreeItemImpl.Laserfiche.Serialization.ILfSerializable.ReadXml(XmlReader reader, Version version, IServiceProvider provider)
   at Laserfiche.BatchProcessor.Runtime.SessionFactory.CreateSession(XmlReader reader, Dictionary`2 createParams)
   at Laserfiche.BatchProcessor.BPManager.OpenNewSession(String filepath, Dictionary`2 createParams)

 

0 0

Replies

replied on October 27, 2024

Hello,  

I cannot reproduce this issue, my repository steps:  remove write and modify permissions, open the session, modify the volume, and then get access denied error. After closing, grant full access, then could open the session normally, modify and save it.

In order to be able to reproduce the issue, can you provide more session information? 
1. Is the account trying to modify the session the same as the account used to create the session? What permissions does it have when opened the session?
2. Are there any files not stored?
3. Any special settings?
You can try to open the session again using the same account or run Quick Fields as Admin.

Consider converting a Support case/Ticket to resolve the issue. This could provide more detailed information to help reproduce the problem and find the root cause.

 

0 0
replied on October 28, 2024

Hello @████████

Thank you for taking the time too look into this.

I opened up a ticket with my LF Support group and we viewed the Session file in a text editor (since they are basically XML files) and went to the line mentioned by the error message.

That line is actually the end of the file. I compared that to the old backup that I had and saw that the backup was larger by a few hundred thousand lines. It seemed unfeasible to manually patch the missing lines as the latest file had been updated for years after the backup, so I decided to just go with the backup after all and update it.

 

But to answer your questions:

The path that I did not have access to was on the server via File Explorer and not the repository.

The account that I was using to update the session was not the same account that created it.

I cannot verify that there are no files pending to be stored as I cannot open the session. (Unless opening a different session would also show pending files from this one. In that case, there are no pending files when I open another session.)

I tried opening the session as admin with no change in results.

 

1 0
You are not allowed to follow up in this post.

Sign in to reply to this post.