return "something went wrong with the node! Exeption thrown" + "<br/>" + e.Message.ToString();
}
return "Document Published!";
}
The thing is that after I created some nodes that were working just fine (I could see them in my menu, etc) I went back to the backend and suddenly I could't publish any nodes. And I got this error
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[NullReferenceException: Object reference not set to an instance of an object.]
I edited the web.config to restart the application, I did the whole iisreset routine and still I couldn't publish. So I went to the umbracoLog to check things out. So there are my findings:
Entry 2992: Loading content from database...
Entry: 2993: NodeId: -1
Error Republishing: System.Xml.XmlException: '>' is an unexpected token. Expecting white space. Line 13, position 15.
at System.Xml.XmlTextReaderImpl.Throw(Exception e)
at System.Xml.XmlTextReaderImpl.DtdParserProxy.System.Xml.IDtdParserAdapter.Throw(Exception e)
at System.Xml.DtdParser.Throw(Int32 curPos, String res, String arg)
at System.Xml.DtdParser.GetToken(Boolean needWhiteSpace)
at System.Xml.DtdParser.ParseElementDecl()
at System.Xml.DtdParser.ParseSubset()
at System.Xml.DtdParser.ParseInDocumentDtd(Boolean saveInternalSubset)
at System.Xml.DtdParser.Parse(Boolean saveInternalSubset)
at System.Xml.DtdParser.System.Xml.IDtdParser.ParseInternalDtd(IDtdParserAdapter adapter, Boolean saveInternalSubset)
at System.Xml.XmlTextReaderImpl.ParseDtd()
at System.Xml.XmlTextReaderImpl.ParseDoctypeDecl()
at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
at System.Xml.XmlTextReaderImpl.Read()
at System.Xml.XmlLoader.LoadNode(Boolean skipOverWhitespace)
at System.Xml.XmlLoader.LoadDocSequence(XmlDocument parentDoc)
at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace)
at System.Xml.XmlDocument.Load(XmlReader reader)
at System.Xml.XmlDocument.LoadXml(String xml)
at umbraco.content.InitContentDocumentBase(XmlDocument xmlDoc)
at umbraco.content.LoadContentFromDatabase()
Xml wasn't saved: System.Xml.XmlException: Invalid XML document. The document does not have a root element.
at System.Xml.XmlDocument.Save(String filename)
at umbraco.content.PersistXmlToFile(XmlDocument xmlDoc)
When I try to open the homepage node (ID 1049), I can see the contents but I can't publish it. I get this log entry at the node -1 after the publish of the node 1049
After a search in the API and careful reading of the umbracoLog here is the entry which I believe shows where the problem is
Xml wasn't saved: System.Xml.XmlException: Invalid XML document. The document does not have a root element.
at System.Xml.XmlDocument.Save(String filename)
at umbraco.content.PersistXmlToFile(XmlDocument xmlDoc)
Just noticed that the umbraco.config file keeps disappearing when I try to republish the entire site or just a node. As a result I get the /config/splashes/noNodes.aspx when I run the site.
Did I say that today I updated to 4.5.1 ? Then the problems started. Everyone else has downloaded and tested 4.5.1 ? Maybe it's a general problem. Or not... :(
After a lot of hours under the umbraco hood I found the problem...
oh... and the problem was so insignificant that I might be a little dumb. because it was right in front of me.
Well, apparently I created a document type with a greek name and forgot to change the alias to an english one, as a result, an empty alias for the document type. That messed up the DTD of the umbraco.config xml... and all hell broke loose.
I guess umbraco shouldn't let you save a doctype with an empty alias... and I guess I should report the bug to the team.
I have run into the same error as you it seems. I have imported some 1000 documents programatically and after they have been imported it seems this issue has occured whenever I try to publish a node or restart the app and so forth. I have checked all my doctypes and they all have an english alias - no funny characters!
I'm running 4.5.1 as I guess you did. Any other findings you might want to share from your issue-solving actions?
Unable to publish
So, this is what happened...
I did some R&D with the API and I added a method in my XSLT Extension, just to test the Publish method
public static string testPublish(string nodeName)
{
try
{
DocumentType dt = DocumentType.GetByAlias("textpage");
User author = User.GetUser(0);
Document doc = Document.MakeNew(nodeName, dt, author, 1049);
doc.Publish(author);
umbraco.library.UpdateDocumentCache(doc.Id);
}
catch (Exception e)
{
return "something went wrong with the node! Exeption thrown" + "<br/>" + e.Message.ToString();
}
return "Document Published!";
}
The thing is that after I created some nodes that were working just fine (I could see them in my menu, etc) I went back to the backend and suddenly I could't publish any nodes. And I got this error
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[NullReferenceException: Object reference not set to an instance of an object.]
umbraco.content.ValidateSchema(String docTypeAlias, XmlDocument xmlDoc) +51
umbraco.content.AppendDocumentXml(Int32 id, Int32 level, Int32 parentId, XmlNode docXml, XmlDocument xmlContentCopy) +120
umbraco.content.PublishNodeDo(Document d, XmlDocument xmlContentCopy, Boolean updateSitemapProvider) +217
umbraco.content.UpdateDocumentCache(Document d) +407
umbraco.content.UpdateDocumentCache(Int32 pageId) +75
umbraco.library.UpdateDocumentCache(Int32 DocumentId) +150
umbraco.cms.presentation.editContent.Publish(Object sender, EventArgs e) +462
System.EventHandler.Invoke(Object sender, EventArgs e) +0
umbraco.controls.ContentControl.savePublish(Object Sender, ImageClickEventArgs e) +96
System.Web.UI.WebControls.ImageButton.OnClick(ImageClickEventArgs e) +115
System.Web.UI.WebControls.ImageButton.RaisePostBackEvent(String eventArgument) +120
System.Web.UI.WebControls.ImageButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5563
I edited the web.config to restart the application, I did the whole iisreset routine and still I couldn't publish. So I went to the umbracoLog to check things out. So there are my findings:
Entry 2992: Loading content from database...
Entry: 2993: NodeId: -1
Error Republishing: System.Xml.XmlException: '>' is an unexpected token. Expecting white space. Line 13, position 15.
at System.Xml.XmlTextReaderImpl.Throw(Exception e)
at System.Xml.XmlTextReaderImpl.DtdParserProxy.System.Xml.IDtdParserAdapter.Throw(Exception e)
at System.Xml.DtdParser.Throw(Int32 curPos, String res, String arg)
at System.Xml.DtdParser.GetToken(Boolean needWhiteSpace)
at System.Xml.DtdParser.ParseElementDecl()
at System.Xml.DtdParser.ParseSubset()
at System.Xml.DtdParser.ParseInDocumentDtd(Boolean saveInternalSubset)
at System.Xml.DtdParser.Parse(Boolean saveInternalSubset)
at System.Xml.DtdParser.System.Xml.IDtdParser.ParseInternalDtd(IDtdParserAdapter adapter, Boolean saveInternalSubset)
at System.Xml.XmlTextReaderImpl.ParseDtd()
at System.Xml.XmlTextReaderImpl.ParseDoctypeDecl()
at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
at System.Xml.XmlTextReaderImpl.Read()
at System.Xml.XmlLoader.LoadNode(Boolean skipOverWhitespace)
at System.Xml.XmlLoader.LoadDocSequence(XmlDocument parentDoc)
at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace)
at System.Xml.XmlDocument.Load(XmlReader reader)
at System.Xml.XmlDocument.LoadXml(String xml)
at umbraco.content.InitContentDocumentBase(XmlDocument xmlDoc)
at umbraco.content.LoadContentFromDatabase()
Xml wasn't saved: System.Xml.XmlException: Invalid XML document. The document does not have a root element.
at System.Xml.XmlDocument.Save(String filename)
at umbraco.content.PersistXmlToFile(XmlDocument xmlDoc)
When I try to open the homepage node (ID 1049), I can see the contents but I can't publish it. I get this log entry at the node -1 after the publish of the node 1049
At /umbraco/editContent.aspx?id=1049 (Referred by: http://localhost/umbraco/editContent.aspx?id=1049): System.NullReferenceException: Object reference not set to an instance of an object.
at umbraco.content.ValidateSchema(String docTypeAlias, XmlDocument xmlDoc)
at umbraco.content.AppendDocumentXml(Int32 id, Int32 level, Int32 parentId, XmlNode docXml, XmlDocument xmlContentCopy)
at umbraco.content.PublishNodeDo(Document d, XmlDocument xmlContentCopy, Boolean updateSitemapProvider)
at umbraco.content.UpdateDocumentCache(Document d)
at umbraco.content.UpdateDocumentCache(Int32 pageId)
at umbraco.library.UpdateDocumentCache(Int32 DocumentId)
at umbraco.cms.presentation.editContent.Publish(Object sender, EventArgs e)
at System.EventHandler.Invoke(Object sender, EventArgs e)
at umbraco.controls.ContentControl.savePublish(Object Sender, ImageClickEventArgs e)
at System.Web.UI.WebControls.ImageButton.OnClick(ImageClickEventArgs e)
at System.Web.UI.WebControls.ImageButton.RaisePostBackEvent(String eventArgument)
at System.Web.UI.WebControls.ImageButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Please help me to understand what happened...
Thank you,
Bill
anyone ? please?
this problem is getting on my nerves ! :(
This blog post may or may not be of help. :-)
After a search in the API and careful reading of the umbracoLog here is the entry which I believe shows where the problem is
Just noticed that the umbraco.config file keeps disappearing when I try to republish the entire site or just a node. As a result I get the /config/splashes/noNodes.aspx when I run the site.
Did I say that today I updated to 4.5.1 ? Then the problems started. Everyone else has downloaded and tested 4.5.1 ? Maybe it's a general problem. Or not... :(
SOLVED IT!
After a lot of hours under the umbraco hood I found the problem...
oh... and the problem was so insignificant that I might be a little dumb. because it was right in front of me.
Well, apparently I created a document type with a greek name and forgot to change the alias to an english one, as a result, an empty alias for the document type. That messed up the DTD of the umbraco.config xml... and all hell broke loose.
I guess umbraco shouldn't let you save a doctype with an empty alias... and I guess I should report the bug to the team.
Hi Bill
I have run into the same error as you it seems. I have imported some 1000 documents programatically and after they have been imported it seems this issue has occured whenever I try to publish a node or restart the app and so forth. I have checked all my doctypes and they all have an english alias - no funny characters!
I'm running 4.5.1 as I guess you did. Any other findings you might want to share from your issue-solving actions?
Thanks a lot in advance :)
Kim
Hi Kim
Did you find a fix for this issue?
Cheers,
Alex
is working on a reply...