3 A deliberately badly-configured job to demonstrate a crash in 6 The ViewTester is an algorithm specifically designed to create sub-event 7 contexts, pass them to the scheduler, and report on the current context. 9 The re-use of filter_alg causes the CF to "skip over" filter_alg2 10 This would then cause sub-events to be scheduled, but with the 11 "ShortCircuit" property of the hltStep node set True, the event can 12 be deleted before the sub-events have completed, causing the crash. 14 There is now protection in AvalancheScheduler against this crash, 15 but note that re-using algs in this way is still expected to cause 16 surprising CF behaviour. 19 from Configurables
import (HiveWhiteBoard, HiveSlimEventLoopMgr,
20 AvalancheSchedulerSvc, AlgResourcePool, CPUCruncher,
21 GaudiSequencer, Test__ViewTester)
45 SchedulerName=
"AvalancheSchedulerSvc", OutputLevel=INFO)
65 filter_alg.InvertDecision =
False 66 filter_alg.avgRuntime = 0.0
69 filter_alg2.InvertDecision =
True 70 filter_alg2.avgRuntime = 0.0
72 view_make_alg = Test__ViewTester(
"view_make_alg")
73 view_make_alg.baseViewName =
'view' 74 view_make_alg.viewNumber = viewsPerEvt
75 view_make_alg.viewNodeName =
'view_test_node' 78 view_test_alg.InvertDecision =
False 79 view_test_alg.avgRuntime = 1.0
81 for algo
in [filter_alg, filter_alg2, view_make_alg, view_test_alg]:
82 algo.Cardinality = cardinality
83 algo.OutputLevel = INFO
87 Members=[view_test_alg],
93 Members=[filter_alg, view_make_alg, view_test_node],
99 Members=[filter_alg, filter_alg2, view_make_node],
112 EventLoop=slimeventloopmgr,
114 MessageSvcType=
"InertMessageSvc")
A class that implements a search for prime numbers.
Sequencer for executing several algorithms, stopping when one is faulty.
The AlgResourcePool is a concrete implementation of the IAlgResourcePool interface.
The Application Manager class.