“ Tentativa de ler ou gravar memória protegida ” exceção

Encontramos esse erro ao tentar abrir a página /_catalogs/masterpage/Forms/AllItems.aspx. Eu estava tentando aprovar um layout de página que acabei de atualizar e verificar em uma versão principal.

Até hoje, o erro tinha desaparecido, mas não tenho certeza o que o causou e como evitá-lo no futuro. Aqui estão os três erros lançados naquele momento pelo sistema (do arquivo de log):

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

Resposta

Este erro ocorre quando um aplicativo tenta acessar a memória que não pertence a ele. O Windows entra e bloqueia a tentativa, o que faz com que o .NET lance a exceção que você vê no log.

Você geralmente não deve ver isso em aplicativos .NET porque o tempo de execução deve garantir que a memória seja gerenciada com segurança. No entanto, pode acontecer em código executado fora do .NET Framework , como chamadas para Windows nativo ou COM (a camada subjacente do SharePoint).

Como você não pode reproduzir o erro, eu pessoalmente não me preocuparia com isso, a menos que você possa dizer diretamente que ele causou um impacto negativo em seu sistema. Parece que isso aconteceu renderizando a fita, então não acho que seja uma preocupação. O SharePoint é bastante robusto e deve evitar que qualquer coisa ruim aconteça com seus dados.

Para minimizar a probabilidade de tal erro ocorrer no futuro:

  1. Certifique-se de ter as atualizações mais recentes instaladas no .NET Framework (via Windows Update), SharePoint (via service packs e atualizações cumulativas ), e também qualquer software que se integre com o SharePoint.

  2. Garanta que seus ambientes estejam o mais limpos possível e não “não deixe recursos, pacotes de solução WSP ou outro software instalado que não tenha um motivo para estar lá.

Comentários

  • Obrigado, Alex. Isso aconteceu em nosso servidor de desenvolvimento, que provavelmente tem algumas soluções WSP que ' não estamos usando. É necessária alguma limpeza 🙂

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *