CoCreateInstance errors in Windows application event logs (.NET)

Problem

If your .NET application does not report data after a few minutes, and there is no New Relic profiler log, you may have a permissions error.

If you are an Azure Websites user experiencing CoCreateInstance errors, get support at support.newrelic.com.

Solution

To verify whether New Relic has the necessary permissions and resolve the problem, follow these troubleshooting steps.

Check for profiler CLSID errors.

To verify whether the permissions error is due to profiler errors:

  1. Check your application event log for errors like this:

    NET Runtime version 4.0.30319.296 - Loading profiler failed during CoCreateInstance. Profiler CLSID: '{FF68FEB9-E58A-4B75-A2B8-90CE7D915A26}'
  2. Compare the CLSID in the error to New Relic's CLSIDs:

    71DA0A04-7777-4EC6-9643-7D28B46A8A41
    FF68FEB9-E58A-4B75-A2B8-90CE7D915A26
  3. If the CLSID does not match, see No event log: CoCreate errors. If the CLSID matches, continue.
Verify the New Relic assemblies.

To verify that the New Relic assemblies are attached to the w3wp.exe process:

  1. On the server on which your application is installed, download Microsoft Windows Sysinternals Process Explorer.
  2. Unzip the file and run procexp.exe as an Administrator.
  3. Select View > Show Lower Pane, and then select View > Lower Pane View > DLLs.
  4. Generate some traffic to your app.
  5. To update the process list, select View > Refresh Now.
  6. In the top pane, find your service or w3wp instance (typically nested under a svchost.exe process), and select it.
  7. In the bottom pane, look for assemblies whose names begin with NewRelic, including:
    NewRelic.Agent.Core.dll
    NewRelic.Profiler.dll
    NewRelic.Agent.IL.dll
    NewRelic.ICSharpCode.SharpZipLib.dll
    NewRelic.Json.dll
    NewRelic.Log.dll
  8. If you do not find any assemblies, get support at support.newrelic.com.
Verify the w3wp.exe environment details.

Verify that the w3wp.exe environment details are this:

COR_ENABLE_PROFILING=1
COR_PROFILER={71DA0A04-7777-4EC6-9643-7D28B46A8A41}
NEWRELIC_INSTALL_PATH=C:\Program Files\New Relic\.NET Agent\
Check for profiler logs.

Check for profiler logs in %ALLUSERSPROFILE%\New Relic\\.NET Agent\Logs.

  • Make sure there are no profiler logs for the web app you are troubleshooting:
  • Ignore any profiler logs for other web apps that may appear if you have a simple or default site installation.
Resolve the permissions error.

If all the above conditions are present, you have a permissions error. Use any of these options to resolve the permissions error as applicable:

Option A: Set permissions for the Everyone group.

Adjust permissions in the following folders for the Everyone group to give the group all permissions except Full Control:

C:\Program Files\New Relic\.NET Agent\
C:\Program Files (x86)\New Relic\.NET Agent\

Option B: Set permissions for individual users.

If your security policies do not allow adjusting permissions for the Everyone group, then adjust permissions for individual users. Record the users under which your application runs, then adjust permissions for each of those users.

Option C: Set permissions using the PowerShell script.

To add permissions to HKLM\SOFTWARE\New Relic by PowerShell script:

"HKLM:\SOFTWARE\New Relic"
$acl = Get-Acl $key
$AddACL = New-Object System.Security.AccessControl.RegistryAccessRule ("Everyone","FullControl","ObjectInherit,ContainerInherit","None","Allow")
$acl.SetAccessRule($rule)
$acl |Set-Acl -Path $key

For more help

Join the discussion about .NET monitoring in the New Relic Online Technical Community! The Technical Community is a public platform to discuss and troubleshoot your New Relic toolset.

If you need additional help, get support at support.newrelic.com.