asp.netiis-7vbc

ASP.NET: Parser error message with vbc.exe


Here's the scenario:

We have an ASP.NET powered Content Management System running on a server, which is built by a third-party and so unfortunately has to be considered a 'black box' for the purposes of this question. I don't know much about how it works. Its Windows 2008 with IIS 7.

For weeks it will work fine, and then suddenly it will start returning this .NET Parser Error whenever anyone tries to access a page:

Parser Error
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately. 

Parser Error Message: Cannot execute a program. The command being executed was
 "C:\Windows\Microsoft.NET\Framework\v2.0.50727\vbc.exe" /noconfig
   @"C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\7082fc73\4a06ea64\iscamrh7.cmdline".

Source Error: 
Line 69:     <!--<%@ Register Src="/web/ContentLibrary/Section/section125.ascx" TagName="section125" TagPrefix="uc1" %><uc1:section125 ID="section125" runat="server" />-->
Line 70:     <%If useAltStyles Then %>
Line 71:      <%@ Register Src="/web/Tags/tag46.ascx" TagName="tag46_14" TagPrefix="uc14" %><uc14:tag46_14 ID="tag46_14" runat="server" />
Line 72:     <%Else %>
Line 73:      <%@ Register Src="/web/Tags/tag41.ascx" TagName="tag41_16" TagPrefix="uc16" %><uc16:tag41_16 ID="tag41_16" runat="server" />

The message mentions that it 'cannot execute' vbc.exe, which I know is involved with compiling aspx pages. And from the source lines it quotes, it happens when its trying to @Register custom controls on a page.

Does anyone have any hints or hunches on what might be causing this? E.g. is it the sort of thing that happens when the server is low on resources?


Solution

  • For future reference, it turned out the be a memory shortage due to a memory leak in a COM component the site was using.

    Setting a memory limit on the Application Pool recycle settings proved to be a temporary fix until the memory leak gets sorted.