FIX: "An unexpected error occurred" error in the PFMemoryHolder::RegisterMemoryHolder function when you run an MDX query in SQL Server 2012

Article ID: 2699163 - View products that this article applies to.
Microsoft distributes Microsoft SQL Server 2012 fixes as one downloadable file. Because the fixes are cumulative, each new release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2012 fix release.
Expand all | Collapse all

On This Page

Symptoms

When you run a Multidimensional Expressions (MDX) query in an instance of Microsoft SQL Server 2012 Analysis Services (SSAS 2012), the query might fail, and you receive the following error message:
Internal error: An unexpected error occurred (file 'pfiallocator.cpp', line 804, function 'PFMemoryHolder::RegisterMemoryHolder').

Execution complete

Additionally, a minidump file is generated in the SSAS 2012 log folder.

Notes
  • This issue typically occurs if a subcube that is generated has an arbitrary shape set that is below the grain, and that involves a many-to-many or reference dimension relationship.
  • An arbitrary shape set is a set that cannot be easily expressed as a crossjoin set of two sets of attribute members. For example, "{(2004, USA), (2001, Canada)}" is an arbitrary shape set.

Cause

This issue occurs because the SSAS 2012 Storage Engine tries to read a .det file that contains the metadata for the database when you run the query. However, because a path in the metadata is NULL, this causes the issue that is described in the "Symptoms" section.

Resolution

Cumulative update information

SQL Server 2012

The fix for this issue was first released in Cumulative Update 2 for SQL Server 2012. For more information about how to obtain this cumulative update package for SQL Server, click the following article number to view the article in the Microsoft Knowledge Base:
2703275 Cumulative update package 2 for SQL Server 2012
Note Because the builds are cumulative, each new fix release contains all the hotfixes and all the security fixes that were included with the previous SQL Server fix release. We recommend that you consider applying the most recent fix release that contains this hotfix. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
2692828 The SQL Server 2012 builds that were released after SQL Server 2012 was released

Workaround

To work around this issue, change the MDX query to not use an arbitrary shape set.

Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

Properties

Article ID: 2699163 - Last Review: November 22, 2012 - Revision: 2.2
Applies to
  • Microsoft SQL Server 2012 Business Intelligence
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Standard
Keywords: 
kbtshoot kbqfe kbfix kbsurveynew kbexpertiseadvanced KB2699163

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com