1-800-691-1991 | 9am - 8pm ET
EN

Veeam Agent backup job fails with "Failed to call RPC function 'TestCompatible': Error code: 0x80070008. Cannot initialize COM runtime" error

KB ID: 3077
Product: Veeam Agent for Microsoft Windows
Published: 2019-12-26
Last Modified: 2021-10-12
Get weekly article updates
By subscribing, you are agreeing to have your personal information managed in accordance with the terms of Veeam's Privacy Policy.

Cheers for trusting us with the spot in your mailbox!

Now you’re less likely to miss what’s been brewing in our knowledge base with this weekly digest

error icon

Oops! Something went wrong.

Please try again later.

Challenge

A Veeam Agent backup job managed by the backup server fails with the following error:

Processing Error: Failed to call RPC function 'TestCompatible': Error code: 0x80070008. Cannot initialize COM runtime.

User-added image

Cause

When a backup job starts, Veeam Backup & Replication connects to the Veeam Agent machine to initiate the backup process. The connection is based on Windows API and uses RPC and WMI queries. If Microsoft Windows is low on desktop heap memory for services running under LocalSystem account, Microsoft Windows can reject the incoming queries. As a result, the following message will be displayed in System Event Log (eventvwr.msc) of the Veeam Agent machine:
 

Log Name:      System
Source:        Win32k
Event ID:      243
Task Category: None
Level:         Warning
Keywords:      Classic
User:          N/A
Computer:     
Description:
A desktop heap allocation failed.

DCOM errors (Event ID 10010) can be found in System Event Log of the Veeam Agent machine too.
 

Solution

Article Applicability

This article is relevant to a specific scenario where the Windows OS suffers from a 'heap allocation' failure.

The solution provided in this article should only be performed if Event ID# 243 is found in the Windows System Event Logs (eventvwr.msc).

To resolve this issue, update the registry key to increase the desktop heap memory size. Mind that this change affects the desktop heap of all services, so do not make the value larger than necessary. To update the registry key, do as follows:

  1. Run regedit.exe.
  2. Locate the HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems key.
  3. Locate the Windows string.

  1. Edit the third "SharedSection" value in the Value data field as shown below:

       Before:

        After:

  1. Click OK.
  2. Reboot the Veeam Agent machine.

More information

To learn more about desktop heap memory, see:

You can check the desktop heap memory usage on your own in the following way:

  1. Download Windows Software Development Kit (SDK).
  2. Run Sdksetup.exe and install Debugging Tools for Windows.
  3. Download LiveKd.
  4. Copy livekd.exe to C:\Program Files (x86)\Windows Kits\10\Debuggers\x64.
  5. Run Command Prompt.
  6. Type the following commands:
livekd -y srv*http://msdl.microsoft.com/download/symbols
!dskheap

Command Prompt returns the list of sessions. If the desktop heap is running out of memory, the Used Rate(%) value for the session is close to 100%.

0: kd> !dskheap
  Winstation\Desktop            Heap Size(KB)   Used Rate(%)
------------------------------------------------------------
  WinSta0\Default                  20480                 0%
  WinSta0\Disconnect                  96                 4%
  WinSta0\Winlogon                   192                 2%
  Service-0x0-3e7$\Default           768                 4%
  Service-0x0-3e4$\Default           768                 1%
  Service-0x0-3e5$\Default           768                 0%
  Service-0x0-17eac$\Default         768                 2%
  Service-0x0-afb53$\Default         768                 0%
  1. Take the last part of the session name and convert the HEX value into Decimal:
    1. Open PowerShell.
    2. Paste the last part of the session name (after the last dash).
    3. Add 0x before the last part of the session name.

  1. Return to Command Prompt.
  2. Type the following WMI query to retrieve all objects related to the session and the name of the account:
Get-WmiObject -Query "ASSOCIATORS OF {Win32_logonsession.LogonId=999}"

Command Prompt returns the list of processes running under that account and the name of the account:

Caption                    Name                       SID
-------                    ----                       ---
SUP-A2025\SYSTEM           SYSTEM                     S-1-5-18
LsaIso.exe                 LsaIso.exe
lsass.exe                  lsass.exe
svchost.exe                svchost.exe
…

If one of the processes running under Local System Account consumes too much memory, we recommend to kill non-Microsoft processes one by one and re-run the !dskheap command (Step 6) to find the leaking application.

Click here to send feedback regarding this KB, or suggest content for a new KB.
To report a typo on this page, highlight the typo with your mouse and press CTRL + Enter.

Spelling error in text

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Thank you!

Thank you!

Your feedback has been received and will be reviewed.

Oops! Something went wrong.

Please try again later.

KB Feedback/Suggestion

This form is only for KB Feedback/Suggestions, if you need help with the software open a support case

By submitting, you are agreeing to have your personal information managed in accordance with the terms of Veeam's Privacy Policy.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Thank you for your interest in Veeam products!
We've sent a verification code to:
  • Incorrect verification code. Please try again.
An email with a verification code was just sent to
Didn't receive the code? Click to resend in sec
Didn't receive the code? Click to resend
Thank you!

Thank you!

Your feedback has been received and will be reviewed.

error icon

Oops! Something went wrong.

Please try again later.