ASP 8000ffff error on IIS7 TeeChart 2012 during Export
Posted: Thu Aug 02, 2012 2:59 pm
We found an issue with TeeChart 2012 on IIS 7 when exporting charts using tChart.Export.
The work around was: Use Export.asJPEG instead of Export.SaveToJPEGFile
The problem manifested only after multiple calls to tChart.Export.SaveToJPEGFile, which built up to the point where further calls to this method would result in the 8000ffff ASP error. I am not sure if it was a memory leak/buffer overflow or maybe a windows file access issue. Recycling the Application Pool in IIS would temporarily reset the error condition until it built up again to the point of failure. One in the fail state, any further calls to SaveToJPEGFile result in error in IIS regardless of session (i.e. all users on that web site / application pool were affected.) All other functions in ASP work correctly even in the fail state.
Issue: TeeChart 2012 JPG Export on IIS 7+
Solution: Use Export.asJPEG instead of Export.SaveToJPEGFile
Product: TeeChart 2012 ActiveX Build 2012.0.0.8
O/S: Windows Server 2008 R2 SP1
Web Server: IIS 7.5
Application Pool: Classic ASP (running in 64bit)
Symptoms: Web site throws ASP error when exporting JPG
Browser Error Message: error '8000ffff'
(the line of code was accurately pointing to the JPG export. .TEE export works fine)
Event Viewer (Application Log):
Log Name: Application
Source: Application Error
Date: 7/31/2012 3:54:47 PM
Event ID: 1000
Task Category: (100)
Level: Error
Keywords: Classic
User: N/A
Description:
Faulting application name: w3wp.exe, version: 7.5.7601.17514, time stamp: 0x4ce7afa2
Faulting module name: teechart2012x64.ocx_unloaded, version: 0.0.0.0, time stamp: 0x4fdf08be
Exception code: 0xc0000005
Fault offset: 0x00000000504b4730
Faulting process id: 0x12a8
Faulting application start time: 0x01cd6f559331afe9
Faulting application path: c:\windows\system32\inetsrv\w3wp.exe
Faulting module path: teechart2012x64.ocx
Here is the bad code:
blankChart.Export.SaveToJPEGFile "SmallBlank.jpg", False, jpegBestQuality, 100, 188, 230
Here is the good code:
blankChart.Export.asJPEG.CompressionQuality = 100
blankChart.Export.asJPEG.GrayScale = False
blankChart.Export.asJPEG.Height = 230
blankChart.Export.asJPEG.Width = 188
blankChart.Export.asJPEG.SaveToFile("smallBlank.jpg")
We believe this workaround solved our issue.
To recreate the problem, run Export.SaveToJPEGFile multiple times in a loop. We write .TEE and .JPG of each chart file so maybe it requires exporting a .TEE of the same tChart object then .JPG rapidly in successsion to produce the error.
I would consider this a low priority issue if the workaround is effective.
If there is a memory leak in the SaveToJPEGFile method then it would be best practice to use Export.asJPEG.SaveToFile(filename)
The work around was: Use Export.asJPEG instead of Export.SaveToJPEGFile
The problem manifested only after multiple calls to tChart.Export.SaveToJPEGFile, which built up to the point where further calls to this method would result in the 8000ffff ASP error. I am not sure if it was a memory leak/buffer overflow or maybe a windows file access issue. Recycling the Application Pool in IIS would temporarily reset the error condition until it built up again to the point of failure. One in the fail state, any further calls to SaveToJPEGFile result in error in IIS regardless of session (i.e. all users on that web site / application pool were affected.) All other functions in ASP work correctly even in the fail state.
Issue: TeeChart 2012 JPG Export on IIS 7+
Solution: Use Export.asJPEG instead of Export.SaveToJPEGFile
Product: TeeChart 2012 ActiveX Build 2012.0.0.8
O/S: Windows Server 2008 R2 SP1
Web Server: IIS 7.5
Application Pool: Classic ASP (running in 64bit)
Symptoms: Web site throws ASP error when exporting JPG
Browser Error Message: error '8000ffff'
(the line of code was accurately pointing to the JPG export. .TEE export works fine)
Event Viewer (Application Log):
Log Name: Application
Source: Application Error
Date: 7/31/2012 3:54:47 PM
Event ID: 1000
Task Category: (100)
Level: Error
Keywords: Classic
User: N/A
Description:
Faulting application name: w3wp.exe, version: 7.5.7601.17514, time stamp: 0x4ce7afa2
Faulting module name: teechart2012x64.ocx_unloaded, version: 0.0.0.0, time stamp: 0x4fdf08be
Exception code: 0xc0000005
Fault offset: 0x00000000504b4730
Faulting process id: 0x12a8
Faulting application start time: 0x01cd6f559331afe9
Faulting application path: c:\windows\system32\inetsrv\w3wp.exe
Faulting module path: teechart2012x64.ocx
Here is the bad code:
blankChart.Export.SaveToJPEGFile "SmallBlank.jpg", False, jpegBestQuality, 100, 188, 230
Here is the good code:
blankChart.Export.asJPEG.CompressionQuality = 100
blankChart.Export.asJPEG.GrayScale = False
blankChart.Export.asJPEG.Height = 230
blankChart.Export.asJPEG.Width = 188
blankChart.Export.asJPEG.SaveToFile("smallBlank.jpg")
We believe this workaround solved our issue.
To recreate the problem, run Export.SaveToJPEGFile multiple times in a loop. We write .TEE and .JPG of each chart file so maybe it requires exporting a .TEE of the same tChart object then .JPG rapidly in successsion to produce the error.
I would consider this a low priority issue if the workaround is effective.
If there is a memory leak in the SaveToJPEGFile method then it would be best practice to use Export.asJPEG.SaveToFile(filename)