KNOWLEDGE BASE

Tableau Data Engine Error: 4: bad allocation


Published: 23 Jan 2013
Last Modified Date: 19 Jun 2018

Issue

When working with data extracts, the following error message might occur:

Tableau Data Engine Error: 4: bad allocation
OR
Tableau Data Engine Error: 40705: bad allocation

Environment

  • Tableau Desktop
  • Windows
  • .tde extract

 

Resolution

Please try the following troubleshooting options:
  • Empty the Windows TEMP folder (the default location is C:\Users\\AppData\Local\Temp). 
  • Limit the size of the extract. For example: 
    • Filter the extract to only the data required for displaying your visualizations. 
    • Hide unused fields before refreshing or re-creating the extract. 
  • If you are using the 32-bit version of Tableau Desktop, upgrade to a 64-bit version of Tableau Desktop to take advantage of the most memory (a 64-bit computer would be required; see Additional Information below).
  • Close other applications that are not in use when using Tableau Desktop. 
  • Defragment the drive on which the paging file is located.
  • Set the initial and maximum sizes of the paging file to the same value. For more information, see Optimize the Paging File in Windows 7/8/8.1.
If the above options do not resolve the issue, please consider the following workarounds: 
  1. Use Tableau Prep to create the .tde extract.
  2. Use the latest version of Tableau Desktop to create a .hyper extract. To learn more about the new .hyper extract format, see Extract Upgrade to .hyper Format.

Cause

Tableau Desktop is requesting more memory than what the operating system is making available.

Additional Information

  • In 32-bit Windows systems, programs can access 2GB of virtual address space (process memory), or up to 3GB when the /3GB switch is used during system startup.

    Tableau Desktop is a 32-bit, Large Address Aware application. In 64-bit Windows systems, such applications can access the maximum 4GB of virtual address space allowed per 32-bit process.

  • When Tableau Desktop requests memory, it must be able to address the full size requested as a contiguous block. The memory requested must be contiguous, which is why some machines with a lot of available memory may see “out of memory” errors if the contiguous address space is not available.
Did this article resolve the issue?