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: 2020-08-13

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 is displayed in System Event Log 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

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.

KB ID: 3077
Product: Veeam Agent for Microsoft Windows
Published: 2019-12-26
Last Modified: 2020-08-13

Couldn't find what you were looking for?

Below you can submit an idea for a new knowledge base article.
Report a typo on this page:

Please select a spelling error or a typo on this page with your mouse and press CTRL + Enter to report this mistake to us. Thank you!

Spelling error in text

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Your report was sent to the responsible team. Our representative will contact you by email you provided.
We're working on it 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 go back try again later.