By ChanKK - 6/6/2011
HiMy application hit errors as below when it is in heavy usage. I checked SF source code, found that RemoveReferencesToBusinessObject() and AddBusinessObjectTable() do not support thread-safe (correct me if I am wrong). Shall you please advice. it is urgent!!
Thank you
Event code: 3005 Event message: An unhandled exception has occurred. Event time: 6/7/2011 10:54:36 AM Event time (UTC): 6/7/2011 2:54:36 AM Event ID: 044450cc03b54d168fbb49dfa3103650 Event sequence: 6955 Event occurrence: 2 Event detail code: 0 Application information: Application domain: /LM/w3svc/1/Root/FlexEA-1-129518874042964137 Trust level: Full Application Virtual Path: /FlexEA Application Path: D:\xxx_EA\FlexHR\ Machine name: xxx Process information: Process ID: 5816 Process name: w3wp.exe Account name: NT AUTHORITY\NETWORK SERVICE Exception information: Exception type: InvalidOperationException Exception message: Collection was modified; enumeration operation may not execute. Request information: Request URL: https://xxx.com:443/FlexEA/PayStatement/Forms/PaySlipReport.aspx Request path: /FlexEA/PayStatement/Forms/PaySlipReport.aspx User host address: xxx User: Is authenticated: False Authentication Type: Thread account name: NT AUTHORITY\NETWORK SERVICE Thread information: Thread ID: 19 Thread account name: NT AUTHORITY\NETWORK SERVICE Is impersonating: False Stack trace: at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource) at System.Collections.Generic.Dictionary`2.Enumerator.MoveNext() at MicroFour.StrataFrame.Business.BusinessLayer.SharedDataTableCollection.RemoveReferencesToBusinessObject(BusinessLayer bo) at MicroFour.StrataFrame.Business.BusinessBindingSource.ClearBusinessObjectList() at MicroFour.StrataFrame.Business.BusinessBindingSource.Dispose(Boolean disposing) at System.ComponentModel.Component.Dispose() at Vfs.PayStatement.UI.Web.Forms.PaySlipReport.Report_AfterPrint(Object sender, EventArgs e) at DevExpress.XtraReports.UI.XRControl.OnAfterPrint(EventArgs e) at DevExpress.XtraReports.UI.XtraReport.OnAfterPrint(EventArgs e) at Vfs.PayStatement.UI.Web.Reports.PaySlipWDReportDesign.OnAfterPrint(EventArgs e) at DevExpress.XtraReports.UI.XtraReport.AfterBuildPagesProc() at DevExpress.XtraPrinting.Native.Printingdocument.AfterBuild() at DevExpress.XtraPrinting.Native.PSdocument.AfterBuild() at DevExpress.XtraPrinting.Native.Printingdocument.DocumentHelper.BuildPages() at DevExpress.XtraPrinting.Native.Printingdocument.BuildPages() at DevExpress.XtraPrinting.Native.Printingdocument.End(Boolean buildPagesInBackground) at DevExpress.XtraPrinting.PrintingSystemBase.End(Boolean buildPagesInBackground) at DevExpress.XtraReports.UI.XtraReport.CreateDocumentCore2(PrintingSystemBase ps, Single progressRange, Boolean buildPagesInBackground) at DevExpress.XtraReports.UI.XtraReport.CreateDocumentCore(Single progressRange, Boolean buildPagesInBackground) at DevExpress.XtraReports.UI.XtraReport.CreateDocument(Single progressRange, Boolean buildPagesInBackground) at DevExpress.XtraReports.UI.XtraReport.CreateDocument() at DevExpress.XtraReports.Web.ReportViewer.ForcePSDocument() at DevExpress.XtraReports.Web.ReportViewer.OnPreRender(EventArgs e) at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) Custom event details:
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
[quote][/quote]Event code: 3005 Event message: An unhandled exception has occurred. Event time: 6/7/2011 10:15:28 AM Event time (UTC): 6/7/2011 2:15:28 AM Event ID: 3db852e418f44f188a80e9347469243a Event sequence: 5370 Event occurrence: 25 Event detail code: 0 Application information: Application domain: /LM/w3svc/1/Root/FlexEA-1-129518858229784092 Trust level: Full Application Virtual Path: /FlexEA Application Path: D:\xxx_EA\FlexHR\ Machine name: xxx Process information: Process ID: 1404 Process name: w3wp.exe Account name: NT AUTHORITY\NETWORK SERVICE Exception information: Exception type: IndexOutOfRangeException Exception message: Index was outside the bounds of the array. Request information: Request URL: https://xxx.com:443/FlexEA/PayStatement/Forms/PayEAReport.aspx Request path: /FlexEA/PayStatement/Forms/PayEAReport.aspx User host address: xxx User: Is authenticated: False Authentication Type: Thread account name: NT AUTHORITY\NETWORK SERVICE Thread information: Thread ID: 33 Thread account name: NT AUTHORITY\NETWORK SERVICE Is impersonating: False Stack trace: at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) at MicroFour.StrataFrame.Business.BusinessLayer.SharedDataTableCollection.AddBusinessObjectTable(BusinessLayer BusinessObject) at MicroFour.StrataFrame.Business.BusinessLayer.ShareCurrentDataTable(BusinessLayer BusinessObject) at MicroFour.StrataFrame.Business.BusinessBindingSource.CreateShareAndAddBusinessObject(Int32 index) at MicroFour.StrataFrame.Business.BusinessBindingSource.get_Item(Int32 index) at DevExpress.Data.Helpers.BaseListDataControllerHelper.GetRow(Int32 listSourceRow) at DevExpress.Data.DataController.GetRow(Int32 controllerRow) at DevExpress.Data.BaseListSourceDataController.GetRow(Int32 controllerRow) at DevExpress.XtraReports.Native.Data.SortedListController.GetItem(Int32 index) at DevExpress.Data.Browsing.ListBrowser.get_Current() at DevExpress.XtraReports.UI.XRBinding.GetImmediateColumnValue(XRDataContext dataContext, ImagesContainer images) at DevExpress.XtraReports.UI.XRBinding.GetColumnValue(XRDataContext dataContext, ImagesContainer images) at DevExpress.XtraReports.UI.XRBinding.UpdatePropertyValue(XRDataContext dataContext, ImagesContainer images) at DevExpress.XtraReports.UI.XRControl.UpdateBindingCore(XRDataContext dataContext, ImagesContainer images) at DevExpress.XtraReports.UI.XRFieldEmbeddableControl.UpdateBindingCore(XRDataContext dataContext, ImagesContainer images) at DevExpress.XtraReports.UI.XRControl.UpdateBinding(XRDataContext dataContext, ImagesContainer images) at DevExpress.XtraReports.UI.Band.GenerateContent(DocumentBand docBand, Int32 rowIndex, Boolean fireBeforePrint) at DevExpress.XtraReports.UI.Band.GenerateWithSubreports(DocumentBand docBand, Int32 rowIndex, Boolean fireBeforePrint, PageBuildInfo pageBuildInfo) at DevExpress.XtraReports.Native.SelfGeneratedDocumentBand..ctor(RootDocumentBand root, DocumentBandKind kind, Band band, Int32 rowIndex, Boolean fireBeforePrint, PageBuildInfo pageBuildInfo) at DevExpress.XtraReports.UI.Band.CreateDocumentBand(Int32 rowIndex, RootDocumentBand rootDocBand, PageBuildInfo pageBuildInfo) at DevExpress.XtraReports.UI.DetailBand.CreateDocumentBand(Int32 rowIndex, Int32 rowCount, RootDocumentBand rootDocBand, PageBuildInfo pageBuildInfo) at DevExpress.XtraReports.Native.Printing.DetailWriterBase.WriteDetailCore(PageBuildInfo pageBuildInfo) at DevExpress.XtraReports.Native.Printing.DetailWriterBase.Write(DocumentBand rootBand, PageBuildInfo pageBuildInfo) at DevExpress.XtraReports.Native.Printing.DocumentBuilder.GetBand(DocumentBand rootBand, PageBuildInfo pageBuildInfo) at DevExpress.XtraPrinting.Native.DocumentBand.GetBand(Int32 index, RectangleF bounds, PointF offset, Boolean forNextPage) at DevExpress.XtraPrinting.Native.DocumentBand.GetBand(Int32 index) at DevExpress.XtraPrinting.Native.BuildInfoContainer.GetDetailContainer(DocumentBand rootBand, PageRowBuilderBase pageRowBuilderBase, RectangleF bounds) at DevExpress.XtraPrinting.Native.PageHeaderFooterRowBuilder.GetHeaderRowIndex(DocumentBand rootBand) at DevExpress.XtraPrinting.Native.PageHeaderFooterRowBuilderBase.FillPageHeader(DocumentBand rootBand, RectangleF bounds) at DevExpress.XtraPrinting.Native.PageHeaderFooterRowBuilderBase.FillReportDetailsAndFooter(DocumentBand rootBand, RectangleF bounds) at DevExpress.XtraPrinting.Native.PageRowBuilderBase.FillPage(DocumentBand rootBand, RectangleF bounds) at DevExpress.XtraPrinting.Native.PageBuildEngine.Build(Boolean shoulAddPages) at DevExpress.XtraPrinting.Native.PageBuildEngine.BuildPages(DocumentBand rootBand, ReadonlyPageData pageData, RectangleF usefulPageRect, Boolean shoulAddPages, PrintingDocument document) at DevExpress.XtraPrinting.Native.PageBuildEngine.BuildPages(DocumentBand rootBand, PrintingDocument document, PrintingSystemBase ps) at DevExpress.XtraPrinting.Native.Printingdocument.BuildPagesCore() at DevExpress.XtraPrinting.Native.Printingdocument.DocumentHelper.BuildPages() at DevExpress.XtraPrinting.Native.Printingdocument.BuildPages() at DevExpress.XtraPrinting.Native.Printingdocument.End(Boolean buildPagesInBackground) at DevExpress.XtraPrinting.PrintingSystemBase.End(Boolean buildPagesInBackground) at DevExpress.XtraReports.UI.XtraReport.CreateDocumentCore2(PrintingSystemBase ps, Single progressRange, Boolean buildPagesInBackground) at DevExpress.XtraReports.UI.XtraReport.CreateDocumentCore(Single progressRange, Boolean buildPagesInBackground) at DevExpress.XtraReports.UI.XtraReport.CreateDocument(Single progressRange, Boolean buildPagesInBackground) at DevExpress.XtraReports.UI.XtraReport.CreateDocument() at DevExpress.XtraReports.Web.ReportViewer.ForcePSDocument() at DevExpress.XtraReports.Web.ReportViewer.OnPreRender(EventArgs e) at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) |
|