很奇怪...我的博客第一次崩溃了,好吧,曾经...

博客作者遭遇了其网站首次崩溃,问题似乎与BlogJet远程发布和dasBlog1.6Cache有关。错误日志显示集合修改导致的异常,以及可能的null插入到ASP.NET缓存。解决方案包括回收工作进程和删除相关缓存文件。
摘要由CSDN通过智能技术生成

Weird, er, ah.  That was the first time the blog's ever been down that I know of.  I was posting remotely via BlogJet (the blogger API) and somehow the new dasBlog 1.6 Cache got out of whack.  I recycled the Worker Process and deleted entryCache.xml, categoryCache, and blogdata.xml and I'm back.

奇怪,嗯。 据我所知,那是该博客第一次崩溃。 我是通过BlogJet (博客API)远程发布的,而新的dasBlog 1.6 Cache不知何故。 我回收了工作进程并删除了entryCache.xml,categoryCache和blogdata.xml,然后我回来了。

For those who care, here's the event log:

对于那些关心的人,这里是事件日志:

l2 time 2004-05-20T02:30:02 code 750 message <span>XSSUpstreamError:<br/>Collection was modified; enumeration operation may not execute.<br/> while processing    at System.Collections.ArrayListEnumeratorSimple.MoveNext()
   at newtelligence.DasBlog.Runtime.EntryIdCache.Build(DataManager data)
   at newtelligence.DasBlog.Runtime.EntryIdCache.Ensure(DataManager data)
   at newtelligence.DasBlog.Runtime.BlogDataServiceXml.GetDateForEntry(String entryId)
   at newtelligence.DasBlog.Runtime.BlogDataServiceXml.newtelligence.DasBlog.Runtime.IBlogDataService.GetCommentsFor(String entryId)
   at newtelligence.DasBlog.Web.Services.SyndicationServiceImplementation.GetRssCore(String category, Int32 maxDayCount, Int32 maxEntryCount)
   at newtelligence.DasBlog.Web.Services.XSSUpstreamer.Run().</span>
l2 time 2004-05-20T02:30:03 code 1 message <span>Error:<br/>System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
<br>   at System.Collections.ArrayListEnumeratorSimple.MoveNext()
<br>   at newtelligence.DasBlog.Runtime.EntryIdCache.Build(DataManager data)
<br>   at newtelligence.DasBlog.Runtime.EntryIdCache.Ensure(DataManager data)
<br>   at newtelligence.DasBlog.Runtime.BlogDataServiceXml.GetDateForEntry(String entryId)
<br>   at newtelligence.DasBlog.Runtime.BlogDataServiceXml.InternalGetEntry(String entryId)
<br>   at newtelligence.DasBlog.Runtime.BlogDataServiceXml.newtelligence.DasBlog.Runtime.IBlogDataService.GetEntry(String entryId)
<br>   at newtelligence.DasBlog.Web.Core.SharedBasePage.SetupPage(Object o, EventArgs e)
<br>   at System.EventHandler.Invoke(Object sender, EventArgs e)
<br>   at System.Web.UI.Control.OnInit(EventArgs e)
<br>   at newtelligence.DasBlog.Web.PermaLink.OnInit(EventArgs e)
<br>   at System.Web.UI.Control.InitRecursive(Control namingContainer)
<br>   at System.Web.UI.Page.ProcessRequestMain()<br/> while processing
http://www.hanselman.com/blog/PermaLink.aspx?guid=b849dcaa-81f0-4733-9fff-f7399fb6ed01.</span>

l2时间2004-05-20T02:30:02代码750消息<span> XSSUpstreamError:<br/>集合已修改; 枚举操作可能无法执行。<br/>在System.Collections.ArrayListEnumeratorSimple.MoveNext()处进行处理时在newtelligence.DasBlog.Runtime.EntryIdCache.Build(DataManager数据) 在newtelligence.DasBlog.Runtime.EntryIdCache.Ensure(DataManager数据) 在newtelligence.DasBlog.Runtime.BlogDataServiceXml.GetDateForEntry(String entryId) 在newtelligence.DasBlog.Runtime.BlogDataServiceXml.newtelligence.DasBlog.Runtime.IBlogDataService.GetCommentsFor(String entryId) 在newtelligence.DasBlog.Web.Services.SyndicationServiceImplementation.GetRssCore(字符串类别,Int32 maxDayCount,Int32 maxEntryCount) 在newtelligence.DasBlog.Web.Services.XSSUpstreamer.Run()。</ span> l2时间2004-05-20T02:30:03代码1消息<span>错误:<br/> System.InvalidOperationException:集合已修改; 枚举操作可能无法执行。 <br>在System.Collections.ArrayListEnumeratorSimple.MoveNext()处<br>在newtelligence.DasBlog.Runtime.EntryIdCache.Build(DataManager数据)处<br>在newtelligence.DasBlog.Runtime.EntryIdCache.Ensure(DataManager数据)处<br>在newtelligence.DasBlog.Runtime.BlogDataServiceXml.GetDateForEntry(String entryId) <br>在newtelligence.DasBlog.Runtime.BlogDataServiceXml.InternalGetEntry(String entryId) <br>在newtelligence.DasBlog.Runtime.BlogDataServiceXml.newtelligence.DasBlog.Runtime.IBlogDataService.GetEntry(String entryId) <br>在newtelligence.DasBlog.Web.Core.SharedBasePage.SetupPage(对象o,EventArgs e) <br>在System.EventHandler.Invoke(对象发送者,EventArgs e) <br>在System.Web.UI.Control.OnInit(EventArgs e) <br> at newtelligence.DasBlog.Web.PermaLink.OnInit(EventArgs e) <br> System.Web.UI.Control.InitRecursive(控件namingContainer) <br>在处理http://www.hanselman.com/blog/PermaLink.aspx?guid=b849dcaa-81f0-4733-9fff-f7399fb6ed01时位于System.Web.UI.Page.ProcessRequestMain()<br/>上。 / span >

then some

然后一些

l2 time 2004-05-20T02:30:05 code 1 message <span>Error:<br/>System.ArgumentNullException: Value cannot be null.
<br>Parameter name: value
<br>   at System.Web.Caching.CacheEntry..ctor(String key, Object value, CacheDependency dependency, CacheItemRemovedCallback onRemovedHandler, DateTime utcAbsoluteExpiration, TimeSpan slidingExpiration, CacheItemPriority priority, Boolean isPublic)
<br>   at System.Web.Caching.CacheInternal.DoInsert(Boolean isPublic, String key, Object value, CacheDependency dependencies, DateTime utcAbsoluteExpiration, TimeSpan slidingExpiration, CacheItemPriority priority, CacheItemRemovedCallback onRemoveCallback, Boolean replace)
<br>   at System.Web.Caching.Cache.Insert(String key, Object value, CacheDependency dependencies)
<br>   at newtelligence.DasBlog.Runtime.EntryIdCache.Load(DataManager data)
<br>   at newtelligence.DasBlog.Runtime.EntryIdCache.Ensure(DataManager data)
<br>   at newtelligence.DasBlog.Runtime.BlogDataServiceXml.newtelligence.DasBlog.Runtime.IBlogDataService.GetDaysWithEntries(TimeZone tz)
<br>   at newtelligence.DasBlog.Web.Core.WeblogCalendar.WeblogCalendar_Load(Object sender, EventArgs e)
<br>   at System.Web.UI.Control.OnLoad(EventArgs e)
<br>   at System.Web.UI.Control.LoadRecursive()
<br>   at System.Web.UI.Control.LoadRecursive()
<br>   at System.Web.UI.Control.LoadRecursive()
<br>   at System.Web.UI.Control.LoadRecursive()
<br>   at System.Web.UI.Page.ProcessRequestMain()<br/> while processing
http://www.hanselman.com/blog/Default.aspx.</span>

l2时间2004-05-20T02:30:05代码1消息<span>错误:<br/> System.ArgumentNullException:值不能为null。 <br>参数名称:值<br>在System.Web.Caching.CacheEntry..ctor(字符串键,对象值,CacheDependency依赖项,CacheItemRemovedCallback onRemovedHandler,DateTime utcAbsoluteExpiration,TimeSpan slideExpiration,CacheItemPriority优先级,Boolean isPublic) <br>在System.Web.Caching.CacheInternal.DoInsert(布尔isPublic,字符串键,对象值,CacheDependency依赖项,DateTime utcAbsoluteExpiration,TimeSpan slideExpiration,CacheItemPriority优先级,CacheItemRemovedCallback onRemoveCallback,布尔值替换) <br>在System.Web.Caching.Cache.Insert(字符串键,对象值,CacheDependency依赖项) <br>在newtelligence.DasBlog.Runtime.EntryIdCache.Load(DataManager数据)处<br>在newtelligence.DasBlog.Runtime.EntryIdCache.Ensure(DataManager数据)处<br>在newtelligence.DasBlog.Runtime.BlogDataServiceXml.newtelligence.DasBlog.Runtime.IBlogDataService.GetDaysWithEntries(TimeZone tz) <br>在newtelligence.DasBlog.Web.Core.WeblogCalendar.WeblogCalendar_Load(对象发送者,EventArgs e) <br>在System.Web.UI.Control.OnLoad(EventArgs e) <br>在System.Web.UI.Control.LoadRecursive()处<br>在System.Web.UI.Control.LoadRecursive()处<br>在System.Web.UI.Control.LoadRecursive()处<br>在System.Web.UI.Control.LoadRecursive()处<br>在处理http://www.hanselman.com/blog/Default.aspx时位于System.Web.UI.Page.ProcessRequestMain()<br/> </ span >

then a whole lot of...

那么很多...

l2 time 2004-05-20T02:35:03 code 1 message <span>Error:<br/>System.ArgumentNullException: Value cannot be null.
<br>Parameter name: value
<br>   at System.Web.Caching.CacheEntry..ctor(String key, Object value, CacheDependency dependency, CacheItemRemovedCallback onRemovedHandler, DateTime utcAbsoluteExpiration, TimeSpan slidingExpiration, CacheItemPriority priority, Boolean isPublic)
<br>   at System.Web.Caching.CacheInternal.DoInsert(Boolean isPublic, String key, Object value, CacheDependency dependencies, DateTime utcAbsoluteExpiration, TimeSpan slidingExpiration, CacheItemPriority priority, CacheItemRemovedCallback onRemoveCallback, Boolean replace)
<br>   at System.Web.Caching.Cache.Insert(String key, Object value, CacheDependency dependencies)
<br>   at newtelligence.DasBlog.Runtime.EntryIdCache.Load(DataManager data)
<br>   at newtelligence.DasBlog.Runtime.EntryIdCache.Ensure(DataManager data)
<br>   at newtelligence.DasBlog.Runtime.BlogDataServiceXml.GetDateForEntry(String entryId)
<br>   at newtelligence.DasBlog.Runtime.BlogDataServiceXml.InternalGetEntry(String entryId)
<br>   at newtelligence.DasBlog.Runtime.BlogDataServiceXml.newtelligence.DasBlog.Runtime.IBlogDataService.GetEntry(String entryId)
<br>   at newtelligence.DasBlog.Web.Core.SharedBasePage.SetupPage(Object o, EventArgs e)
<br>   at System.EventHandler.Invoke(Object sender, EventArgs e)
<br>   at System.Web.UI.Control.OnInit(EventArgs e)
<br>   at newtelligence.DasBlog.Web.PermaLink.OnInit(EventArgs e)
<br>   at System.Web.UI.Control.InitRecursive(Control namingContainer)
<br>   at System.Web.UI.Page.ProcessRequestMain()<br/> while processing
http://www.hanselman.com/blog/PermaLink.aspx?guid=6083af1e-42c1-4d54-a33d-a5bef622a503.</span>

l2时间2004-05-20T02:35:03代码1消息<span>错误:<br/> System.ArgumentNullException:值不能为null。 <br>参数名称:值<br>在System.Web.Caching.CacheEntry..ctor(字符串键,对象值,CacheDependency依赖项,CacheItemRemovedCallback onRemovedHandler,DateTime utcAbsoluteExpiration,TimeSpan slideExpiration,CacheItemPriority优先级,布尔值isPublic) <br>在System.Web.Caching.CacheInternal.DoInsert(布尔isPublic,字符串键,对象值,CacheDependency依赖项,DateTime utcAbsoluteExpiration,TimeSpan slideExpiration,CacheItemPriority优先级,CacheItemRemovedCallback onRemoveCallback,布尔值替换) <br>在System.Web.Caching.Cache.Insert(字符串键,对象值,CacheDependency依赖项) <br>在newtelligence.DasBlog.Runtime.EntryIdCache.Load(DataManager数据)处<br>在newtelligence.DasBlog.Runtime.EntryIdCache.Ensure(DataManager数据)处<br>在newtelligence.DasBlog.Runtime.BlogDataServiceXml.GetDateForEntry(String entryId) <br>在newtelligence.DasBlog.Runtime.BlogDataServiceXml.InternalGetEntry(String entryId) <br>在newtelligence.DasBlog.Runtime.BlogDataServiceXml.newtelligence.DasBlog.Runtime.IBlogDataService.GetEntry(String entryId) <br>在newtelligence.DasBlog.Web.Core.SharedBasePage.SetupPage(对象o,EventArgs e) <br>在System.EventHandler.Invoke(对象发送者,EventArgs e) <br>在System.Web.UI.Control.OnInit(EventArgs e) <br>在newtelligence.DasBlog.Web.PermaLink.OnInit(EventArgs e) <br> System.Web.UI.Control.InitRecursive(控件namingContainer) <br>在处理http://www.hanselman.com/blog/PermaLink.aspx?guid=6083af1e-42c1-4d54-a33d-a5bef622a503时位于System.Web.UI.Page.ProcessRequestMain()<br/>上。 / span >

Looks like some schmutz around the small cached portion of the Xml Data Store is corrupt, there's no Assert() or check for null and null is inserted into the in memory ASP.NET cache?  The first dump shows EntryIdCache freaking out, then the other cache didn't stand a chance.  Looks like maybe the Radio Upstream happened JUST as I was sending data in via the Blogger API?

看起来Xml数据存储的小型缓存部分周围的某些schmutz已损坏,没有Assert()或没有检查null并将null插入到内存中的ASP.NET缓存中吗? 第一个转储显示EntryIdCache吓坏了,然后另一个缓存没有机会。 好像刚通过Blogger API发送数据时发生了Radio Upstream吗?

翻译自: https://www.hanselman.com/blog/weirdfirst-time-my-blogs-been-down-well-ever

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值