From: <fra...@us...> - 2009-03-04 21:36:03
|
Revision: 1249 http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1249&view=rev Author: frankrimlinger Date: 2009-03-04 21:35:58 +0000 (Wed, 04 Mar 2009) Log Message: ----------- Tightened up ack logic to prevent a high priority thread from swapping in and running a command while a lower priority command was running. This fixes the "symbol hashing error". This was a serious problem and required extensive rehab of the ack system as well as a SystemBuilder tweak. Hopefully this issue is put to rest. Took advantage of the rehab to introduce AckConnector class to allow better script hiliting when a command uses sendUserRewrite() instead of the trap mechanism. Tested by rebuilding and replaying itsAWrap loop and clear() and main() up to the frame bug. No more hashing weirdness, but script hiliting probably needs more work. Perhaps the Commander is introducing unnecessary latency? Another timing issue: short-circuiting gumbo routing by directly calling MessageRouter.routMessage turns out to be a bad idea. The trouble is (probably) that both worker and the user (via the gui) pound on this from different threads, causing ConcurrentModificationExceptions. So you need to back off and use this the way it was designed. Fix this, then finally back to frame bug. Modified Paths: -------------- branches/mango/extensions/mango/Mango/src/mango/control/action/editor/PostAction.java branches/mango/extensions/mango/Mango/src/mango/control/msg/OpenDFLEditorRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/control/msg/OpenDFLasAxiomRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/control/msg/OpenEncapsulationTemplateRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/control/msg/OpenInterpretationRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/control/msg/ReplayedMsg.java branches/mango/extensions/mango/Mango/src/mango/core/gui/action/ClearStatisticsAction.java branches/mango/extensions/mango/Mango/src/mango/core/gui/action/EnforceTierSettingsAction.java branches/mango/extensions/mango/Mango/src/mango/core/gui/action/ScriptedActivateAction.java branches/mango/extensions/mango/Mango/src/mango/core/gui/action/ScriptedDeactivateAction.java branches/mango/extensions/mango/Mango/src/mango/core/gui/tablemodel/MangoModelUtilities.java branches/mango/extensions/mango/Mango/src/mango/core/sym/RuleKey.java branches/mango/extensions/mango/Mango/src/mango/debugger/action/BreakPointTypeAction.java branches/mango/extensions/mango/Mango/src/mango/debugger/msg/ClearBreakPointMsg.java branches/mango/extensions/mango/Mango/src/mango/debugger/msg/ContinueRewritingMsg.java branches/mango/extensions/mango/Mango/src/mango/debugger/msg/SetBreakPointMsg.java branches/mango/extensions/mango/Mango/src/mango/debugger/msg/SetBreakPointTypeMsg.java branches/mango/extensions/mango/Mango/src/mango/debugger/msg/SetRuleKeyBreakPointMsg.java branches/mango/extensions/mango/Mango/src/mango/debugger/msg/SingleOffMsg.java branches/mango/extensions/mango/Mango/src/mango/debugger/msg/SingleOnMsg.java branches/mango/extensions/mango/Mango/src/mango/debugger/msg/SingleStepMsg.java branches/mango/extensions/mango/Mango/src/mango/debugger/msg/StopRewritingMsg.java branches/mango/extensions/mango/Mango/src/mango/enterprise/locator/DFLocator.java branches/mango/extensions/mango/Mango/src/mango/enterprise/locator/Locator.java branches/mango/extensions/mango/Mango/src/mango/enterprise/locator/LocatorManager.java branches/mango/extensions/mango/Mango/src/mango/enterprise/locator/ModuleLocator.java branches/mango/extensions/mango/Mango/src/mango/enterprise/workerID/WorkerID.java branches/mango/extensions/mango/Mango/src/mango/graph/agent/GraphViewAgent.java branches/mango/extensions/mango/Mango/src/mango/graph/msg/GraphViewCreateRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/graph/msg/MultiGraph3DViewCreateRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/module/definition/loop/msg/LoopDefinitionLocatorMsg.java branches/mango/extensions/mango/Mango/src/mango/module/definition/loop/msg/LoopDefinitionRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/module/definition/method/MethodDefinitionManager.java branches/mango/extensions/mango/Mango/src/mango/module/definition/method/msg/CreateMethodStubMsg.java branches/mango/extensions/mango/Mango/src/mango/module/definition/method/msg/MethodDefinitionLocatorMsg.java branches/mango/extensions/mango/Mango/src/mango/module/definition/method/msg/MethodDefinitionRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/module/definition/msg/AddConjectureLocatorMsg.java branches/mango/extensions/mango/Mango/src/mango/module/definition/msg/AddConjectureRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/module/definition/msg/AddConjectureTranslateMsg.java branches/mango/extensions/mango/Mango/src/mango/module/definition/msg/AddEquivalenceAutoRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/module/definition/msg/AddEquivalenceConjectureLocatorMsg.java branches/mango/extensions/mango/Mango/src/mango/module/definition/msg/AddEquivalenceLocatorMsg.java branches/mango/extensions/mango/Mango/src/mango/module/definition/msg/AddEquivalenceRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/module/definition/msg/AddHypothesisAutoRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/module/definition/msg/AddHypothesisLocatorMsg.java branches/mango/extensions/mango/Mango/src/mango/module/definition/msg/AddHypothesisRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/module/definition/msg/AddHypothesisTranslateMsg.java branches/mango/extensions/mango/Mango/src/mango/module/definition/msg/ApplyCondMapMsg.java branches/mango/extensions/mango/Mango/src/mango/module/definition/msg/CaptureMapMsg.java branches/mango/extensions/mango/Mango/src/mango/module/definition/msg/CloseCaseMsg.java branches/mango/extensions/mango/Mango/src/mango/module/definition/msg/CloseCaseTranslateMsg.java branches/mango/extensions/mango/Mango/src/mango/module/definition/msg/CloseDefinitionMsg.java branches/mango/extensions/mango/Mango/src/mango/module/definition/msg/CoalesceStandingHypothesesMsg.java branches/mango/extensions/mango/Mango/src/mango/module/definition/msg/DeleteUnusedParametersMsg.java branches/mango/extensions/mango/Mango/src/mango/module/definition/msg/EliminateHypothesisLocatorMsg.java branches/mango/extensions/mango/Mango/src/mango/module/definition/msg/EliminateHypothesisRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/module/definition/msg/FinalizeStatusMsg.java branches/mango/extensions/mango/Mango/src/mango/module/definition/msg/IncrementalUpdateMsg.java branches/mango/extensions/mango/Mango/src/mango/module/definition/msg/ManualInstantiationMsg.java branches/mango/extensions/mango/Mango/src/mango/module/definition/msg/RestoreContextMsg.java branches/mango/extensions/mango/Mango/src/mango/module/definition/trap/AddConjectureConnector.java branches/mango/extensions/mango/Mango/src/mango/module/definition/trap/AddConjectureTranslateConnector.java branches/mango/extensions/mango/Mango/src/mango/module/definition/trap/AddEquivalenceConnector.java branches/mango/extensions/mango/Mango/src/mango/module/definition/trap/AddHypothesisTranslateConnector.java branches/mango/extensions/mango/Mango/src/mango/module/definition/trap/AddStandingEquivalenceConnector.java branches/mango/extensions/mango/Mango/src/mango/module/definition/trap/AddStandingHypothesisConnector.java branches/mango/extensions/mango/Mango/src/mango/module/definition/trap/CloseCaseConnector.java branches/mango/extensions/mango/Mango/src/mango/module/definition/trap/ConsistentHypoConnector.java branches/mango/extensions/mango/Mango/src/mango/module/definition/trap/ConsistentHypoTrap.java branches/mango/extensions/mango/Mango/src/mango/module/definition/trap/EliminateHypoConnector.java branches/mango/extensions/mango/Mango/src/mango/module/definition/trap/EliminateHypoTrap.java branches/mango/extensions/mango/Mango/src/mango/module/definition/trap/HarvestParametersTrap.java branches/mango/extensions/mango/Mango/src/mango/module/definition/trap/ScriptedCloseCaseConnector.java branches/mango/extensions/mango/Mango/src/mango/module/definition/trap/ScriptedConjectureConnector.java branches/mango/extensions/mango/Mango/src/mango/module/definition/trap/ScriptedEquivalenceConnector.java branches/mango/extensions/mango/Mango/src/mango/module/definition/trap/ScriptedHypothesisConnector.java branches/mango/extensions/mango/Mango/src/mango/module/instance/loop/msg/CloseLoopInstanceMsg.java branches/mango/extensions/mango/Mango/src/mango/module/instance/method/model/MethodInstanceManager.java branches/mango/extensions/mango/Mango/src/mango/module/instance/method/msg/CloseMethodInstanceMsg.java branches/mango/extensions/mango/Mango/src/mango/module/instance/method/trap/RebindTargetConnector.java branches/mango/extensions/mango/Mango/src/mango/module/instance/msg/MergeRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/module/instance/msg/SubmitStandingHypothesisMsg.java branches/mango/extensions/mango/Mango/src/mango/module/model/ModuleManager.java branches/mango/extensions/mango/Mango/src/mango/module/msg/ApplyLinearLocatorMsg.java branches/mango/extensions/mango/Mango/src/mango/module/msg/ApplyLinearRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/module/msg/ContainsTestMsg.java branches/mango/extensions/mango/Mango/src/mango/module/msg/CreateParametersMsg.java branches/mango/extensions/mango/Mango/src/mango/module/msg/DebugGeneralizationDetailsMsg.java branches/mango/extensions/mango/Mango/src/mango/module/msg/DebugGeneralizationMsg.java branches/mango/extensions/mango/Mango/src/mango/module/msg/DebugInvariantsMsg.java branches/mango/extensions/mango/Mango/src/mango/module/msg/DebugInversionMsg.java branches/mango/extensions/mango/Mango/src/mango/module/msg/DebugLinearArithmeticMsg.java branches/mango/extensions/mango/Mango/src/mango/module/msg/GarbageCollectLocatorMsg.java branches/mango/extensions/mango/Mango/src/mango/module/msg/GarbageCollectRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/module/msg/GeneralizeLocatorMsg.java branches/mango/extensions/mango/Mango/src/mango/module/msg/GeneralizeRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/module/msg/MapToScopeLocatorMsg.java branches/mango/extensions/mango/Mango/src/mango/module/msg/MapToScopeRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/module/msg/MatchMakerLocatorMsg.java branches/mango/extensions/mango/Mango/src/mango/module/msg/MatchMakerRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/module/msg/ShowAssumptionMatchFailureMsg.java branches/mango/extensions/mango/Mango/src/mango/module/msg/ShowHitsMsg.java branches/mango/extensions/mango/Mango/src/mango/module/msg/ShowMatchMakerMsg.java branches/mango/extensions/mango/Mango/src/mango/module/msg/ShowMatchesMsg.java branches/mango/extensions/mango/Mango/src/mango/module/msg/ShowModuleMsg.java branches/mango/extensions/mango/Mango/src/mango/module/msg/ShowRewriteErrorMsg.java branches/mango/extensions/mango/Mango/src/mango/module/msg/ShowRewriterAssumptionsMsg.java branches/mango/extensions/mango/Mango/src/mango/module/msg/TranslateMsg.java branches/mango/extensions/mango/Mango/src/mango/module/trap/ContainsTestTrap.java branches/mango/extensions/mango/Mango/src/mango/module/trap/GeneralizeCaseRewriteTrap.java branches/mango/extensions/mango/Mango/src/mango/module/trap/GeneralizeTrap.java branches/mango/extensions/mango/Mango/src/mango/module/trap/MapToScopeTrap.java branches/mango/extensions/mango/Mango/src/mango/module/trap/MergeTrap.java branches/mango/extensions/mango/Mango/src/mango/module/trap/ReadOnlyCacheTrap.java branches/mango/extensions/mango/Mango/src/mango/script/model/MangoScriptModel.java branches/mango/extensions/mango/Mango/src/mango/source/agent/msg/SourceViewCreateRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/tree/TreeViewManager.java branches/mango/extensions/mango/Mango/src/mango/tree/agent/FolderViewAgent.java branches/mango/extensions/mango/Mango/src/mango/tree/model/FolderViewer.java branches/mango/extensions/mango/Mango/src/mango/tree/msg/ChangeTreeRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/tree/msg/TreeNodeOpenRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/tree/msg/TreeRuleViewCreateRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/tree/msg/TreeTabCreateCommandMsg.java branches/mango/extensions/mango/Mango/src/mango/tree/msg/TreeViewCreateRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/worker/Mango.java branches/mango/extensions/mango/Mango/src/mango/worker/WorkerControl.java branches/mango/extensions/mango/Mango/src/mango/worker/engine/unifier/UnifyEvent.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/conditionalTechniques/trap/CellUpdateTrap.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/conditionalTechniques/trap/LinearArithmeticTrap.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/conditionalTechniques/trap/ReplaceTrapConnector.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/conditionalTechniques/trap/RewriteTrap.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/coreRewriter/trap/ApplyLinearTrap.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/coreRewriter/trap/GarbageCollectTrap.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/invariant/trap/BuildInvariantNamesConnector.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/invariant/trap/BuildInvariantNamesTrap.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/model/TrapConnector.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/model/WorkFlowUtil.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/translate/trap/ScriptedTranslateTrap.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/translate/trap/ScriptedTrapConnector.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/translate/trap/TranslateRequestedTrap.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/translate/trap/TranslateTrap.java branches/mango/extensions/mango/Mango/src/mango/workstation/PopUpResourceManager.java branches/mango/extensions/mango/Mango/src/mango/workstation/ViewBuilder.java branches/mango/extensions/mango/Mango/src/mango/workstation/Workstation.java branches/mango/extensions/mango/Mango/src/mango/workstation/action/MangoActionManager.java branches/mango/extensions/mango/Mango/src/mango/workstation/interaction/PopUpMenuEnabler.java branches/mango/extensions/mango/Mango/src/mango/workstation/window/ToggleUnblockingStateAction.java branches/mango/extensions/mango/ThreadSupport/src/impl/ScriptTest.java branches/mango/extensions/mango/ThreadSupport/src/model/Command.java branches/mango/extensions/mango/ThreadSupport/src/model/Commander.java branches/mango/extensions/mango/ThreadSupport/src/model/SystemBuilder.java branches/mango/extensions/mango/local/franklocal/rules/rulebase.zip branches/mango/extensions/mango/local/franklocal/sessions/a.zip branches/mango/extensions/mango/local/franklocal/sessions/baseline/itsAWrap/clear([I)V/length of the Array 'x' is greater than or equal to 10.zip branches/mango/extensions/mango/local/franklocal/sessions/baseline/itsAWrap/clear([I)V/loops/-baseline.itsAWrap.clear([I)V#8:iload_i_Code_01/op0 is less than 10.zip Added Paths: ----------- branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/model/AckConnector.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/model/EventLoopCmd.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/model/EventLoopTrap.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/model/UniversalTerminator.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/msg/ branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/msg/AckCommand.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/msg/ActivationStateRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/msg/AddCoreMangoObjectMsg.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/msg/ClearStatisticsRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/msg/DeleteCoreMangoObjectMsg.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/msg/EnforceTierSettingsRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/msg/InitSessionMsg.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/msg/ModifyCoreMangoObjectMsg.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/msg/PopUpMsg.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/msg/PostCoreRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/msg/PostRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/msg/PriorityScheduleRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/msg/RedoLocatorMsg.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/msg/RedoRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/msg/ReplaceRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/msg/ReplaceRewriteLocatorMsg.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/msg/ReplaceRewriteRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/msg/RewriteLocatorMsg.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/msg/RewriteRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/msg/ScheduleRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/msg/SetActiveCoreMangoObjectMsg.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/msg/ShowTypeRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/msg/TrapCommand.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/msg/UnblockStateRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/msg/UndoLocatorMsg.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/msg/UndoRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/msg/UpdateStatisticsRequestMsg.java branches/mango/extensions/mango/Mango/src/mango/worker/workFlow/msg/WorkerCommand.java Removed Paths: ------------- branches/mango/extensions/mango/Mango/src/mango/worker/EventLoopCmd.java branches/mango/extensions/mango/Mango/src/mango/worker/EventLoopTrap.java branches/mango/extensions/mango/Mango/src/mango/worker/msg/ branches/mango/extensions/mango/ThreadSupport/src/model/AckCommand.java This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |