“ Próbowano odczytać lub zapisać chronioną pamięć ” wyjątek

Napotkaliśmy ten błąd podczas próby otwarcia strony /_catalogs/masterpage/Forms/AllItems.aspx. Próbowałem zatwierdzić układ strony, który właśnie zaktualizowałem i sprawdziłem w wersji głównej.

Do dzisiaj błąd zniknął, ale nie jestem pewien, co go spowodowało i jak temu zapobiec w przyszłości. Oto trzy błędy zgłoszone w tym czasie przez system (z pliku dziennika):

08/24/2011 17:11:34.05 w3wp.exe (0x2030) 0x1EB4 Document Management Server Document Management 52od Medium MetadataNavigationContext Page_InitComplete: No XsltListViewWebPart was found on this page[/_catalogs/masterpage/Forms/AllItems.aspx]. Hiding key filters and downgrading tree functionality to legacy ListViewWebPart(v3) level for this list. a433ce5c-59de-4f69-8122-313a15679048

08/24/2011 17:11:34.10 w3wp.exe (0x2030) 0x1EB4 SharePoint Foundation Runtime tkau Unexpected System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. at Microsoft.Web.CommandUI.RibbonRenderer.RenderContextualGroup(DataNode xnCtxGroup, RibbonRenderContext rrc, HtmlTextWriter writer) at Microsoft.Web.CommandUI.RibbonRenderer.RenderRibbon(DataNode xnData, RibbonRenderContext rrc, HtmlTextWriter writer) at Microsoft.Web.CommandUI.Ribbon.AppendRibbon(HtmlTextWriter writer, Boolean headerOnly, UInt32 initialTabScaleIndex, RibbonRenderContext rrc) at Microsoft.Web.CommandUI.Ribbon.Render(HtmlTextWriter writer) at Microsoft.SharePoint.WebControls.SPRibbon.Render(HtmlTextWriter writer) at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) at Syste... a433ce5c-59de-4f69-8122-313a15679048

08/24/2011 17:11:34.10* w3wp.exe (0x2030) 0x1EB4 SharePoint Foundation Runtime tkau Unexpected ...m.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter writer) at System.Web.UI.HtmlControls.HtmlForm.Render(HtmlTextWriter output) at System.Web.UI.HtmlControls.HtmlForm.RenderControl(HtmlTextWriter writer) at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) at System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter writer) at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) at System.Web.UI.Page.Render(HtmlTextWriter writer) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) a433ce5c-59de-4f69-8122-313a15679048

Odpowiedź

Ten błąd występuje, gdy aplikacja próbuje uzyskać dostęp do pamięci, która nie należy do niej. Windows wkracza i blokuje próbę, co powoduje, że .NET zgłasza wyjątek widoczny w dzienniku.

generalnie nie powinno to być widoczne w aplikacjach .NET, ponieważ środowisko wykonawcze powinno zapewniać bezpieczne zarządzanie pamięcią. Jednak może się to zdarzyć w kodzie działającym poza .NET Framework , na przykład wywołania natywnego systemu Windows lub COM (warstwa bazowa programu SharePoint).

Ponieważ nie możesz odtworzyć błędu, osobiście nie martwiłbym się o to, chyba że możesz bezpośrednio powiedzieć, że ma to negatywny wpływ na Twój system. Wygląda na to, że stało się to podczas renderowania wstążki, więc nie sądzę, żeby to było problemem. SharePoint jest dość niezawodny i powinien zapobiegać wszelkim złym działaniom w danych.

Aby zminimalizować prawdopodobieństwo wystąpienia takiego błędu w przyszłości:

  1. Upewnij się, że masz zainstalowane najnowsze aktualizacje dla .NET Framework (przez Windows Update), SharePoint (przez dodatki Service Pack i aktualizacje zbiorcze ), a także wszelkie oprogramowanie, które integruje się z SharePoint.

  2. Upewnij się, że środowiska są tak czyste, jak to tylko możliwe, i nie „Nie zostawiaj funkcji, pakietów rozwiązań WSP lub innego zainstalowanego oprogramowania, które nie ma powodu, aby tam być.

Komentarze

  • Dzięki, Alex. Stało się to na naszym serwerze deweloperskim, który prawdopodobnie zawiera rozwiązania WSP, których ' nie używamy. Trochę porządków jest w porządku 🙂

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *