Umbraco cannot start - Error Republishing - Thread was being aborted
Our Umbraco 6.1.6 instances in our dev, test, and staging environments are all unable to be started. They are getting the following error, which is repeated multiple times in the log...
2014-04-02 12:38:12,166 [6] INFO umbraco.content - [Thread 24] Loading content from database... 2014-04-02 12:38:42,180 [6] ERROR umbraco.content - [Thread 24] Error Republishing System.Threading.ThreadAbortException: Thread was being aborted. at SNIReadSyncOverAsync(SNI_ConnWrapper* , SNI_Packet** , Int32 ) at SNINativeMethodWrapper.SNIReadSyncOverAsync(SafeHandle pConn, IntPtr& packet, Int32 timeout) at System.Data.SqlClient.TdsParserStateObject.ReadSniSyncOverAsync() at System.Data.SqlClient.TdsParserStateObject.TryReadNetworkPacket() at System.Data.SqlClient.TdsParserStateObject.TryPrepareBuffer() at System.Data.SqlClient.TdsParserStateObject.TryReadByteArray(Byte[] buff, Int32 offset, Int32 len, Int32& totalRead) at System.Data.SqlClient.TdsParserStateObject.TryReadString(Int32 length, String& value) at System.Data.SqlClient.TdsParser.TryReadSqlStringValue(SqlBuffer value, Byte type, Int32 length, Encoding encoding, Boolean isPlp, TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.TryReadSqlValue(SqlBuffer value, SqlMetaDataPriv md, Int32 length, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlDataReader.TryReadColumnData() at System.Data.SqlClient.SqlDataReader.TryReadColumnInternal(Int32 i, Boolean readHeaderOnly) at System.Data.SqlClient.SqlDataReader.TryReadColumn(Int32 i, Boolean setTimeout, Boolean allowPartiallyReadColumn) at System.Data.SqlClient.SqlDataReader.ReadColumn(Int32 i, Boolean setTimeout, Boolean allowPartiallyReadColumn) at System.Data.SqlClient.SqlDataReader.GetString(Int32 i) at umbraco.DataLayer.RecordsReaderAdapter`1.GetString(String fieldName) at umbraco.content.LoadContentFromDatabase() 2014-04-02 12:38:42,180 [6] ERROR umbraco.content - [Thread 24] Error Republishing System.Threading.ThreadAbortException: Thread was being aborted. at umbraco.content.LoadContentFromDatabase()
Yes, after which we rolled it back, but the problem remains. We've even restores the database with no luck. The same version ofthe solution and database runs fine in production and on our local dev machines. Some kind of server-specific corruption?
This may sound strange, but clear your cookies and cache. I have the same problem in 6.1.6 when sometimes accessing the login page and doing that seems to fix it for me. I dont know if its the same issue but its worth a try.
So the problem, I believe, was due to the loading of the content taking longer than 90 seconds, which is the default execution timeout for an ASP.NET request. After thinking to google for the error we were getting without the Umbraco keyword, I found this post which hinted at that:
Notice it’s exactly the same error. So the SQL request was getting killed because ASP.NET was aborting the thread because it exceeded the 90 second timeout. I extended the timeout in web.config:
That did the trick. It gave the “Loading content from database…” task time to complete. The reason it worked in production is likely due to the increased server resources, it hadn’t exceeded 90 seconds yet. The reason it worked on our local machines is because in debug mode, the execution timeout is not enforced.
The length of time it takes for Umbraco to load all the content into one big XML file is concerning to me and doesn't seem very scalable, but at least our current crisis is averted.
Umbraco cannot start - Error Republishing - Thread was being aborted
Our Umbraco 6.1.6 instances in our dev, test, and staging environments are all unable to be started. They are getting the following error, which is repeated multiple times in the log...
Has anyone seen this before?
Was this after a Deploy or some sort of push?
Yes, after which we rolled it back, but the problem remains. We've even restores the database with no luck. The same version ofthe solution and database runs fine in production and on our local dev machines. Some kind of server-specific corruption?
Have you tried deleting the umbraco.config and examine indexes, recycling the app pool, then seeing if it works?
Sounds sort of like the Xml in the database got corrupted and now its trying to regenerate with bad data.
This may sound strange, but clear your cookies and cache. I have the same problem in 6.1.6 when sometimes accessing the login page and doing that seems to fix it for me. I dont know if its the same issue but its worth a try.
Any DocTypes with non-alphanumeric characters?
http://blogs.thesitedoctor.co.uk/tim/2014/01/28/Error+When+Publishing+Umbraco+Page+Object+Reference+Not+Set+To+An+Instance+Of+An+Object.aspx
So the problem, I believe, was due to the loading of the content taking longer than 90 seconds, which is the default execution timeout for an ASP.NET request. After thinking to google for the error we were getting without the Umbraco keyword, I found this post which hinted at that:
http://stackoverflow.com/questions/19855019/threadabortexception-on-retrieving-data-from-entities-db-context
Notice it’s exactly the same error. So the SQL request was getting killed because ASP.NET was aborting the thread because it exceeded the 90 second timeout. I extended the timeout in web.config:
<httpRuntime requestValidationMode="2.0" enableVersionHeader="false" executionTimeout="600" />
That did the trick. It gave the “Loading content from database…” task time to complete. The reason it worked in production is likely due to the increased server resources, it hadn’t exceeded 90 seconds yet. The reason it worked on our local machines is because in debug mode, the execution timeout is not enforced.
The length of time it takes for Umbraco to load all the content into one big XML file is concerning to me and doesn't seem very scalable, but at least our current crisis is averted.
Thanks for the suggestions.
is working on a reply...