Over the last months I have bumped into many occurrences of the following error in machines that are Running Reporting Services 2005, and in most of the cases when displaying reports through CRM. The error seems to occur RAMDOMLY:

Reporting Services Error An internal error occurred on the report server. See the error log for more details (rsInternalError)

Additionally, an error message that resembles the following error message is logged in the Reporting Services log file:

……
w3wp!processing!5!
Date - Time:: a ASSERT: Assertion failed! Call stack:
Microsoft.ReportingServices.ReportProcessing.ReportProcessing.UpdateTimingInformation(RunningJobContext jobContext, Int64 totalDurationMs, Int64 reportDataRetrievalDurationMs, Int64 reportRenderingDurationMs)
Microsoft.ReportingServices.ReportProcessing.ReportProcessing.RenderReport(IRenderingExtension renderer, DateTime executionTimeStamp, GetReportChunk getCompiledDefinitionCallback, ProcessingContext pc, RenderingContext rc, CreateReportChunk cacheDataCallback, Boolean& dataCached)
……
w3wp!library!5!
Date - Time:: e ERROR: Throwing Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException: An internal error occurred on the report server. See the error log for more details., un-named assertion fired for component processing;
Info: Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException: An internal error occurred on the report server. See the error log for more details..

The issue was caused by a problem with the hardware AMD processor with PowerNow technology enabled in the BIOS (using technology Cool'n'Quiet). Please check if that is your case.

The following article describes the underlying cause of it, which seems to be casing secondary effects in other applications like Reporting Services.

SQL Server timing values may be incorrect when you use utilities or technologies that change CPU frequencies

http://support.microsoft.com/default.aspx?scid=kb;EN-US;931279

 

To get rid of this error, first of all, you should find out if your machine has an AMD multi processor by checking the Properties of the “My Computer”, under the general Tab.

If that is the case (If you can confirm that your machine is has an AMD processor) you have 3 options:  1) Update the BIOS on the computer (to disable the Cool'n'Quiet technology from the BIOS), 2) modify the Boot.ini file to use the /usepmtimer switch, or 3) Install Cumulative Update Package 5 for SQL Server 2005 Service Pack 2 (http://support.microsoft.com/default.aspx?scid=KB;LN;943656)

If you choose to modify the boot.ini instead installing the rollup, you can follow these steps:

1.       Log on to the computer by using an account that has administrative credentials.

2.       Click Start, click Run, type notepad c:\boot.ini, and then click OK.

3.       In the Boot.ini file, a line that starts with "default" is located in the "[boot loader]" section. This line specifies the location of the default operating system. The line may appear as follows:

 

default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS

In the "[operating systems]" section, locate the line for the operating system that corresponds to the "default" line. For example, if the computer is running Microsoft Windows Server 2003, Enterprise x64 Edition, the line should resemble the following:

multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows Server 2003 Enterprise x64 Edition" /fastdetect /NoExecute=OptIn

4.       At the end of the line, add a space, and then type /usepmtimer. The line should now resemble the following.

 

multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows Server 2003 Enterprise x64 Edition" /fastdetect /NoExecute=OptIn /usepmtimer

 

5.       Save the file, and then exit Notepad.

6.       Restart the computer.

 

The following is a sample Boot.ini file for a system that contains the /usepmtimer switch.

[boot loader]

timeout=0

default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS

[operating systems]

multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows Server 2003 Enterprise x64 Edition" /fastdetect /NoExecute=OptIn /usepmtimer

 

Note: The Boot.ini file is located in the root folder of the system drive.

Programs that use the QueryPerformanceCounter function may perform poorly in Windows Server 2003 and in Windows XP http://support.microsoft.com/kb/895980

 

 Maria Esteban

Reporting Services Support Engineer