diff --git a/Control/AthenaCommon/python/AppMgr.py b/Control/AthenaCommon/python/AppMgr.py
index 0e310ac6e7652b51ec1b3661a32b332b57167e56..f030246421887693627bc57e8817f907dd79bfff 100755
--- a/Control/AthenaCommon/python/AppMgr.py
+++ b/Control/AthenaCommon/python/AppMgr.py
@@ -407,7 +407,7 @@ class AthAppMgr( AppMgr ):
             props[k] = self.getDefaultProperty(k)
             if hasattr(self, k):
                props[k] = getattr(self, k)
-      props['Dlls'] = [ 'AthenaServices' ]
+      props['Dlls'] = []
       props['CreateSvc'] = []
       return props
 
diff --git a/Control/AthenaCommon/test/AthAppMgrUnitTests.py b/Control/AthenaCommon/test/AthAppMgrUnitTests.py
index 89724590c60d9968924ecd1286fa91359639ed54..12e352e9572df78fb7ae58122510a1b5d790cc08 100755
--- a/Control/AthenaCommon/test/AthAppMgrUnitTests.py
+++ b/Control/AthenaCommon/test/AthAppMgrUnitTests.py
@@ -59,29 +59,16 @@ class BasicAthAppMgrTestCase( unittest.TestCase ):
         """Test communication b/w Py-proxy and C++ app mgr"""
         app = AthAppMgr( "MyApp" )
         createSvc = app.CreateSvc[:]
-        dlls = app.Dlls[:]
         app.CreateSvc += [ "StoreGateSvc/abcde" ]
         self.assertTrue( app.CreateSvc == createSvc + [ "StoreGateSvc/abcde" ] )
 
-        app.Dlls += [ "NothingThereLikeSuch" ]
-        self.assertTrue( app.Dlls    == []   )
-        self.assertTrue( app._cppApp is None )
-        
         Cout.instance.mute()
         ## instantiates the C++ application mgr (un-configured)
         cppApp = app.getHandle()
         Cout.instance.unMute()
 
-        self.assertTrue( app.Dlls    == ["AthenaServices"]   )
         self.assertTrue( app._cppApp is not None )
 
-        ## now Dlls calls should be re-directed to C++ app
-        Cout.instance.mute()
-        app.Dlls += [ "AthenaKernel" ]
-        Cout.instance.unMute()
-        self.assertTrue( set(app.Dlls[:]) ==
-                         set(["AthenaServices","AthenaKernel"]) )
-        
         self.assertTrue( cppApp.CreateSvc == [] )
 
         app.CreateSvc += [ "StoreGateSvc/svcA" ]
diff --git a/Control/AthenaConfiguration/CMakeLists.txt b/Control/AthenaConfiguration/CMakeLists.txt
index 9c17642b2cb3189e5ebf578528b702063e295c38..3ce9208d39b22e5bb65c6dcda8df3ba7e1bed3a5 100644
--- a/Control/AthenaConfiguration/CMakeLists.txt
+++ b/Control/AthenaConfiguration/CMakeLists.txt
@@ -12,6 +12,8 @@ atlas_subdir( AthenaConfiguration )
 atlas_install_python_modules( python/*.py python/iconfTool )
 atlas_install_runtime(python/*.pkl )
 atlas_install_scripts( share/confTool.py python/iconfTool/iconfTool )
+atlas_install_joboptions( share/zeroJO.py )
+atlas_install_data( share/*.ref )
 
 atlas_add_test( ComponentAccumulatorTest
    SCRIPT python -m unittest -v AthenaConfiguration.ComponentAccumulator 
@@ -25,6 +27,12 @@ atlas_add_test( AthConfigFlagsTest
    SCRIPT python -m unittest AthenaConfiguration.AthConfigFlags
    POST_EXEC_SCRIPT nopost.sh )
 
+atlas_add_test( GenerateBootstrapTest
+   SCRIPT test/test_gen_bootstrap.sh
+   #ignore location of bootstrap file and whether it was already downloaded
+   EXTRA_PATTERNS ".*copy bootstrap.*pkl|.*\/share\/bootstrap.*pkl|File.*exists in the current directory|^Willing to acquire"
+   )
+
 if( NOT "${CMAKE_PROJECT_NAME}" STREQUAL "AthSimulation" )
     atlas_add_test( AllConfigFlagsTest
     		    SCRIPT python -m AthenaConfiguration.AllConfigFlags
@@ -32,8 +40,6 @@ if( NOT "${CMAKE_PROJECT_NAME}" STREQUAL "AthSimulation" )
 endif()
 
 
-
-
 # Check python syntax:
 atlas_add_test( flake8
    SCRIPT flake8 --select=F,E7,E9,W6 ${CMAKE_CURRENT_SOURCE_DIR}/python 
diff --git a/Control/AthenaConfiguration/python/ComponentAccumulator.py b/Control/AthenaConfiguration/python/ComponentAccumulator.py
index a1a926bba25b0ee7d0a9a134f9cca8d1e4153359..06287a25bc2663cc35fa39f2ba59e7821ca85a56 100644
--- a/Control/AthenaConfiguration/python/ComponentAccumulator.py
+++ b/Control/AthenaConfiguration/python/ComponentAccumulator.py
@@ -576,35 +576,82 @@ class ComponentAccumulator(object):
                 self._jocat[name][k]=v.getFullName()
             elif isinstance(v,GaudiHandles.GaudiHandleArray):
                 self._jocat[name][k]=str([ v1.getFullName() for v1 in v ])
-                #print name,k,self._jocat[name][k]
             else:
+                print name,k,v
+                if name not in self._jocat:
+                    self._jocat[name] = {}
                 self._jocat[name][k]=str(v)
+
         #print "All Children:",confElem.getAllChildren()
         for ch in confElem.getAllChildren():
             self.appendConfigurable(ch)
         return
 
 
-    def store(self,outfile,nEvents=10):
+    def store(self,outfile,nEvents=10,useBootStrapFile=True,threaded=False):
         from AthenaCommon.Utils.unixtools import find_datafile
         import pickle
-        import glob
-        # first load basics from the bootstrap-pickle
-        # a better solution to be discussed
-        # prefer local file
-        localbs = glob.glob("bootstrap.pkl")
-        if len( localbs ) == 0:
-            # if local bootstrap is missing, use one from the release
-            bsfilename=find_datafile("bootstrap.pkl")
+        if useBootStrapFile:
+          import glob
+          # first load basics from the bootstrap-pickle
+          # a better solution to be discussed
+          # prefer local file
+          localbs = glob.glob("bootstrap.pkl")
+          if len( localbs ) == 0:
+              # if local bootstrap is missing, use one from the release
+              bsfilename=find_datafile("bootstrap.pkl")
+          else:
+              bsfilename = "./"+localbs[0]
+
+          bsfile=open(bsfilename)
+          self._jocat=pickle.load(bsfile)
+          self._jocfg=pickle.load(bsfile)
+          self._pycomps=pickle.load(bsfile)
+          bsfile.close()
+  
         else:
-            bsfilename = "./"+localbs[0]
-
-        bsfile=open(bsfilename)
-        self._jocat=pickle.load(bsfile)
-        self._jocfg=pickle.load(bsfile)
-        self._pycomps=pickle.load(bsfile)
-        bsfile.close()
-
+          from AthenaConfiguration.MainServicesConfig import MainServicesThreadedCfg, MainServicesSerialCfg
+          if threaded:
+            from AthenaConfiguration.AllConfigFlags import ConfigFlags
+            flags = ConfigFlags.clone()
+            flags.Concurrency.NumThreads = 1
+            flags.Concurrency.NumConcurrentEvents = 1
+            basecfg = MainServicesThreadedCfg(flags)
+            basecfg.merge(self)
+            self = basecfg
+          else: #Serial
+            basecfg = MainServicesSerialCfg()
+            basecfg.merge(self)
+            self = basecfg
+          self.printConfig()
+          self._jocat={}
+          self._jocfg={}
+          self._pycomps={}
+          self._jocfg["ApplicationMgr"]={}
+          self._jocfg["ApplicationMgr"]["ExtSvc"] = "['ToolSvc/ToolSvc', \
+                                                      'AuditorSvc/AuditorSvc', \
+                                                      'MessageSvc/MessageSvc', \
+                                                      'IncidentSvc/IncidentSvc',\
+                                                      'EvtPersistencySvc/EventPersistencySvc',\
+                                                      'HistogramSvc/HistogramDataSvc',\
+                                                      'NTupleSvc/NTupleSvc',\
+                                                      'RndmGenSvc/RndmGenSvc',\
+                                                      'ChronoStatSvc/ChronoStatSvc',\
+                                                      'StatusCodeSvc/StatusCodeSvc',\
+                                                      'StoreGateSvc/StoreGateSvc',\
+                                                      'StoreGateSvc/DetectorStore',\
+                                                      'StoreGateSvc/HistoryStore',\
+                                                      'ClassIDSvc/ClassIDSvc',\
+                                                      'AthDictLoaderSvc/AthDictLoaderSvc',\
+                                                      'AthenaSealSvc/AthenaSealSvc',\
+                                                      'CoreDumpSvc/CoreDumpSvc',\
+                                                      'JobOptionsSvc/JobOptionsSvc']"
+
+          for seqName, algoList in flatSequencers( self._sequence ).iteritems():
+            self._jocat[seqName] = {}
+            self._jocat[seqName]["Members"] = "[]"
+            for alg in algoList:
+              self._jocat[alg.name()] = {}
 
         #EventAlgorithms
         for seqName, algoList  in flatSequencers( self._sequence ).iteritems():
diff --git a/Control/AthenaConfiguration/python/bootstrap.pkl b/Control/AthenaConfiguration/python/bootstrap.pkl
index 5d4b0c15f5b95f2fb63f5b0e1efe841373311193..b44cc47be44a0793473ae2eb10f77bc74b4dd7f2 100644
--- a/Control/AthenaConfiguration/python/bootstrap.pkl
+++ b/Control/AthenaConfiguration/python/bootstrap.pkl
@@ -16,491 +16,529 @@ sS'ProxyProviderSvc'
 p8
 S'ProxyProviderSvc'
 p9
-ssS'AthBeginSeq'
+ssS'ChronoStatSvc'
 p10
 (dp11
-S'ExtraOutputs'
+S'HiveWhiteBoardSvc'
 p12
-S'[]'
+S'EventDataSvc'
 p13
-sS'EvtStore'
+ssS'AthBeginSeq'
 p14
-S'StoreGateSvc'
-p15
-sS'ExtraInputs'
+(dp15
+S'ExtraOutputs'
 p16
 S'[]'
 p17
-sS'Sequential'
+sS'EvtStore'
 p18
-S'True'
+S'StoreGateSvc'
 p19
-sS'Members'
+sS'ExtraInputs'
 p20
-S"['AthIncFirerAlg/BeginIncFiringAlg', 'IncidentProcAlg/IncidentProcAlg1']"
+S'[]'
 p21
-sS'NeededResources'
+sS'Sequential'
 p22
-S'[]'
+S'True'
 p23
-sS'DetStore'
+sS'Members'
 p24
-S'StoreGateSvc/DetectorStore'
+S"['AthIncFirerAlg/BeginIncFiringAlg', 'IncidentProcAlg/IncidentProcAlg1']"
 p25
-ssS'CoreDumpSvc'
+sS'NeededResources'
 p26
-(dp27
-S'Signals'
+S'[]'
+p27
+sS'DetStore'
 p28
-S'[11, 7, 4, 8]'
+S'StoreGateSvc/DetectorStore'
 p29
-sS'FatalHandler'
+ssS'CoreDumpSvc'
 p30
-S'-1'
-p31
-ssS'AuditorSvc'
+(dp31
+S'Signals'
 p32
-(dp33
-S'Auditors'
+S'[11, 7, 4, 8]'
+p33
+sS'FatalHandler'
 p34
-S"['AlgContextAuditor/AlgContextAuditor']"
+S'-1'
 p35
-ssS'ClassIDSvc'
+ssS'AuditorSvc'
 p36
 (dp37
-S'CLIDDBFiles'
+S'Auditors'
 p38
-S"['clid.db', 'Gaudi_clid.db']"
+S"['AlgContextAuditor/AlgContextAuditor']"
 p39
-ssS'AthOutSeq'
+ssS'ClassIDSvc'
 p40
 (dp41
-S'ExtraOutputs'
+S'CLIDDBFiles'
 p42
-S'[]'
+S"['clid.db', 'Gaudi_clid.db']"
 p43
-sS'EvtStore'
+ssS'AthOutSeq'
 p44
-S'StoreGateSvc'
-p45
-sS'ExtraInputs'
+(dp45
+S'ExtraOutputs'
 p46
 S'[]'
 p47
-sS'Members'
+sS'EvtStore'
 p48
-S'[]'
+S'StoreGateSvc'
 p49
-sS'NeededResources'
+sS'ExtraInputs'
 p50
 S'[]'
 p51
-sS'DetStore'
+sS'StopOverride'
 p52
-S'StoreGateSvc/DetectorStore'
+S'True'
 p53
-ssS'BeginIncFiringAlg'
+sS'Members'
 p54
-(dp55
-S'ExtraOutputs'
+S'[]'
+p55
+sS'NeededResources'
 p56
 S'[]'
 p57
-sS'EvtStore'
+sS'DetStore'
 p58
-S'StoreGateSvc'
+S'StoreGateSvc/DetectorStore'
 p59
-sS'ExtraInputs'
+ssS'BeginIncFiringAlg'
 p60
-S'[]'
-p61
-sS'FireSerial'
+(dp61
+S'ExtraOutputs'
 p62
-S'False'
+S'[]'
 p63
-sS'Incidents'
+sS'EvtStore'
 p64
-S"['BeginEvent']"
+S'StoreGateSvc'
 p65
-sS'NeededResources'
+sS'ExtraInputs'
 p66
 S'[]'
 p67
-sS'DetStore'
+sS'FireSerial'
 p68
-S'StoreGateSvc/DetectorStore'
+S'False'
 p69
-ssS'AthCondSeq'
+sS'Incidents'
 p70
-(dp71
-S'ExtraOutputs'
+S"['BeginEvent']"
+p71
+sS'NeededResources'
 p72
 S'[]'
 p73
-sS'EvtStore'
+sS'DetStore'
 p74
-S'StoreGateSvc'
+S'StoreGateSvc/DetectorStore'
 p75
-sS'ExtraInputs'
+ssS'AthCondSeq'
 p76
-S'[]'
-p77
-sS'Members'
+(dp77
+S'ExtraOutputs'
 p78
 S'[]'
 p79
-sS'NeededResources'
+sS'EvtStore'
 p80
-S'[]'
+S'StoreGateSvc'
 p81
-sS'DetStore'
+sS'ExtraInputs'
 p82
-S'StoreGateSvc/DetectorStore'
+S'[]'
 p83
-ssS'AthMasterSeq'
+sS'Members'
 p84
-(dp85
-S'ExtraOutputs'
+S'[]'
+p85
+sS'NeededResources'
 p86
 S'[]'
 p87
-sS'EvtStore'
+sS'DetStore'
 p88
-S'StoreGateSvc'
+S'StoreGateSvc/DetectorStore'
 p89
-sS'ExtraInputs'
+ssS'AthFilterSeq'
 p90
-S'[]'
-p91
-sS'Sequential'
+(dp91
+S'ExtraOutputs'
 p92
-S'True'
+S'[]'
 p93
-sS'StopOverride'
+sS'EvtStore'
 p94
-S'True'
+S'StoreGateSvc'
 p95
-sS'Members'
+sS'ExtraInputs'
 p96
-S"['AthSequencer/AthAlgEvtSeq', 'AthSequencer/AthOutSeq', 'AthSequencer/AthRegSeq']"
+S'[]'
 p97
-sS'NeededResources'
+sS'Members'
 p98
-S'[]'
+S"['AthSequencer/AthAlgEvtSeq', 'AthSequencer/AthOutSeq']"
 p99
-sS'DetStore'
+sS'NeededResources'
 p100
-S'StoreGateSvc/DetectorStore'
+S'[]'
 p101
-ssS'AthAlgEvtSeq'
+sS'DetStore'
 p102
-(dp103
-S'ExtraOutputs'
+S'StoreGateSvc/DetectorStore'
+p103
+ssS'AthMasterSeq'
 p104
-S'[]'
-p105
-sS'EvtStore'
+(dp105
+S'ExtraOutputs'
 p106
-S'StoreGateSvc'
+S'[]'
 p107
-sS'ExtraInputs'
+sS'EvtStore'
 p108
-S'[]'
+S'StoreGateSvc'
 p109
-sS'Sequential'
+sS'ExtraInputs'
 p110
-S'True'
+S'[]'
 p111
-sS'StopOverride'
+sS'Sequential'
 p112
 S'True'
 p113
-sS'Members'
+sS'StopOverride'
 p114
-S"['AthSequencer/AthBeginSeq', 'AthSequencer/AthAllAlgSeq', 'AthSequencer/AthEndSeq']"
+S'True'
 p115
-sS'NeededResources'
+sS'Members'
 p116
-S'[]'
+S"['AthSequencer/AthFilterSeq', 'AthSequencer/AthRegSeq']"
 p117
-sS'DetStore'
+sS'NeededResources'
 p118
-S'StoreGateSvc/DetectorStore'
+S'[]'
 p119
-ssS'AthEndSeq'
+sS'DetStore'
 p120
-(dp121
-S'ExtraOutputs'
+S'StoreGateSvc/DetectorStore'
+p121
+ssS'AthAlgEvtSeq'
 p122
-S'[]'
-p123
-sS'EvtStore'
+(dp123
+S'ExtraOutputs'
 p124
-S'StoreGateSvc'
+S'[]'
 p125
-sS'ExtraInputs'
+sS'EvtStore'
 p126
-S'[]'
+S'StoreGateSvc'
 p127
-sS'Sequential'
+sS'ExtraInputs'
 p128
-S'True'
+S'[]'
 p129
-sS'Members'
+sS'Sequential'
 p130
-S"['AthIncFirerAlg/EndIncFiringAlg', 'IncidentProcAlg/IncidentProcAlg2']"
+S'True'
 p131
-sS'NeededResources'
+sS'StopOverride'
 p132
-S'[]'
+S'True'
 p133
-sS'DetStore'
+sS'Members'
 p134
-S'StoreGateSvc/DetectorStore'
+S"['AthSequencer/AthBeginSeq', 'AthSequencer/AthAllAlgSeq', 'AthSequencer/AthEndSeq']"
 p135
-ssS'AthRegSeq'
+sS'NeededResources'
 p136
-(dp137
-S'ExtraOutputs'
-p138
 S'[]'
+p137
+sS'DetStore'
+p138
+S'StoreGateSvc/DetectorStore'
 p139
-sS'EvtStore'
+ssS'AthEndSeq'
 p140
-S'StoreGateSvc'
-p141
-sS'ExtraInputs'
+(dp141
+S'ExtraOutputs'
 p142
 S'[]'
 p143
-sS'Members'
+sS'EvtStore'
 p144
-S'[]'
+S'StoreGateSvc'
 p145
-sS'NeededResources'
+sS'ExtraInputs'
 p146
 S'[]'
 p147
-sS'DetStore'
+sS'Sequential'
 p148
-S'StoreGateSvc/DetectorStore'
+S'True'
 p149
-ssS'EndIncFiringAlg'
+sS'Members'
 p150
-(dp151
-S'ExtraOutputs'
+S"['AthIncFirerAlg/EndIncFiringAlg', 'IncidentProcAlg/IncidentProcAlg2']"
+p151
+sS'NeededResources'
 p152
 S'[]'
 p153
-sS'EvtStore'
+sS'DetStore'
 p154
-S'StoreGateSvc'
+S'StoreGateSvc/DetectorStore'
 p155
-sS'ExtraInputs'
+ssS'AthRegSeq'
 p156
-S'[]'
-p157
-sS'FireSerial'
+(dp157
+S'ExtraOutputs'
 p158
-S'False'
+S'[]'
 p159
-sS'Incidents'
+sS'EvtStore'
 p160
-S"['EndEvent']"
+S'StoreGateSvc'
 p161
-sS'NeededResources'
+sS'ExtraInputs'
 p162
 S'[]'
 p163
-sS'DetStore'
+sS'Members'
 p164
-S'StoreGateSvc/DetectorStore'
+S'[]'
 p165
-ssS'Streams'
+sS'NeededResources'
 p166
-(dp167
-S'ExtraOutputs'
-p168
 S'[]'
+p167
+sS'DetStore'
+p168
+S'StoreGateSvc/DetectorStore'
 p169
-sS'EvtStore'
+ssS'EndIncFiringAlg'
 p170
-S'StoreGateSvc'
-p171
-sS'ExtraInputs'
+(dp171
+S'ExtraOutputs'
 p172
 S'[]'
 p173
-sS'Members'
+sS'EvtStore'
 p174
-S'[]'
+S'StoreGateSvc'
 p175
-sS'NeededResources'
+sS'ExtraInputs'
 p176
 S'[]'
 p177
-sS'DetStore'
+sS'FireSerial'
 p178
-S'StoreGateSvc/DetectorStore'
+S'False'
 p179
-ssS'NTupleSvc'
+sS'Incidents'
 p180
-(dp181
-S'InhibitPathes'
+S"['EndEvent']"
+p181
+sS'NeededResources'
 p182
 S'[]'
 p183
-sS'Input'
+sS'DetStore'
 p184
-S'[]'
+S'StoreGateSvc/DetectorStore'
 p185
-sS'Output'
+ssS'Streams'
 p186
-S'[]'
-p187
-ssS'EventPersistencySvc'
+(dp187
+S'ExtraOutputs'
 p188
-(dp189
-S'CnvServices'
-p190
 S'[]'
+p189
+sS'EvtStore'
+p190
+S'StoreGateSvc'
 p191
-ssS'AthAlgSeq'
+sS'ExtraInputs'
 p192
-(dp193
-S'ExtraOutputs'
+S'[]'
+p193
+sS'Members'
 p194
 S'[]'
 p195
-sS'EvtStore'
+sS'NeededResources'
 p196
-S'StoreGateSvc'
+S'[]'
 p197
-sS'ExtraInputs'
+sS'DetStore'
 p198
-S'[]'
+S'StoreGateSvc/DetectorStore'
 p199
-sS'StopOverride'
+ssS'NTupleSvc'
 p200
-S'True'
-p201
-sS'Members'
+(dp201
+S'InhibitPathes'
 p202
 S'[]'
 p203
-sS'NeededResources'
+sS'Input'
 p204
 S'[]'
 p205
-sS'DetStore'
+sS'Output'
 p206
-S'StoreGateSvc/DetectorStore'
+S'[]'
 p207
-ssS'AthAllAlgSeq'
+ssS'EventPersistencySvc'
 p208
 (dp209
-S'ExtraOutputs'
+S'CnvServices'
 p210
 S'[]'
 p211
-sS'EvtStore'
+ssS'AthAlgSeq'
 p212
-S'StoreGateSvc'
-p213
-sS'ExtraInputs'
+(dp213
+S'ExtraOutputs'
 p214
 S'[]'
 p215
-sS'Members'
+sS'EvtStore'
 p216
-S"['AthSequencer/AthCondSeq', 'AthSequencer/AthAlgSeq']"
+S'StoreGateSvc'
 p217
-sS'NeededResources'
+sS'ExtraInputs'
 p218
 S'[]'
 p219
-sS'DetStore'
+sS'StopOverride'
 p220
-S'StoreGateSvc/DetectorStore'
+S'True'
 p221
-ssS'AthenaSealSvc'
+sS'Members'
 p222
-(dp223
-S'DictNames'
+S'[]'
+p223
+sS'NeededResources'
 p224
 S'[]'
 p225
-sS'IgnoreDicts'
+sS'DetStore'
 p226
-S"['libSealCLHEPDict']"
+S'StoreGateSvc/DetectorStore'
 p227
-sS'IgnoreNames'
+ssS'AthAllAlgSeq'
 p228
-S"['Gaudi', 'GaudiPython::Interface', 'GaudiPython::Helper', 'FactoryTable', 'IInterface', 'IFactory', 'IAlgFactory', 'ISvcFactory', 'IToolFactory', 'InterfaceID', 'StatusCode', 'IAppMgrUI', 'IProperty', 'Property', 'std::vector<Property*>', 'std::vector<const Property*>', 'std::list<IAlgorithm*>', 'std::list<IService*>', 'std::list<const IFactory*>', 'std::vector<IRegistry*>', 'SimpleProperty', 'SimplePropertyRef', 'IService', 'IAlgorithm', 'ISvcManager', 'IAlgManager', 'IJobOptionsSvc', 'ISvcLocator', 'IEventProcessor', 'IDataProviderSvc', 'IDataManagerSvc', 'IRegistry', 'ContainedObject', 'std::vector<const ContainedObject*>', 'DataObject', 'IHistogramSvc', 'AIDA::I', 'Algorithm', 'Service', 'GaudiPython::PyAlgorithm', 'GaudiPython::PyAlgorithmWrap', 'IParticlePropertySvc', 'ParticleProperty', 'StoreGateSvc', 'IStoragePolicy', 'CharDbArray', 'DoubleDbArray', 'FloatDbArray', 'IntDbArray', 'LongDbArray', 'ShortDbArray', 'AthenaEventLoopMgr', 'MinimalEventLoopMgr', 'PyAthenaEventLoopMgr', 'NTuple::Directory', 'NTuple::File ', 'NTuple::Tuple', 'INTuple', 'NTuple::Tuple', 'greater<int>', 'allocator<', 'string']"
-p229
-ssS'IncidentProcAlg2'
-p230
-(dp231
+(dp229
 S'ExtraOutputs'
-p232
+p230
 S'[]'
+p231
+sS'EvtStore'
+p232
+S'StoreGateSvc'
 p233
-sS'NeededResources'
+sS'ExtraInputs'
 p234
 S'[]'
 p235
-sS'ExtraInputs'
+sS'Members'
 p236
-S'[]'
+S"['AthSequencer/AthCondSeq', 'AthSequencer/AthAlgSeq']"
 p237
-ssS'DetectorStore'
+sS'NeededResources'
 p238
-(dp239
-S'IncidentSvc'
+S'[]'
+p239
+sS'DetStore'
 p240
-S'IncidentSvc'
+S'StoreGateSvc/DetectorStore'
 p241
+ssS'AthenaSealSvc'
+p242
+(dp243
+S'DictNames'
+p244
+S'[]'
+p245
+sS'IgnoreDicts'
+p246
+S"['libSealCLHEPDict']"
+p247
+sS'IgnoreNames'
+p248
+S"['Gaudi', 'GaudiPython::Interface', 'GaudiPython::Helper', 'FactoryTable', 'IInterface', 'IFactory', 'IAlgFactory', 'ISvcFactory', 'IToolFactory', 'InterfaceID', 'StatusCode', 'IAppMgrUI', 'IProperty', 'Property', 'std::vector<Property*>', 'std::vector<const Property*>', 'std::list<IAlgorithm*>', 'std::list<IService*>', 'std::list<const IFactory*>', 'std::vector<IRegistry*>', 'SimpleProperty', 'SimplePropertyRef', 'IService', 'IAlgorithm', 'ISvcManager', 'IAlgManager', 'IJobOptionsSvc', 'ISvcLocator', 'IEventProcessor', 'IDataProviderSvc', 'IDataManagerSvc', 'IRegistry', 'ContainedObject', 'std::vector<const ContainedObject*>', 'DataObject', 'IHistogramSvc', 'AIDA::I', 'Algorithm', 'Service', 'GaudiPython::PyAlgorithm', 'GaudiPython::PyAlgorithmWrap', 'IParticlePropertySvc', 'ParticleProperty', 'StoreGateSvc', 'IStoragePolicy', 'CharDbArray', 'DoubleDbArray', 'FloatDbArray', 'IntDbArray', 'LongDbArray', 'ShortDbArray', 'AthenaEventLoopMgr', 'MinimalEventLoopMgr', 'PyAthenaEventLoopMgr', 'NTuple::Directory', 'NTuple::File ', 'NTuple::Tuple', 'INTuple', 'NTuple::Tuple', 'greater<int>', 'allocator<', 'string']"
+p249
+ssS'IncidentProcAlg2'
+p250
+(dp251
+S'ExtraOutputs'
+p252
+S'[]'
+p253
+sS'NeededResources'
+p254
+S'[]'
+p255
+sS'ExtraInputs'
+p256
+S'[]'
+p257
+ssS'DetectorStore'
+p258
+(dp259
+S'IncidentSvc'
+p260
+S'IncidentSvc'
+p261
 sS'ProxyProviderSvc'
-p242
+p262
 S'ProxyProviderSvc'
-p243
+p263
 ssS'IncidentProcAlg1'
-p244
-(dp245
+p264
+(dp265
 S'ExtraOutputs'
-p246
+p266
 S'[]'
-p247
+p267
 sS'NeededResources'
-p248
+p268
 S'[]'
-p249
+p269
 sS'ExtraInputs'
-p250
+p270
 S'[]'
-p251
+p271
 ssS'HistogramDataSvc'
-p252
-(dp253
+p272
+(dp273
 S'Input'
-p254
+p274
 S'[]'
-p255
+p275
 sS'InhibitPathes'
-p256
+p276
 S'[]'
-p257
+p277
 ssS'HistoryStore'
-p258
-(dp259
+p278
+(dp279
 S'IncidentSvc'
-p260
+p280
 S'IncidentSvc'
-p261
+p281
 sS'ProxyProviderSvc'
-p262
+p282
 S'ProxyProviderSvc'
-p263
+p283
 ss.ccollections
 defaultdict
 p1
@@ -751,306 +789,279 @@ sS'IgnoreDicts'
 p108
 S"['libSealCLHEPDict']"
 p109
-ssS'IncidentSvc'
+ssS'JobOptionsSvc'
 p110
 (dp111
-S'AuditInitialize'
+S'AuditStop'
 p112
 g7
-sS'OutputLevel'
+sS'SEARCHPATH'
 p113
-S'0'
-sS'AuditServices'
+S'.:/afs/cern.ch/work/s/smh/idconfig_2/bld/x86_64-centos7-gcc8-opt/jobOptions:/cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-02-11T2137/GAUDI/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/jobOptions:/afs/cern.ch/work/s/smh/idconfig_2/bld:/cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-02-11T2137/Athena/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/jobOptions:/cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-02-11T2137/AthenaExternals/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/jobOptions'
 p114
-g7
-sS'AuditStart'
-p115
-g7
-sS'AuditFinalize'
-p116
-g7
-sS'AuditStop'
-p117
-g7
-sS'AuditReinitialize'
-p118
-g7
-sS'AuditRestart'
-p119
-g7
-ssS'JobOptionsSvc'
-p120
-(dp121
-S'AuditStop'
-p122
-g7
-sS'SEARCHPATH'
-p123
-S'.:/home/leggett/work/v30r2/bld/x86_64-centos7-gcc62-dbg/jobOptions:/home/leggett/work/v30r2/gaudi/inst/InstallArea/x86_64-centos7-gcc62-dbg/jobOptions:/home/leggett/work/v30r2:/bld2/build/v30r2/build/install/Athena/22.0.1/InstallArea/x86_64-centos7-gcc62-dbg/jobOptions:/bld2/build/v30r2/build/install/AthenaExternals/22.0.1/InstallArea/x86_64-centos7-gcc62-dbg/jobOptions'
-p124
 sS'AuditInitialize'
-p125
+p115
 g7
 sS'AuditServices'
-p126
+p116
 g7
 sS'OutputLevel'
-p127
+p117
 S'3'
 sS'AuditStart'
-p128
+p118
 g7
 sS'DUMPFILE'
-p129
+p119
 S''
 sS'AuditFinalize'
-p130
+p120
 g7
 sS'PYTHONPARAMS'
-p131
+p121
 S''
 sS'AuditReinitialize'
-p132
+p122
 g7
 sS'PATH'
-p133
+p123
 S'../options/job.opts'
-p134
+p124
 sS'PYTHONACTION'
-p135
+p125
 S''
 sS'TYPE'
-p136
+p126
 S'NONE'
-p137
+p127
 sS'AuditRestart'
-p138
+p128
 g7
 ssS'ToolSvc'
-p139
-(dp140
+p129
+(dp130
 S'AuditInitialize'
-p141
+p131
 g7
 sS'OutputLevel'
-p142
+p132
 S'0'
 sS'AuditServices'
-p143
+p133
 g7
 sS'AuditStart'
-p144
+p134
 g7
 sS'AuditFinalize'
-p145
+p135
 g7
 sS'AuditStop'
-p146
+p136
 g7
 sS'AuditReinitialize'
-p147
+p137
 g7
 sS'AuditRestart'
-p148
+p138
 g7
 ssS'ApplicationMgr'
-p149
-(dp150
+p139
+(dp140
 S'Runable'
-p151
+p141
 S'AppMgrRunable'
-p152
+p142
 sS'ReturnCode'
-p153
+p143
 S'0'
 sS'TopAlg'
-p154
+p144
 S"['AthSequencer/AthMasterSeq']"
-p155
+p145
 sS'EventLoop'
-p156
+p146
 S'AthenaEventLoopMgr'
-p157
+p147
 sS'ExtSvcCreates'
-p158
+p148
 g7
 sS'Environment'
-p159
+p149
 S'{}'
-p160
+p150
 sS'JobOptionsPath'
-p161
+p151
 S''
 sS'Dlls'
-p162
-S"['AthenaServices']"
-p163
+p152
+S'[]'
+p153
 sS'SvcMapping'
-p164
+p154
 S"['EvtDataSvc/EventDataSvc', 'DetDataSvc/DetectorDataSvc', 'HistogramSvc/HistogramDataSvc', 'HbookCnv::PersSvc/HbookHistSvc', 'RootHistCnv::PersSvc/RootHistSvc', 'EvtPersistencySvc/EventPersistencySvc', 'DetPersistencySvc/DetectorPersistencySvc', 'HistogramPersistencySvc/HistogramPersistencySvc']"
-p165
+p155
 sS'AppName'
-p166
+p156
 S'ApplicationMgr'
-p167
+p157
 sS'AuditServices'
-p168
+p158
 g7
 sS'OutStream'
-p169
+p159
 S'[]'
-p170
+p160
 sS'ActivateHistory'
-p171
+p161
 g7
 sS'StalledEventMonitoring'
-p172
+p162
 g7
 sS'InitializationLoopCheck'
-p173
+p163
 g7
 sS'JobOptionsSvcType'
-p174
+p164
 S'JobOptionsSvc'
-p175
+p165
 sS'JobOptionsPreAction'
-p176
+p166
 S''
 sS'StatusCodeCheck'
-p177
+p167
 g12
 sS'AuditTools'
-p178
+p168
 g7
 sS'AlgTypeAliases'
-p179
+p169
 S'{}'
-p180
+p170
 sS'EvtSel'
-p181
+p171
 S''
 sS'PluginDebugLevel'
-p182
+p172
 S'0'
 sS'OutputLevel'
-p183
+p173
 S'3'
 sS'AppVersion'
-p184
+p174
 S''
 sS'EvtMax'
-p185
+p175
 S'-1'
-p186
+p176
 sS'SvcOptMapping'
-p187
+p177
 S'[]'
-p188
+p178
 sS'CreateSvc'
-p189
+p179
 S"['ToolSvc/ToolSvc', 'AthDictLoaderSvc/AthDictLoaderSvc', 'AthenaSealSvc/AthenaSealSvc', 'CoreDumpSvc/CoreDumpSvc']"
-p190
+p180
 sS'PropertiesPrint'
-p191
+p181
 g7
 sS'JobOptionsType'
-p192
+p182
 S'NONE'
-p193
+p183
 sS'OutStreamType'
-p194
+p184
 S'AthenaOutputStream'
-p195
+p185
 sS'StopOnSignal'
-p196
+p186
 g7
 sS'ExtSvc'
-p197
+p187
 S"['ToolSvc/ToolSvc', 'AuditorSvc/AuditorSvc', 'MessageSvc/MessageSvc', 'IncidentSvc/IncidentSvc', 'EvtPersistencySvc/EventPersistencySvc', 'HistogramSvc/HistogramDataSvc', 'NTupleSvc/NTupleSvc', 'RndmGenSvc/RndmGenSvc', 'ChronoStatSvc/ChronoStatSvc', 'StatusCodeSvc/StatusCodeSvc', 'StoreGateSvc/StoreGateSvc', 'StoreGateSvc/DetectorStore', 'StoreGateSvc/HistoryStore', 'ClassIDSvc/ClassIDSvc', 'AthDictLoaderSvc/AthDictLoaderSvc', 'AthenaSealSvc/AthenaSealSvc', 'CoreDumpSvc/CoreDumpSvc', 'JobOptionsSvc/JobOptionsSvc']"
-p198
+p188
 sS'AuditAlgorithms'
-p199
+p189
 g7
 sS'HistogramPersistency'
-p200
+p190
 S'NONE'
-p201
+p191
 sS'MessageSvcType'
-p202
+p192
 S'MessageSvc'
-p203
+p193
 sS'JobOptionsPostAction'
-p204
+p194
 S''
 ssS'StatusCodeSvc'
-p205
-(dp206
+p195
+(dp196
 S'AuditRestart'
-p207
+p197
 g7
 sS'AuditInitialize'
-p208
+p198
 g7
 sS'OutputLevel'
-p209
+p199
 S'3'
 sS'AuditServices'
-p210
+p200
 g7
 sS'AuditStart'
-p211
+p201
 g7
 sS'AbortOnError'
-p212
+p202
 g12
 sS'Filter'
-p213
+p203
 S"['Reflex::NewDelFunctionsT<StatusCode>::delete_T(void*)', 'ROOT::Reflex::NewDelFunctionsT<StatusCode>::delete_T(void*)']"
-p214
+p204
 sS'AuditFinalize'
-p215
+p205
 g7
 sS'AuditStop'
-p216
+p206
 g7
 sS'AuditReinitialize'
-p217
+p207
 g7
 sS'SuppressCheck'
-p218
+p208
 g7
 sS'IgnoreDicts'
-p219
+p209
 g12
 ssS'AthDictLoaderSvc'
-p220
-(dp221
+p210
+(dp211
 S'AuditInitialize'
-p222
+p212
 g7
 sS'OutputLevel'
-p223
+p213
 S'0'
 sS'AuditServices'
-p224
+p214
 g7
 sS'AuditStart'
-p225
+p215
 g7
 sS'DoRecursiveLoad'
-p226
+p216
 g12
 sS'AuditFinalize'
-p227
+p217
 g7
 sS'AuditStop'
-p228
+p218
 g7
 sS'AuditReinitialize'
-p229
+p219
 g7
 sS'AuditRestart'
-p230
+p220
 g7
 ss.(lp1
 .
\ No newline at end of file
diff --git a/Control/AthenaConfiguration/python/bootstrap_threaded.pkl b/Control/AthenaConfiguration/python/bootstrap_threaded.pkl
new file mode 100644
index 0000000000000000000000000000000000000000..6ad9193f79cdd31ed3e5ab8b353dd7bd70cda2fa
--- /dev/null
+++ b/Control/AthenaConfiguration/python/bootstrap_threaded.pkl
@@ -0,0 +1,1218 @@
+ccollections
+defaultdict
+p1
+(c__builtin__
+dict
+p2
+tRp3
+S'StoreGateSvc'
+p4
+(dp5
+S'IncidentSvc'
+p6
+S'IncidentSvc'
+p7
+sS'ProxyProviderSvc'
+p8
+S'ProxyProviderSvc'
+p9
+ssS'ChronoStatSvc'
+p10
+(dp11
+S'HiveWhiteBoardSvc'
+p12
+S'EventDataSvc'
+p13
+ssS'EventDataSvc'
+p14
+(dp15
+S'HiveStoreSvc'
+p16
+S'StoreGateSvc'
+p17
+sS'NSlots'
+p18
+S'1'
+ssS'AthBeginSeq'
+p19
+(dp20
+S'ExtraOutputs'
+p21
+S'[]'
+p22
+sS'EvtStore'
+p23
+S'StoreGateSvc'
+p24
+sS'ExtraInputs'
+p25
+S'[]'
+p26
+sS'Sequential'
+p27
+S'True'
+p28
+sS'Members'
+p29
+S"['AthIncFirerAlg/BeginIncFiringAlg', 'IncidentProcAlg/IncidentProcAlg1']"
+p30
+sS'NeededResources'
+p31
+S'[]'
+p32
+sS'DetStore'
+p33
+S'StoreGateSvc/DetectorStore'
+p34
+ssS'TimelineSvc'
+p35
+(dp36
+S'Partial'
+p37
+S'False'
+p38
+sS'RecordTimeline'
+p39
+S'True'
+p40
+ssS'AvalancheSchedulerSvc'
+p41
+(dp42
+S'ThreadPoolSize'
+p43
+S'1'
+sS'OutputLevel'
+p44
+S'3'
+sS'DataLoaderAlg'
+p45
+S'SGInputLoader'
+p46
+sS'ShowControlFlow'
+p47
+S'False'
+p48
+sS'CheckDependencies'
+p49
+S'True'
+p50
+sS'ShowDataDependencies'
+p51
+S'False'
+p52
+ssS'SGInputLoader'
+p53
+(dp54
+S'ExtraOutputs'
+p55
+S'[]'
+p56
+sS'Load'
+p57
+S'[]'
+p58
+sS'FailIfNoProxy'
+p59
+S'False'
+p60
+sS'EvtStore'
+p61
+S'StoreGateSvc'
+p62
+sS'ExtraInputs'
+p63
+S'[]'
+p64
+sS'NeededResources'
+p65
+S'[]'
+p66
+sS'DetStore'
+p67
+S'StoreGateSvc/DetectorStore'
+p68
+ssS'CoreDumpSvc'
+p69
+(dp70
+S'Signals'
+p71
+S'[11, 7, 4, 8]'
+p72
+sS'FatalHandler'
+p73
+S'-1'
+p74
+ssS'AuditorSvc'
+p75
+(dp76
+S'Auditors'
+p77
+S"['AlgContextAuditor/AlgContextAuditor', 'SGCommitAuditor/SGCommitAuditor']"
+p78
+ssS'ClassIDSvc'
+p79
+(dp80
+S'CLIDDBFiles'
+p81
+S"['clid.db', 'Gaudi_clid.db']"
+p82
+ssS'AthOutSeq'
+p83
+(dp84
+S'ExtraOutputs'
+p85
+S'[]'
+p86
+sS'EvtStore'
+p87
+S'StoreGateSvc'
+p88
+sS'ExtraInputs'
+p89
+S'[]'
+p90
+sS'StopOverride'
+p91
+S'True'
+p92
+sS'Members'
+p93
+S'[]'
+p94
+sS'NeededResources'
+p95
+S'[]'
+p96
+sS'DetStore'
+p97
+S'StoreGateSvc/DetectorStore'
+p98
+ssS'BeginIncFiringAlg'
+p99
+(dp100
+S'ExtraOutputs'
+p101
+S'[]'
+p102
+sS'EvtStore'
+p103
+S'StoreGateSvc'
+p104
+sS'ExtraInputs'
+p105
+S'[]'
+p106
+sS'FireSerial'
+p107
+S'False'
+p108
+sS'Incidents'
+p109
+S"['BeginEvent']"
+p110
+sS'NeededResources'
+p111
+S'[]'
+p112
+sS'DetStore'
+p113
+S'StoreGateSvc/DetectorStore'
+p114
+ssS'AthCondSeq'
+p115
+(dp116
+S'ExtraOutputs'
+p117
+S'[]'
+p118
+sS'EvtStore'
+p119
+S'StoreGateSvc'
+p120
+sS'ExtraInputs'
+p121
+S'[]'
+p122
+sS'Members'
+p123
+S'[]'
+p124
+sS'NeededResources'
+p125
+S'[]'
+p126
+sS'DetStore'
+p127
+S'StoreGateSvc/DetectorStore'
+p128
+ssS'StatusCodeSvc'
+p129
+(dp130
+S'Filter'
+p131
+S"['Reflex::NewDelFunctionsT<StatusCode>::delete_T(void*)', 'ROOT::Reflex::NewDelFunctionsT<StatusCode>::delete_T(void*)']"
+p132
+sS'OutputLevel'
+p133
+S'3'
+sS'AbortOnError'
+p134
+S'False'
+p135
+ssS'AthFilterSeq'
+p136
+(dp137
+S'ExtraOutputs'
+p138
+S'[]'
+p139
+sS'EvtStore'
+p140
+S'StoreGateSvc'
+p141
+sS'ExtraInputs'
+p142
+S'[]'
+p143
+sS'Members'
+p144
+S"['AthSequencer/AthAlgEvtSeq', 'AthSequencer/AthOutSeq']"
+p145
+sS'NeededResources'
+p146
+S'[]'
+p147
+sS'DetStore'
+p148
+S'StoreGateSvc/DetectorStore'
+p149
+ssS'AthMasterSeq'
+p150
+(dp151
+S'ExtraOutputs'
+p152
+S'[]'
+p153
+sS'EvtStore'
+p154
+S'StoreGateSvc'
+p155
+sS'ExtraInputs'
+p156
+S'[]'
+p157
+sS'Sequential'
+p158
+S'True'
+p159
+sS'StopOverride'
+p160
+S'True'
+p161
+sS'Members'
+p162
+S"['AthSequencer/AthFilterSeq', 'AthSequencer/AthRegSeq']"
+p163
+sS'NeededResources'
+p164
+S'[]'
+p165
+sS'DetStore'
+p166
+S'StoreGateSvc/DetectorStore'
+p167
+ssS'AthAlgEvtSeq'
+p168
+(dp169
+S'ExtraOutputs'
+p170
+S'[]'
+p171
+sS'EvtStore'
+p172
+S'StoreGateSvc'
+p173
+sS'ExtraInputs'
+p174
+S'[]'
+p175
+sS'Sequential'
+p176
+S'True'
+p177
+sS'StopOverride'
+p178
+S'True'
+p179
+sS'Members'
+p180
+S"['AthSequencer/AthBeginSeq', 'AthSequencer/AthAllAlgSeq', 'AthSequencer/AthEndSeq']"
+p181
+sS'NeededResources'
+p182
+S'[]'
+p183
+sS'DetStore'
+p184
+S'StoreGateSvc/DetectorStore'
+p185
+ssS'AthEndSeq'
+p186
+(dp187
+S'ExtraOutputs'
+p188
+S'[]'
+p189
+sS'EvtStore'
+p190
+S'StoreGateSvc'
+p191
+sS'ExtraInputs'
+p192
+S'[]'
+p193
+sS'Sequential'
+p194
+S'True'
+p195
+sS'Members'
+p196
+S"['AthIncFirerAlg/EndIncFiringAlg', 'IncidentProcAlg/IncidentProcAlg2']"
+p197
+sS'NeededResources'
+p198
+S'[]'
+p199
+sS'DetStore'
+p200
+S'StoreGateSvc/DetectorStore'
+p201
+ssS'AlgResourcePool'
+p202
+(dp203
+S'OutputLevel'
+p204
+S'3'
+sS'TopAlg'
+p205
+S"['AthMasterSeq']"
+p206
+ssS'AthRegSeq'
+p207
+(dp208
+S'ExtraOutputs'
+p209
+S'[]'
+p210
+sS'EvtStore'
+p211
+S'StoreGateSvc'
+p212
+sS'ExtraInputs'
+p213
+S'[]'
+p214
+sS'Members'
+p215
+S'[]'
+p216
+sS'NeededResources'
+p217
+S'[]'
+p218
+sS'DetStore'
+p219
+S'StoreGateSvc/DetectorStore'
+p220
+ssS'EndIncFiringAlg'
+p221
+(dp222
+S'ExtraOutputs'
+p223
+S'[]'
+p224
+sS'EvtStore'
+p225
+S'StoreGateSvc'
+p226
+sS'ExtraInputs'
+p227
+S'[]'
+p228
+sS'FireSerial'
+p229
+S'False'
+p230
+sS'Incidents'
+p231
+S"['EndEvent']"
+p232
+sS'NeededResources'
+p233
+S'[]'
+p234
+sS'DetStore'
+p235
+S'StoreGateSvc/DetectorStore'
+p236
+ssS'Streams'
+p237
+(dp238
+S'ExtraOutputs'
+p239
+S'[]'
+p240
+sS'EvtStore'
+p241
+S'StoreGateSvc'
+p242
+sS'ExtraInputs'
+p243
+S'[]'
+p244
+sS'Members'
+p245
+S'[]'
+p246
+sS'NeededResources'
+p247
+S'[]'
+p248
+sS'DetStore'
+p249
+S'StoreGateSvc/DetectorStore'
+p250
+ssS'NTupleSvc'
+p251
+(dp252
+S'InhibitPathes'
+p253
+S'[]'
+p254
+sS'Input'
+p255
+S'[]'
+p256
+sS'Output'
+p257
+S'[]'
+p258
+ssS'EventPersistencySvc'
+p259
+(dp260
+S'CnvServices'
+p261
+S'[]'
+p262
+ssS'AthAlgSeq'
+p263
+(dp264
+S'ExtraOutputs'
+p265
+S'[]'
+p266
+sS'EvtStore'
+p267
+S'StoreGateSvc'
+p268
+sS'ExtraInputs'
+p269
+S'[]'
+p270
+sS'StopOverride'
+p271
+S'True'
+p272
+sS'Members'
+p273
+S"['SGInputLoader/SGInputLoader']"
+p274
+sS'NeededResources'
+p275
+S'[]'
+p276
+sS'DetStore'
+p277
+S'StoreGateSvc/DetectorStore'
+p278
+ssS'AthAllAlgSeq'
+p279
+(dp280
+S'ExtraOutputs'
+p281
+S'[]'
+p282
+sS'EvtStore'
+p283
+S'StoreGateSvc'
+p284
+sS'ExtraInputs'
+p285
+S'[]'
+p286
+sS'Members'
+p287
+S"['AthSequencer/AthAlgSeq', 'AthSequencer/AthCondSeq']"
+p288
+sS'NeededResources'
+p289
+S'[]'
+p290
+sS'DetStore'
+p291
+S'StoreGateSvc/DetectorStore'
+p292
+ssS'AthenaSealSvc'
+p293
+(dp294
+S'DictNames'
+p295
+S'[]'
+p296
+sS'IgnoreDicts'
+p297
+S"['libSealCLHEPDict']"
+p298
+sS'IgnoreNames'
+p299
+S"['Gaudi', 'GaudiPython::Interface', 'GaudiPython::Helper', 'FactoryTable', 'IInterface', 'IFactory', 'IAlgFactory', 'ISvcFactory', 'IToolFactory', 'InterfaceID', 'StatusCode', 'IAppMgrUI', 'IProperty', 'Property', 'std::vector<Property*>', 'std::vector<const Property*>', 'std::list<IAlgorithm*>', 'std::list<IService*>', 'std::list<const IFactory*>', 'std::vector<IRegistry*>', 'SimpleProperty', 'SimplePropertyRef', 'IService', 'IAlgorithm', 'ISvcManager', 'IAlgManager', 'IJobOptionsSvc', 'ISvcLocator', 'IEventProcessor', 'IDataProviderSvc', 'IDataManagerSvc', 'IRegistry', 'ContainedObject', 'std::vector<const ContainedObject*>', 'DataObject', 'IHistogramSvc', 'AIDA::I', 'Algorithm', 'Service', 'GaudiPython::PyAlgorithm', 'GaudiPython::PyAlgorithmWrap', 'IParticlePropertySvc', 'ParticleProperty', 'StoreGateSvc', 'IStoragePolicy', 'CharDbArray', 'DoubleDbArray', 'FloatDbArray', 'IntDbArray', 'LongDbArray', 'ShortDbArray', 'AthenaEventLoopMgr', 'MinimalEventLoopMgr', 'PyAthenaEventLoopMgr', 'NTuple::Directory', 'NTuple::File ', 'NTuple::Tuple', 'INTuple', 'NTuple::Tuple', 'greater<int>', 'allocator<', 'string']"
+p300
+ssS'IncidentProcAlg2'
+p301
+(dp302
+S'ExtraOutputs'
+p303
+S'[]'
+p304
+sS'NeededResources'
+p305
+S'[]'
+p306
+sS'ExtraInputs'
+p307
+S'[]'
+p308
+ssS'DetectorStore'
+p309
+(dp310
+S'IncidentSvc'
+p311
+S'IncidentSvc'
+p312
+sS'ProxyProviderSvc'
+p313
+S'ProxyProviderSvc'
+p314
+ssS'ConditionStore'
+p315
+(dp316
+S'IncidentSvc'
+p317
+S'IncidentSvc'
+p318
+sS'ProxyProviderSvc'
+p319
+S'ProxyProviderSvc'
+p320
+ssS'IncidentProcAlg1'
+p321
+(dp322
+S'ExtraOutputs'
+p323
+S'[]'
+p324
+sS'NeededResources'
+p325
+S'[]'
+p326
+sS'ExtraInputs'
+p327
+S'[]'
+p328
+ssS'HistogramDataSvc'
+p329
+(dp330
+S'Input'
+p331
+S'[]'
+p332
+sS'InhibitPathes'
+p333
+S'[]'
+p334
+ssS'HistoryStore'
+p335
+(dp336
+S'IncidentSvc'
+p337
+S'IncidentSvc'
+p338
+sS'ProxyProviderSvc'
+p339
+S'ProxyProviderSvc'
+p340
+ss.ccollections
+defaultdict
+p1
+(c__builtin__
+dict
+p2
+tRp3
+S'CoreDumpSvc'
+p4
+(dp5
+S'AuditInitialize'
+p6
+S'False'
+p7
+sS'OutputLevel'
+p8
+S'0'
+sS'AuditServices'
+p9
+g7
+sS'AuditStart'
+p10
+g7
+sS'CallOldHandler'
+p11
+S'True'
+p12
+sS'Signals'
+p13
+S'[11, 7, 4, 8]'
+p14
+sS'AuditFinalize'
+p15
+g7
+sS'AuditStop'
+p16
+g7
+sS'AuditReinitialize'
+p17
+g7
+sS'TimeOut'
+p18
+S'1.8e+12'
+p19
+sS'FatalHandler'
+p20
+S'0'
+sS'AuditRestart'
+p21
+g7
+sS'CoreDumpStream'
+p22
+S'stdout'
+p23
+ssS'MessageSvc'
+p24
+(dp25
+S'verboseColorCode'
+p26
+S'[]'
+p27
+sS'defaultLimit'
+p28
+S'0'
+sS'enableSuppression'
+p29
+g12
+sS'errorColorCode'
+p30
+S"['white', 'red']"
+p31
+sS'alwaysLimit'
+p32
+S'0'
+sS'showStats'
+p33
+g7
+sS'AuditReinitialize'
+p34
+g7
+sS'setFatal'
+p35
+S'[]'
+p36
+sS'infoLimit'
+p37
+S'0'
+sS'errorLimit'
+p38
+S'0'
+sS'AuditRestart'
+p39
+g7
+sS'Format'
+p40
+S'% F%40W%S%4W%e%s%7W%R%T %0W%M'
+p41
+sS'AuditServices'
+p42
+g7
+sS'alwaysColorCode'
+p43
+S'[]'
+p44
+sS'AuditFinalize'
+p45
+g7
+sS'setError'
+p46
+S'[]'
+p47
+sS'setInfo'
+p48
+S'[]'
+p49
+sS'setAlways'
+p50
+S'[]'
+p51
+sS'debugColorCode'
+p52
+S'[]'
+p53
+sS'AuditInitialize'
+p54
+g7
+sS'warningLimit'
+p55
+S'0'
+sS'useColors'
+p56
+g7
+sS'OutputLevel'
+p57
+S'3'
+sS'countInactive'
+p58
+g7
+sS'AuditStop'
+p59
+g7
+sS'setDebug'
+p60
+S'[]'
+p61
+sS'timeFormat'
+p62
+S'%Y-%m-%d %H:%M:%S,%f'
+p63
+sS'fatalLimit'
+p64
+S'0'
+sS'fatalColorCode'
+p65
+S"['blue', 'red']"
+p66
+sS'loggedStreams'
+p67
+S'{}'
+p68
+sS'tracedInactiveSources'
+p69
+S'[]'
+p70
+sS'setVerbose'
+p71
+S'[]'
+p72
+sS'statLevel'
+p73
+S'0'
+sS'verboseLimit'
+p74
+S'0'
+sS'debugLimit'
+p75
+S'0'
+sS'AuditStart'
+p76
+g7
+sS'infoColorCode'
+p77
+S'[]'
+p78
+sS'setWarning'
+p79
+S'[]'
+p80
+sS'warningColorCode'
+p81
+S"['yellow']"
+p82
+ssS'AthenaSealSvc'
+p83
+(dp84
+S'UseChronoStag'
+p85
+g12
+sS'AuditInitialize'
+p86
+g7
+sS'AuditServices'
+p87
+g7
+sS'OutputLevel'
+p88
+S'0'
+sS'AuditStart'
+p89
+g7
+sS'IgnoreNames'
+p90
+S"['Gaudi', 'GaudiPython::Interface', 'GaudiPython::Helper', 'FactoryTable', 'IInterface', 'IFactory', 'IAlgFactory', 'ISvcFactory', 'IToolFactory', 'InterfaceID', 'StatusCode', 'IAppMgrUI', 'IProperty', 'Property', 'std::vector<Property*>', 'std::vector<const Property*>', 'std::list<IAlgorithm*>', 'std::list<IService*>', 'std::list<const IFactory*>', 'std::vector<IRegistry*>', 'SimpleProperty', 'SimplePropertyRef', 'IService', 'IAlgorithm', 'ISvcManager', 'IAlgManager', 'IJobOptionsSvc', 'ISvcLocator', 'IEventProcessor', 'IDataProviderSvc', 'IDataManagerSvc', 'IRegistry', 'ContainedObject', 'std::vector<const ContainedObject*>', 'DataObject', 'IHistogramSvc', 'AIDA::I', 'Algorithm', 'Service', 'GaudiPython::PyAlgorithm', 'GaudiPython::PyAlgorithmWrap', 'IParticlePropertySvc', 'ParticleProperty', 'StoreGateSvc', 'IStoragePolicy', 'CharDbArray', 'DoubleDbArray', 'FloatDbArray', 'IntDbArray', 'LongDbArray', 'ShortDbArray', 'AthenaEventLoopMgr', 'MinimalEventLoopMgr', 'PyAthenaEventLoopMgr', 'NTuple::Directory', 'NTuple::File ', 'NTuple::Tuple', 'INTuple', 'NTuple::Tuple', 'greater<int>', 'allocator<', 'string']"
+p91
+sS'AuditFinalize'
+p92
+g7
+sS'AuditStop'
+p93
+g7
+sS'AuditReinitialize'
+p94
+g7
+sS'CheckDictAtInit'
+p95
+g7
+sS'DictNames'
+p96
+S'[]'
+p97
+sS'AuditRestart'
+p98
+g7
+sS'CheckDictionary'
+p99
+g12
+sS'LoadAllDicts'
+p100
+g7
+sS'IgnoreDicts'
+p101
+S"['libSealCLHEPDict']"
+p102
+ssS'JobOptionsSvc'
+p103
+(dp104
+S'AuditStop'
+p105
+g7
+sS'SEARCHPATH'
+p106
+S'.:/afs/cern.ch/work/s/smh/idconfig_2/bld/x86_64-centos7-gcc8-opt/jobOptions:/cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-02-11T2137/GAUDI/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/jobOptions:/afs/cern.ch/work/s/smh/idconfig_2/bld:/cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-02-11T2137/Athena/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/jobOptions:/cvmfs/atlas-nightlies.cern.ch/repo/sw/master/2019-02-11T2137/AthenaExternals/22.0.1/InstallArea/x86_64-centos7-gcc8-opt/jobOptions'
+p107
+sS'AuditInitialize'
+p108
+g7
+sS'AuditServices'
+p109
+g7
+sS'OutputLevel'
+p110
+S'3'
+sS'AuditStart'
+p111
+g7
+sS'DUMPFILE'
+p112
+S''
+sS'AuditFinalize'
+p113
+g7
+sS'PYTHONPARAMS'
+p114
+S''
+sS'AuditReinitialize'
+p115
+g7
+sS'PATH'
+p116
+S'../options/job.opts'
+p117
+sS'PYTHONACTION'
+p118
+S''
+sS'TYPE'
+p119
+S'NONE'
+p120
+sS'AuditRestart'
+p121
+g7
+ssS'ToolSvc'
+p122
+(dp123
+S'AuditInitialize'
+p124
+g7
+sS'OutputLevel'
+p125
+S'0'
+sS'AuditServices'
+p126
+g7
+sS'AuditStart'
+p127
+g7
+sS'AuditFinalize'
+p128
+g7
+sS'AuditStop'
+p129
+g7
+sS'AuditReinitialize'
+p130
+g7
+sS'AuditRestart'
+p131
+g7
+ssS'ApplicationMgr'
+p132
+(dp133
+S'Runable'
+p134
+S'AppMgrRunable'
+p135
+sS'ReturnCode'
+p136
+S'0'
+sS'TopAlg'
+p137
+S"['AthSequencer/AthMasterSeq']"
+p138
+sS'EventLoop'
+p139
+S'AthenaHiveEventLoopMgr'
+p140
+sS'ExtSvcCreates'
+p141
+g7
+sS'Environment'
+p142
+S'{}'
+p143
+sS'JobOptionsPath'
+p144
+S''
+sS'Dlls'
+p145
+S'[]'
+p146
+sS'SvcMapping'
+p147
+S"['EvtDataSvc/EventDataSvc', 'DetDataSvc/DetectorDataSvc', 'HistogramSvc/HistogramDataSvc', 'HbookCnv::PersSvc/HbookHistSvc', 'RootHistCnv::PersSvc/RootHistSvc', 'EvtPersistencySvc/EventPersistencySvc', 'DetPersistencySvc/DetectorPersistencySvc', 'HistogramPersistencySvc/HistogramPersistencySvc']"
+p148
+sS'AppName'
+p149
+S'ApplicationMgr'
+p150
+sS'AuditServices'
+p151
+g7
+sS'OutStream'
+p152
+S'[]'
+p153
+sS'ActivateHistory'
+p154
+g7
+sS'StalledEventMonitoring'
+p155
+g7
+sS'InitializationLoopCheck'
+p156
+g7
+sS'JobOptionsSvcType'
+p157
+S'JobOptionsSvc'
+p158
+sS'JobOptionsPreAction'
+p159
+S''
+sS'StatusCodeCheck'
+p160
+g7
+sS'AuditTools'
+p161
+g7
+sS'AlgTypeAliases'
+p162
+S'{}'
+p163
+sS'EvtSel'
+p164
+S''
+sS'PluginDebugLevel'
+p165
+S'0'
+sS'OutputLevel'
+p166
+S'3'
+sS'AppVersion'
+p167
+S''
+sS'EvtMax'
+p168
+S'-1'
+p169
+sS'SvcOptMapping'
+p170
+S'[]'
+p171
+sS'CreateSvc'
+p172
+S"['ToolSvc/ToolSvc', 'AthDictLoaderSvc/AthDictLoaderSvc', 'AthenaSealSvc/AthenaSealSvc', 'CoreDumpSvc/CoreDumpSvc']"
+p173
+sS'PropertiesPrint'
+p174
+g7
+sS'JobOptionsType'
+p175
+S'NONE'
+p176
+sS'OutStreamType'
+p177
+S'AthenaOutputStream'
+p178
+sS'StopOnSignal'
+p179
+g7
+sS'ExtSvc'
+p180
+S"['ToolSvc/ToolSvc', 'AuditorSvc/AuditorSvc', 'MessageSvc/MessageSvc', 'IncidentSvc/IncidentSvc', 'EvtPersistencySvc/EventPersistencySvc', 'HistogramSvc/HistogramDataSvc', 'NTupleSvc/NTupleSvc', 'RndmGenSvc/RndmGenSvc', 'ChronoStatSvc/ChronoStatSvc', 'StatusCodeSvc/StatusCodeSvc', 'StoreGateSvc/StoreGateSvc', 'StoreGateSvc/DetectorStore', 'StoreGateSvc/HistoryStore', 'ClassIDSvc/ClassIDSvc', 'AthDictLoaderSvc/AthDictLoaderSvc', 'AthenaSealSvc/AthenaSealSvc', 'CoreDumpSvc/CoreDumpSvc', 'SG::HiveMgrSvc/EventDataSvc', 'StoreGateSvc/ConditionStore', 'AlgResourcePool/AlgResourcePool', 'AvalancheSchedulerSvc/AvalancheSchedulerSvc', 'AthenaHiveEventLoopMgr/AthenaHiveEventLoopMgr', 'TimelineSvc/TimelineSvc', 'JobOptionsSvc/JobOptionsSvc']"
+p181
+sS'AuditAlgorithms'
+p182
+g12
+sS'HistogramPersistency'
+p183
+S'NONE'
+p184
+sS'MessageSvcType'
+p185
+S'InertMessageSvc'
+p186
+sS'JobOptionsPostAction'
+p187
+S''
+ssS'AthenaHiveEventLoopMgr'
+p188
+(dp189
+S'TopAlg'
+p190
+S'[]'
+p191
+sS'AuditReinitialize'
+p192
+g7
+sS'SchedulerSvc'
+p193
+S'AvalancheSchedulerSvc'
+p194
+sS'AuditRestart'
+p195
+g7
+sS'EventPrintoutInterval'
+p196
+S'1'
+sS'FailureMode'
+p197
+S'1'
+sS'FakeTimestampInterval'
+p198
+S'1'
+sS'AuditServices'
+p199
+g7
+sS'OutStream'
+p200
+S'[]'
+p201
+sS'AuditFinalize'
+p202
+g7
+sS'PreSelectTools'
+p203
+S'[]'
+p204
+sS'TimeKeeper'
+p205
+S''
+sS'HistWriteInterval'
+p206
+S'0'
+sS'AuditInitialize'
+p207
+g7
+sS'OutputLevel'
+p208
+S'0'
+sS'EvtSel'
+p209
+S''
+sS'HistogramPersistency'
+p210
+S''
+sS'AuditStop'
+p211
+g7
+sS'FakeLumiBlockInterval'
+p212
+S'0'
+sS'EventStore'
+p213
+S'StoreGateSvc'
+p214
+sS'PrintControlFlowExpression'
+p215
+g7
+sS'OutStreamType'
+p216
+S'AthenaOutputStream'
+p217
+sS'ClearStorePolicy'
+p218
+S'EndEvent'
+p219
+sS'AuditStart'
+p220
+g7
+sS'WhiteboardSvc'
+p221
+S'EventDataSvc'
+p222
+ssS'AthDictLoaderSvc'
+p223
+(dp224
+S'AuditInitialize'
+p225
+g7
+sS'OutputLevel'
+p226
+S'0'
+sS'AuditServices'
+p227
+g7
+sS'AuditStart'
+p228
+g7
+sS'DoRecursiveLoad'
+p229
+g12
+sS'AuditFinalize'
+p230
+g7
+sS'AuditStop'
+p231
+g7
+sS'AuditReinitialize'
+p232
+g7
+sS'AuditRestart'
+p233
+g7
+ss.(lp1
+.
\ No newline at end of file
diff --git a/Control/AthenaConfiguration/share/GenerateBootstrapTest.ref b/Control/AthenaConfiguration/share/GenerateBootstrapTest.ref
new file mode 100644
index 0000000000000000000000000000000000000000..d0c072f0b8beaf242202e412b8a489eb25ffa370
--- /dev/null
+++ b/Control/AthenaConfiguration/share/GenerateBootstrapTest.ref
@@ -0,0 +1,12 @@
+Willing to acquire file bootstrap.pkl from
+/afs/cern.ch/work/s/smh/idconfig/bld/x86_64-centos7-gcc8-opt/share/bootstrap.pkl
+File bootstrap.pkl exists in the current directory
+Remove and copy bootstrap.pkl
+... Read 3 items from python pickle file:  bootstrap.pkl
+... Read 3 items from python pickle file:  bootstrap_test.pkl
+Willing to acquire file bootstrap_threaded.pkl from
+/afs/cern.ch/work/s/smh/idconfig/bld/x86_64-centos7-gcc8-opt/share/bootstrap_threaded.pkl
+File bootstrap_threaded.pkl exists in the current directory
+Remove and copy bootstrap_threaded.pkl
+... Read 3 items from python pickle file:  bootstrap_threaded.pkl
+... Read 3 items from python pickle file:  bootstrap_threaded_test.pkl
diff --git a/Control/AthenaConfiguration/share/confTool.py b/Control/AthenaConfiguration/share/confTool.py
index 21f49d33ea4419a65d9de9280324936a3dcc9d17..36697fcbb395b683b58c415c169b913d1007a5ff 100755
--- a/Control/AthenaConfiguration/share/confTool.py
+++ b/Control/AthenaConfiguration/share/confTool.py
@@ -61,19 +61,28 @@ def __diff():
 
     confs = [ __merge( __loadSingleFile( f )) for f in args.file ] 
     
-    allkeys = set( confs[0].keys() + confs[0].keys())
+    allkeys = set( confs[0].keys() + confs[1].keys())
 
     for comp in allkeys:
         if comp not in confs[0]:
-            print "... component %-54s" % comp, "absent in 1st file"
+            print "... component %-54s" % comp, "absent in", args.file[0]
         elif comp not in confs[1]:
-            print "... component %-54s" % comp, "absent in 2nd file"
+            print "... component %-54s" % comp, "absent in", args.file[1]
         elif confs[0][comp] != confs[1][comp]:
-            print "... component %-54s" % comp, "present in both files but with different settings"
-            print "... in file: ", args.file[0]
-            pprint.pprint( confs[0][comp])
-            print "... in file: ", args.file[1]
-            pprint.pprint( confs[1][comp])
+            same = False
+            if comp == "JobOptionsSvc":
+                same = True
+                for conf in confs[0][comp]:
+                    if conf == "SEARCHPATH":#SEARCHPATH depends on nightly, ignore it
+                        continue
+                    if confs[0][comp][conf] != confs[1][comp][conf]:
+                        break
+            if not same:
+                print "... component %-54s" % comp, "present in both files but with different settings"
+                print "... in file: ", args.file[0]
+                pprint.pprint( confs[0][comp])
+                print "... in file: ", args.file[1]
+                pprint.pprint( confs[1][comp])
         else:
             print "... component %-54s" % comp, "identical"
 
diff --git a/Control/AthenaConfiguration/share/zeroJO.py b/Control/AthenaConfiguration/share/zeroJO.py
new file mode 100644
index 0000000000000000000000000000000000000000..492284fd29204736dbbfc75e2996142081a4edfa
--- /dev/null
+++ b/Control/AthenaConfiguration/share/zeroJO.py
@@ -0,0 +1 @@
+#Deliberately empty jobOptions file used for generating bootstrap file
diff --git a/Control/AthenaConfiguration/test/test_gen_bootstrap.sh b/Control/AthenaConfiguration/test/test_gen_bootstrap.sh
new file mode 100755
index 0000000000000000000000000000000000000000..4a8b78d5f66212bb2ff03efea975ebd649d5d13b
--- /dev/null
+++ b/Control/AthenaConfiguration/test/test_gen_bootstrap.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+#Generate threaded and serial bootstrap pickles and diff them
+#If there's a major change in AthenaCommon or Gaudi it will get picked up here
+rm -f bootstrap*pkl
+athena --config-only=bootstrap_test.pkl AthenaConfiguration/zeroJO.py &> /dev/null
+get_files -remove -data bootstrap.pkl
+confTool.py --diff bootstrap.pkl bootstrap_test.pkl | grep -v identical
+athena --threads=1 --config-only=bootstrap_threaded_test.pkl AthenaConfiguration/zeroJO.py &> /dev/null
+get_files -remove -data bootstrap_threaded.pkl
+confTool.py --diff bootstrap_threaded.pkl bootstrap_threaded_test.pkl | grep -v identical