CoCreateInstance errors: No profiler log

Problem

After you generate traffic and wait a few minutes, your .NET application does not report data to New Relic. In addition, there is no New Relic profiler log for your .NET app.

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. Do one of the following:

    • If the CLSID does not match, uninstall the other profiler.
    • If the CLSID does match, continue with this procedure to check the profiler logs for CoCreateInstance permissions errors.
Verify the New Relic assemblies.

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

  1. On the server where your app is installed, download the Microsoft Windows Sysinternals Process Explorer.
  2. Unzip the file and run procexp.exe as an Administrator.
  3. Select View > Show Lower Pane, 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, select your service or w3wp instance (typically nested under a svchost.exe process).
  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.
  • If you have a simple or default site installation, ignore any profiler logs for other web apps.
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:

Available options Resolve permissions errors
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\
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.
Set permissions using the PowerShell script.

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

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

For 32-bit apps, the path would be HKLM:\SOFTWARE\Wow6432Node\New Relic

For more help

Recommendations for learning more: