Skip to content

!869 broke the scheduler's support for blocking tasks

@bwynne, it looks like !869 (merged) broke the scheduling of blocking tasks. Unfortunately, the trivial tests we had in this corner didn't spot the problem. But more complex ones, e.g., the GaudiHive/options/OffloadAtlasMCRecoScenario.py, segfaults with:

#9  0x00007f884ead19f2 in AlgoExecutionTask::<lambda()>::operator() (__closure=<optimized out>) at /home/ishapova/workspace/eclipse.workspaces/Gaudi.ws/GaudiProject/GaudiHive/src/AlgoExecutionTask.cpp:95
#10 std::_Function_handler<StatusCode(), AlgoExecutionTask::execute()::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...) at /usr/include/c++/8/bits/std_function.h:283
#11 0x00007f884eae4df6 in std::function<StatusCode ()>::operator()() const (this=this
entry=0x7f8847ffee70) at /usr/include/c++/8/bits/std_function.h:260
#12 0x00007f884eada6f7 in AvalancheSchedulerSvc::activate (this=0x559f34933190) at /home/ishapova/workspace/eclipse.workspaces/Gaudi.ws/GaudiProject/GaudiHive/src/AvalancheSchedulerSvc.cpp:388
#13 0x00007f884eada9b7 in AvalancheSchedulerSvc::<lambda()>::operator() (__closure=<optimized out>) at /home/ishapova/workspace/eclipse.workspaces/Gaudi.ws/GaudiProject/GaudiHive/src/AvalancheSchedulerSvc.cpp:78
#14 std::__invoke_impl<void, AvalancheSchedulerSvc::initialize()::<lambda()> > (__f=...) at /usr/include/c++/8/bits/invoke.h:60
#15 std::__invoke<AvalancheSchedulerSvc::initialize()::<lambda()> > (__fn=...) at /usr/include/c++/8/bits/invoke.h:95
#16 std::thread::_Invoker<std::tuple<AvalancheSchedulerSvc::initialize()::<lambda()> > >::_M_invoke<0> (this=<optimized out>) at /usr/include/c++/8/thread:244
#17 std::thread::_Invoker<std::tuple<AvalancheSchedulerSvc::initialize()::<lambda()> > >::operator() (this=<optimized out>) at /usr/include/c++/8/thread:253
#18 std::thread::_State_impl<std::thread::_Invoker<std::tuple<AvalancheSchedulerSvc::initialize()::<lambda()> > > >::_M_run(void) (this=<optimized out>) at /usr/include/c++/8/thread:196
#19 0x00007f885997d66f in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#20 0x00007f8877f9b6db in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#21 0x00007f88782d488f in clone () from /lib/x86_64-linux-gnu/libc.so.6

Could you please have a look? This is pretty urgent.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information