[ https://issues.apache.org/jira/browse/FLEX-35279?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15898340#comment-15898340 ]
Alex Harui commented on FLEX-35279: ----------------------------------- Hard to say if that will fix the issue. Is the data structure extremely complex? It might be worth getting a performance profile to see what else is going on. In the posted stack trace, the Application's resizeHandler is running, which causes the visibility of the OrderMaintenanceWindow to change, which results in the dataProvider being changed in the grid and then all the nodes in the DataGrid get expanded. But we don't know what else happened during these 60 seconds. Maybe something else happened during the resizeHandler that ate up 50 of the 60 seconds. Maybe the rest of the OrderMaintenanceWindow had to be initialized and that ate up 50 of the 60 seconds. A profiler would shed some light here. It seems improbably that expandAll would be the first line in every stack trace. I could believe it if expandAll is always in the list but the things it calls are frequently the first line. When the player has 60 seconds to run all of this code, other things running on the system are a factor. If you have all of your CPUs busy doing other things, then Flash may only run 10% of the code instructions it might run if nothing else was running. So what you really want to do is make sure there are no long loops in your app. In theory, it is possible to replace expandAll() with a pseudo-threaded expand equivalent. It might take longer to do its thing, but if you only expand a few nodes in each callLater, you will be better guaranteed to avoid future timeouts. Here's an old blog article about pseudo-threading. http://blogs.adobe.com/aharui/?s=pseudo+thread&submit= > Apache Flex Screen freeze > ------------------------- > > Key: FLEX-35279 > URL: https://issues.apache.org/jira/browse/FLEX-35279 > Project: Apache Flex > Issue Type: Bug > Components: Advanced Data Grid > Affects Versions: Apache Flex 4.15.0 > Environment: IE, Firefox, and Chrome Browsers > Reporter: Scott Capilouto > Priority: Critical > > We have an application where we are seeing intermittently screen freezes with > the following error. Apache Flex appears to freeze for a minute to a minute > and half before resuming. > Would you happen to know what might be causing this? > We are able to see this error when running from Firefox in Debug mode: > Error: Error #1502: A script has executed for longer than the default timeout > period of 15 seconds. > at > mx.controls::AdvancedDataGrid/expandAll()[/Users/justinmclean/Documents/ApacheFlex4.15/frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGrid.as:5780] > at > mx.controls::AdvancedDataGrid/collectionChangeHandler()[/Users/justinmclean/Documents/ApacheFlex4.15/frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGrid.as:8232] > at flash.events::EventDispatcher/dispatchEventFunction() > at flash.events::EventDispatcher/dispatchEvent() > at > mx.collections::HierarchicalCollectionView/internalRefresh()[/Users/justinmclean/Documents/ApacheFlex4.15/frameworks/projects/advancedgrids/src/mx/collections/HierarchicalCollectionView.as:1272] > at > mx.collections::HierarchicalCollectionView/collectionChangeHandler()[/Users/justinmclean/Documents/ApacheFlex4.15/frameworks/projects/advancedgrids/src/mx/collections/HierarchicalCollectionView.as:1459] > at flash.events::EventDispatcher/dispatchEventFunction() > at flash.events::EventDispatcher/dispatchEvent() > at mx.collections::HierarchicalData/set > source()[/Users/justinmclean/Documents/ApacheFlex4.15/frameworks/projects/advancedgrids/src/mx/collections/HierarchicalData.as:153] > at > mx.binding::Binding/defaultDestFunc()[/Users/justinmclean/Documents/ApacheFlex4.15/frameworks/projects/framework/src/mx/binding/Binding.as:305] > at Function/http://adobe.com/AS3/2006/builtin::call() > at > mx.binding::Binding/innerExecute()[/Users/justinmclean/Documents/ApacheFlex4.15/frameworks/projects/framework/src/mx/binding/Binding.as:511] > at Function/http://adobe.com/AS3/2006/builtin::apply() > at > mx.binding::Binding/wrapFunctionCall()[/Users/justinmclean/Documents/ApacheFlex4.15/frameworks/projects/framework/src/mx/binding/Binding.as:418] > at > mx.binding::Binding/execute()[/Users/justinmclean/Documents/ApacheFlex4.15/frameworks/projects/framework/src/mx/binding/Binding.as:356] > at > mx.binding::Binding/watcherFired()[/Users/justinmclean/Documents/ApacheFlex4.15/frameworks/projects/framework/src/mx/binding/Binding.as:539] > at > mx.binding::Watcher/notifyListeners()[/Users/justinmclean/Documents/ApacheFlex4.15/frameworks/projects/framework/src/mx/binding/Watcher.as:317] > at > mx.binding::PropertyWatcher/eventHandler()[/Users/justinmclean/Documents/ApacheFlex4.15/frameworks/projects/framework/src/mx/binding/PropertyWatcher.as:385] > at flash.events::EventDispatcher/dispatchEventFunction() > at flash.events::EventDispatcher/dispatchEvent() > at com.homedepot.mm.sv.esvs.model::SVSModelLocator/dispatchEvent() > at com.homedepot.mm.sv.esvs.model::SVSModelLocator/set acLocalLineItemData() > at > com.homedepot.mm.sv.esvs.view.order::ProductEntry/refreshLineItemDataGrid()[C:\bkpppp\esvs\MMSVESVSWeb\src\com\homedepot\mm\sv\esvs\view\order\ProductEntry.mxml:6638] > at > com.homedepot.mm.sv.esvs.view.order::OrderMaintenanceWindow/measureServiceViewHideHandler()[C:\bkpppp\esvs\MMSVESVSWeb\src\com\homedepot\mm\sv\esvs\view\order\OrderMaintenanceWindow.mxml:1111] > at flash.events::EventDispatcher/dispatchEventFunction() > at flash.events::EventDispatcher/dispatchEvent() > at > mx.core::UIComponent/dispatchEvent()[/Users/justinmclean/Documents/ApacheFlex4.15/frameworks/projects/framework/src/mx/core/UIComponent.as:13688] > at > mx.core::UIComponent/setVisible()[/Users/justinmclean/Documents/ApacheFlex4.15/frameworks/projects/framework/src/mx/core/UIComponent.as:3301] > at > mx.containers::ViewStack/commitSelectedIndex()[/Users/justinmclean/Documents/ApacheFlex4.15/frameworks/projects/mx/src/mx/containers/ViewStack.as:1227] > at > mx.containers::ViewStack/commitProperties()[/Users/justinmclean/Documents/ApacheFlex4.15/frameworks/projects/mx/src/mx/containers/ViewStack.as:767] > at > mx.core::UIComponent/validateProperties()[/Users/justinmclean/Documents/ApacheFlex4.15/frameworks/projects/framework/src/mx/core/UIComponent.as:8751] > at > mx.managers::LayoutManager/validateProperties()[/Users/justinmclean/Documents/ApacheFlex4.15/frameworks/projects/framework/src/mx/managers/LayoutManager.as:605] > at > mx.managers::LayoutManager/doPhasedInstantiation()[/Users/justinmclean/Documents/ApacheFlex4.15/frameworks/projects/framework/src/mx/managers/LayoutManager.as:821] > at > mx.managers::LayoutManager/validateNow()[/Users/justinmclean/Documents/ApacheFlex4.15/frameworks/projects/framework/src/mx/managers/LayoutManager.as:886] > at > mx.core::Application/resizeHandler()[/Users/justinmclean/Documents/ApacheFlex4.15/frameworks/projects/mx/src/mx/core/Application.as:1742] > at > mx.core::Application/commitProperties()[/Users/justinmclean/Documents/ApacheFlex4.15/frameworks/projects/mx/src/mx/core/Application.as:1095] > at > mx.core::UIComponent/validateProperties()[/Users/justinmclean/Documents/ApacheFlex4.15/frameworks/projects/framework/src/mx/core/UIComponent.as:8751] > at > mx.managers::LayoutManager/validateProperties()[/Users/justinmclean/Documents/ApacheFlex4.15/frameworks/projects/framework/src/mx/managers/LayoutManager.as:605] > at > mx.managers::LayoutManager/doPhasedInstantiation()[/Users/justinmclean/Documents/ApacheFlex4.15/frameworks/projects/framework/src/mx/managers/LayoutManager.as:821] > at > mx.managers::LayoutManager/doPhasedInstantiationCallback()[/Users/justinmclean/Documents/ApacheFlex4.15/frameworks/projects/framework/src/mx/managers/LayoutManager.as:1188] -- This message was sent by Atlassian JIRA (v6.3.15#6346)