|
基本属于bug。。。。下面的仅供参考,来自msdn和一些网站,:
Just a quick heads up to anyone who suddenly starts getting the following error on a DC running ASP.NET after applying the latest batch of patches.
+-+-+-+-+-+-+
Application popup: w3wp.exe - Application Error : The instruction at "0x001f0001" referenced memory at "0x800703e3". The memory could not be "written".
+-+-+-+-+-+-+
It seems that MS06-034 or MS06-033 removes the following fix (just a permission change)
Stephen.
------------------------------------------------------------------------
ACTION
You operate a production Windows Server 2003 web server hosting a number of ASP.NET applications. The server is also a domain controller.
RESULT
When shutting down application pools hosting ASP.NET 2.0 applications the application pool crashed.
CAUSE
This is due to a bug in ASP.NET whereby it incorrectly handles the situation where it is denied access to a registry key associated with the ASP.NET performance counters.
RESOLUTION
The registry key in question is:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ASP.NET_2.0.50727\Names
When ASP.NET 2.0 is installed the local group IIS_WPG is given special permissions on this key. When the server is a domain controller the IIS_WPG group becomes a domain group (there are no local groups on domain controllers) and the NETWORK SERVICE account cannot be a member of it as it is a BUILTIN account.
Therefore the NETWORK SERVICE account, under which an application pool runs by default, loses its access to this key.
To resolve the problem you had to give the NETWORK SERVICE account specific permissions to that key as follows:
Start Regedit and navigate to that key.
Right-click "Names" and select Permissions on the context menu.
Click Add and enter NETWORK SERVICE, click "Check Names" and click Ok.
With NETWORK SERVICE highlighed in the "Groups or User Names" list click "Advanced"
On the "Advanced Security Settings for Names" dialogue highlight NETWORK SERVICE and click "Edit"
In the "Permission entry for Names" dialogue check the "Name" box is showing "NETWORK SERVICE" and put check marks against "Query Value", "Set Value", "Create Subkey", "Enumerate Subkeys", "Notify" and "Read Control".
Click Ok on all the dialogues and close regedit.
If you are using Network Service to run your sight you might get this error " Application pop-up: w3wp.exe - Application Error : The instruction at "0x73585d55" referenced memory at "0x00000018". The memory could not be "read"."
or an error similar to it. This is caused when the .NET\Framework\<version #>\webengine.dll crashes. This is do to the fact that The Network Service does not have special permissions to .net registry settings. Please do the following steps to fix the problem:
Navagate to
1.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ASP.NET_2.0.50727\Names (or whatever version of .NEt framework you have.
2.Start Regedit and navigate to that key.
Right-click "Names" and select Permissions on the context menu.
Click Add and enter NETWORK SERVICE, click "Check Names" and click "Ok".
With NETWORK SERVICE highlighed in the "Groups or User Names" list click "Advanced"
On the "Advanced Security Settings for Names" dialogue highlight NETWORK SERVICE and click "Edit"
In the "Permission entry for Names" dialogue check the "Name" box is showing "NETWORK SERVICE" and put check marks against "Query Value", "Set Value", "Create Subkey", "Enumerate Subkeys", "Notify" and "Read Control".
Click Ok on all the dialogues and close regedit.
Ensure your application pools are reconfigured to run as NETWORK SERVICE (or at least all the ones you want to be) and restart them
On subsequent restarts the w3wp.exe crash should not occur.
-Hope this works for you
另外可以参考:
http://support.microsoft.com/kb/921065/en-us
[ 本帖最后由 boxman 于 2008-1-18 10:33 编辑 ] |
|