Need More Info
Last Updated: 14 Mar 2025 15:30 by ADMIN
Hayden
Created on: 10 Mar 2025 05:04
Type: Bug Report
1
ReportProcessor.RenderReport is not thread-safe

Hi,

I've attached the following abstraction that I made which renders pdfs using a TRDP file.

In an environment where we're bulk generating documents, this falls over as the returning code can return documents from other threads.

This solution is fixable by adding in a lock (commented out in the example), but it degrades the performance quite a bit and users wouldn't expect this behaviour.

This has been reported previously: https://www.telerik.com/forums/is-the-reportprocessor-renderreport-function-thread-safe

I'm using the 2025.1.205 NuGet Packages.

Regards,

Hayden

Attached Files:
1 comment
ADMIN
Dimitar
Posted on: 14 Mar 2025 15:30

Hello Hayden,

Thank you for the attached file with the custom code!

Let me start by mentioning that, the issue spoken about in the Is the ReportProcessor.RenderReport function thread safe? in Reporting | Telerik Forums thread, have been resolved with previous versions of the product.

For the last couple of releases as well, we have been gradually making improvements to the Reporting engine. For example, we have implemented a thread-local cache for many of the resources which should make the rendering thread-safe.

Also, we have multiple tests for the rendering running in parallel and have not experienced issues so far. Could you please provide more information on how the TelerikPdfRenderer class is used in your application? Perhaps you could attach a sample application where the issue is reproducible?

If not, would you please at least share the exact error message that is thrown when the lock statement is not used?

We look forward to your response.

Regards,
Dimitar
Progress Telerik

Enjoyed our products? Share your experience on G2 and receive a $25 Amazon gift card for a limited time!