memory leaks
Posted: Mon Dec 13, 2010 8:47 pm
we have recently adopted Stimulsoft reports and are now experiencing memory leaks with our application server. We have resorted to using an advanced memory profiler to help diagnose and it finds many faults in Stimulsoft. For example:
Undisposed instances (release resource)
This type has instances that have been garbage collected without being properly disposed. To improve memory/resource utilization, it is recommended that instances of this type are properly disposed. Disposing instances of this type will release resource and suppress finalization.
Stimulsoft.Report!Stimulsoft.Report.StiReportObjectStringConverter.ConvertStringToFont( string )
Stimulsoft.Report!Stimulsoft.Report.StiReportObjectStringConverter.StringToObject( string,Type )
Stimulsoft.Base!Stimulsoft.Base.Serializing.StiSerializing.DeserializeObject( object,StiPropertyInfoCollection )
Stimulsoft.Base!Stimulsoft.Base.Serializing.StiSerializing.DeserializeObject( object,StiPropertyInfoCollection )
Stimulsoft.Base!Stimulsoft.Base.Serializing.StiSerializing.DeserializeObject( object,StiPropertyInfoCollection )
Stimulsoft.Base!Stimulsoft.Base.Serializing.StiSerializing.DeserializeObject( object,StiPropertyInfoCollection )
Stimulsoft.Base!Stimulsoft.Base.Serializing.StiSerializing.Deserialize( object,Stream,string )
Stimulsoft.Report!Stimulsoft.Report.SaveLoad.StiXmlReportSLService.Load( StiReport,Stream )
Stimulsoft.Report!Stimulsoft.Report.StiReport.Load( StiReportSLService,Stream )
Stimulsoft.Report!Stimulsoft.Report.StiReport.Load( Stream )
Stimulsoft.Report!Stimulsoft.Report.StiReport.Load( string )
Undisposed instances (memory/resource utilization)
This type has instances that have been garbage collected without being properly disposed. To improve memory/resource utilization, it is recommended that instances of this type are properly disposed. Disposing instances of this type will dispose other instances, suppress finalization, and clear references.
Stimulsoft.Base!Stimulsoft.Base.Drawing.StiImageConverter.BytesToImage( byte[] )
Stimulsoft.Base!Stimulsoft.Base.Drawing.StiImageConverter.StringToImage( string )
Stimulsoft.Report!Stimulsoft.Report.StiReportObjectStringConverter.StringToObject( string,Type )
Stimulsoft.Base!Stimulsoft.Base.Serializing.StiSerializing.DeserializeObject( object,StiPropertyInfoCollection )
Stimulsoft.Base!Stimulsoft.Base.Serializing.StiSerializing.DeserializeObject( object,StiPropertyInfoCollection )
Stimulsoft.Base!Stimulsoft.Base.Serializing.StiSerializing.DeserializeObject( object,StiPropertyInfoCollection )
Stimulsoft.Base!Stimulsoft.Base.Serializing.StiSerializing.DeserializeObject( object,StiPropertyInfoCollection )
Stimulsoft.Base!Stimulsoft.Base.Serializing.StiSerializing.Deserialize( object,Stream,string )
Stimulsoft.Report!Stimulsoft.Report.SaveLoad.StiXmlReportSLService.Load( StiReport,Stream )
Stimulsoft.Report!Stimulsoft.Report.StiReport.Load( StiReportSLService,Stream )
Stimulsoft.Report!Stimulsoft.Report.StiReport.Load( Stream )
Stimulsoft.Report!Stimulsoft.Report.StiReport.Load( string )
I wonder if you might use a similar tool to make sure your code does not have memory leaks.
Undisposed instances (release resource)
This type has instances that have been garbage collected without being properly disposed. To improve memory/resource utilization, it is recommended that instances of this type are properly disposed. Disposing instances of this type will release resource and suppress finalization.
Stimulsoft.Report!Stimulsoft.Report.StiReportObjectStringConverter.ConvertStringToFont( string )
Stimulsoft.Report!Stimulsoft.Report.StiReportObjectStringConverter.StringToObject( string,Type )
Stimulsoft.Base!Stimulsoft.Base.Serializing.StiSerializing.DeserializeObject( object,StiPropertyInfoCollection )
Stimulsoft.Base!Stimulsoft.Base.Serializing.StiSerializing.DeserializeObject( object,StiPropertyInfoCollection )
Stimulsoft.Base!Stimulsoft.Base.Serializing.StiSerializing.DeserializeObject( object,StiPropertyInfoCollection )
Stimulsoft.Base!Stimulsoft.Base.Serializing.StiSerializing.DeserializeObject( object,StiPropertyInfoCollection )
Stimulsoft.Base!Stimulsoft.Base.Serializing.StiSerializing.Deserialize( object,Stream,string )
Stimulsoft.Report!Stimulsoft.Report.SaveLoad.StiXmlReportSLService.Load( StiReport,Stream )
Stimulsoft.Report!Stimulsoft.Report.StiReport.Load( StiReportSLService,Stream )
Stimulsoft.Report!Stimulsoft.Report.StiReport.Load( Stream )
Stimulsoft.Report!Stimulsoft.Report.StiReport.Load( string )
Undisposed instances (memory/resource utilization)
This type has instances that have been garbage collected without being properly disposed. To improve memory/resource utilization, it is recommended that instances of this type are properly disposed. Disposing instances of this type will dispose other instances, suppress finalization, and clear references.
Stimulsoft.Base!Stimulsoft.Base.Drawing.StiImageConverter.BytesToImage( byte[] )
Stimulsoft.Base!Stimulsoft.Base.Drawing.StiImageConverter.StringToImage( string )
Stimulsoft.Report!Stimulsoft.Report.StiReportObjectStringConverter.StringToObject( string,Type )
Stimulsoft.Base!Stimulsoft.Base.Serializing.StiSerializing.DeserializeObject( object,StiPropertyInfoCollection )
Stimulsoft.Base!Stimulsoft.Base.Serializing.StiSerializing.DeserializeObject( object,StiPropertyInfoCollection )
Stimulsoft.Base!Stimulsoft.Base.Serializing.StiSerializing.DeserializeObject( object,StiPropertyInfoCollection )
Stimulsoft.Base!Stimulsoft.Base.Serializing.StiSerializing.DeserializeObject( object,StiPropertyInfoCollection )
Stimulsoft.Base!Stimulsoft.Base.Serializing.StiSerializing.Deserialize( object,Stream,string )
Stimulsoft.Report!Stimulsoft.Report.SaveLoad.StiXmlReportSLService.Load( StiReport,Stream )
Stimulsoft.Report!Stimulsoft.Report.StiReport.Load( StiReportSLService,Stream )
Stimulsoft.Report!Stimulsoft.Report.StiReport.Load( Stream )
Stimulsoft.Report!Stimulsoft.Report.StiReport.Load( string )
I wonder if you might use a similar tool to make sure your code does not have memory leaks.