Skip to content

Expose LoKi failure with LCG 97

Rosen Matev requested to merge rmatev-LCG97-loki-fail into master

Extends an existing test to expose the following issue with LCG 97 in master. In run2-patches the test already fails but for a different operator (see at the bottom).

ANUM(ALL) >= 1  # this and many other operators work
ANUM(ALL) <= ANUM(ALL)  # works
ANUM(ALL) <= 1  # fails, see error below
Traceback (most recent call last):
  File "/home/rmatev/stack97/Phys/Phys/LoKiArrayFunctors/python/LoKiArrayFunctors/tests.py", line 66, in &lt;module&gt;
    testAll()
  File "/home/rmatev/stack97/Phys/Phys/LoKiArrayFunctors/python/LoKiArrayFunctors/tests.py", line 61, in testAll
    print ANUM(ALL) &lt;= 1
  File "/home/rmatev/stack97/LHCb/InstallArea/x86_64-centos7-gcc9-opt/python/LoKiCore/decorators.py", line 567, in _le_
    return opers.__le__(s, a)
TypeError: none of the 4 overloaded methods succeeded. Full details:
  static LoKi::FunctorFromFunctor&lt;Gaudi::Range_&lt;vector&lt;const LHCb::Particle*&gt;,__gnu_cxx::__normal_iterator&lt;const LHCb::Particle*const*,vector&lt;const LHCb::Particle*&gt; &gt; &gt;,bool&gt; LoKi::Dicts::FuncOps__&lt;Gaudi::Range_&lt;vector&lt;const LHCb::Particle*&gt;,__gnu_cxx::__normal_iterator&lt;const LHCb::Particle*const*,vector&lt;const LHCb::Particle*&gt; &gt; &gt; &gt;::__le__(LoKi::Functor&lt;Gaudi::Range_&lt;vector&lt;const LHCb::Particle*&gt;,__gnu_cxx::__normal_iterator&lt;const LHCb::Particle*const*,vector&lt;const LHCb::Particle*&gt; &gt; &gt;,double&gt;&amp; fun1, LoKi::Functor&lt;Gaudi::Range_&lt;vector&lt;const LHCb::Particle*&gt;,__gnu_cxx::__normal_iterator&lt;const LHCb::Particle*const*,vector&lt;const LHCb::Particle*&gt; &gt; &gt;,double&gt;&amp; fun2) =&gt;
    could not convert argument 2
  static LoKi::FunctorFromFunctor&lt;Gaudi::Range_&lt;vector&lt;const LHCb::Particle*&gt;,__gnu_cxx::__normal_iterator&lt;const LHCb::Particle*const*,vector&lt;const LHCb::Particle*&gt; &gt; &gt;,bool&gt; LoKi::Dicts::FuncOps__&lt;Gaudi::Range_&lt;vector&lt;const LHCb::Particle*&gt;,__gnu_cxx::__normal_iterator&lt;const LHCb::Particle*const*,vector&lt;const LHCb::Particle*&gt; &gt; &gt; &gt;::__le__(LoKi::Functor&lt;Gaudi::Range_&lt;vector&lt;const LHCb::Particle*&gt;,__gnu_cxx::__normal_iterator&lt;const LHCb::Particle*const*,vector&lt;const LHCb::Particle*&gt; &gt; &gt;,double&gt;&amp; fun1, LoKi::Functor&lt;void,double&gt;&amp; fun2) =&gt;
    could not convert argument 2
  static LoKi::FunctorFromFunctor&lt;Gaudi::Range_&lt;vector&lt;const LHCb::Particle*&gt;,__gnu_cxx::__normal_iterator&lt;const LHCb::Particle*const*,vector&lt;const LHCb::Particle*&gt; &gt; &gt;,bool&gt; LoKi::Dicts::FuncOps__&lt;Gaudi::Range_&lt;vector&lt;const LHCb::Particle*&gt;,__gnu_cxx::__normal_iterator&lt;const LHCb::Particle*const*,vector&lt;const LHCb::Particle*&gt; &gt; &gt; &gt;::__le__(LoKi::Functor&lt;Gaudi::Range_&lt;vector&lt;const LHCb::Particle*&gt;,__gnu_cxx::__normal_iterator&lt;const LHCb::Particle*const*,vector&lt;const LHCb::Particle*&gt; &gt; &gt;,double&gt;&amp; fun1, const LoKi::Param&amp; fun2) =&gt;
    could not convert argument 2
  static LoKi::FunctorFromFunctor&lt;Gaudi::Range_&lt;vector&lt;const LHCb::Particle*&gt;,__gnu_cxx::__normal_iterator&lt;const LHCb::Particle*const*,vector&lt;const LHCb::Particle*&gt; &gt; &gt;,bool&gt; LoKi::Dicts::FuncOps__&lt;Gaudi::Range_&lt;vector&lt;const LHCb::Particle*&gt;,__gnu_cxx::__normal_iterator&lt;const LHCb::Particle*const*,vector&lt;const LHCb::Particle*&gt; &gt; &gt; &gt;::__le__(LoKi::Functor&lt;Gaudi::Range_&lt;vector&lt;const LHCb::Particle*&gt;,__gnu_cxx::__normal_iterator&lt;const LHCb::Particle*const*,vector&lt;const LHCb::Particle*&gt; &gt; &gt;,double&gt;&amp; fun1, double fun2) =&gt;
    could not resolve LoKi::Dicts::FuncOps__&lt;Gaudi::Range_&lt;vector&lt;const LHCb::Particle*&gt;,__gnu_cxx::__normal_iterator&lt;const LHCb::Particle*const*,vector&lt;const LHCb::Particle*&gt; &gt; &gt; &gt;::__le__(LoKi::Functor&lt;Gaudi::Range_&lt;vector&lt;const LHCb::Particle*&gt;,__gnu_cxx::__normal_iterator&lt;const LHCb::Particle*const*,vector&lt;const LHCb::Particle*&gt; &gt; &gt;,double&gt;&amp;, double)

In run2-patches, the failures is

Traceback (most recent call last):
  File "/workspace/build/Phys/Phys/LoKiArrayFunctors/python/LoKiArrayFunctors/tests.py", line 64, in <module>
    testAll()
  File "/workspace/build/Phys/Phys/LoKiArrayFunctors/python/LoKiArrayFunctors/tests.py", line 54, in testAll
    print(ALV01 < 0) & (AETA > 0) | (AM < 50) & AALL
  File "/workspace/build/LHCb/InstallArea/x86_64-centos7-gcc9-opt/python/LoKiCore/decorators.py", line 553, in _lt_
    return opers.__lt__(s, a)
TypeError: none of the 4 overloaded methods succeeded. Full details:
  static LoKi::FunctorFromFunctor<Gaudi::Range_<vector<const LHCb::Particle*>,__gnu_cxx::__normal_iterator<const LHCb::Particle*const*,vector<const LHCb::Particle*> > >,bool> LoKi::Dicts::FuncOps__<Gaudi::Range_<vector<const LHCb::Particle*>,__gnu_cxx::__normal_iterator<const LHCb::Particle*const*,vector<const LHCb::Particle*> > >,Gaudi::Range_<vector<const LHCb::Particle*>,__gnu_cxx::__normal_iterator<const LHCb::Particle*const*,vector<const LHCb::Particle*> > > >::__lt__(LoKi::Functor<Gaudi::Range_<vector<const LHCb::Particle*>,__gnu_cxx::__normal_iterator<const LHCb::Particle*const*,vector<const LHCb::Particle*> > >,double>& fun1, LoKi::Functor<Gaudi::Range_<vector<const LHCb::Particle*>,__gnu_cxx::__normal_iterator<const LHCb::Particle*const*,vector<const LHCb::Particle*> > >,double>& fun2) =>
    could not convert argument 2
  static LoKi::FunctorFromFunctor<Gaudi::Range_<vector<const LHCb::Particle*>,__gnu_cxx::__normal_iterator<const LHCb::Particle*const*,vector<const LHCb::Particle*> > >,bool> LoKi::Dicts::FuncOps__<Gaudi::Range_<vector<const LHCb::Particle*>,__gnu_cxx::__normal_iterator<const LHCb::Particle*const*,vector<const LHCb::Particle*> > >,Gaudi::Range_<vector<const LHCb::Particle*>,__gnu_cxx::__normal_iterator<const LHCb::Particle*const*,vector<const LHCb::Particle*> > > >::__lt__(LoKi::Functor<Gaudi::Range_<vector<const LHCb::Particle*>,__gnu_cxx::__normal_iterator<const LHCb::Particle*const*,vector<const LHCb::Particle*> > >,double>& fun1, LoKi::Functor<void,double>& fun2) =>
    could not convert argument 2
  static LoKi::FunctorFromFunctor<Gaudi::Range_<vector<const LHCb::Particle*>,__gnu_cxx::__normal_iterator<const LHCb::Particle*const*,vector<const LHCb::Particle*> > >,bool> LoKi::Dicts::FuncOps__<Gaudi::Range_<vector<const LHCb::Particle*>,__gnu_cxx::__normal_iterator<const LHCb::Particle*const*,vector<const LHCb::Particle*> > >,Gaudi::Range_<vector<const LHCb::Particle*>,__gnu_cxx::__normal_iterator<const LHCb::Particle*const*,vector<const LHCb::Particle*> > > >::__lt__(LoKi::Functor<Gaudi::Range_<vector<const LHCb::Particle*>,__gnu_cxx::__normal_iterator<const LHCb::Particle*const*,vector<const LHCb::Particle*> > >,double>& fun1, const LoKi::Param& fun2) =>
    could not convert argument 2
  static LoKi::FunctorFromFunctor<Gaudi::Range_<vector<const LHCb::Particle*>,__gnu_cxx::__normal_iterator<const LHCb::Particle*const*,vector<const LHCb::Particle*> > >,bool> LoKi::Dicts::FuncOps__<Gaudi::Range_<vector<const LHCb::Particle*>,__gnu_cxx::__normal_iterator<const LHCb::Particle*const*,vector<const LHCb::Particle*> > >,Gaudi::Range_<vector<const LHCb::Particle*>,__gnu_cxx::__normal_iterator<const LHCb::Particle*const*,vector<const LHCb::Particle*> > > >::__lt__(LoKi::Functor<Gaudi::Range_<vector<const LHCb::Particle*>,__gnu_cxx::__normal_iterator<const LHCb::Particle*const*,vector<const LHCb::Particle*> > >,double>& fun1, double fun2) =>
    could not resolve LoKi::Dicts::FuncOps__<Gaudi::Range_<vector<const LHCb::Particle*>,__gnu_cxx::__normal_iterator<const LHCb::Particle*const*,vector<const LHCb::Particle*> > >,Gaudi::Range_<vector<const LHCb::Particle*>,__gnu_cxx::__normal_iterator<const LHCb::Particle*const*,vector<const LHCb::Particle*> > > >::__lt__(LoKi::Functor<Gaudi::Range_<vector<const LHCb::Particle*>,__gnu_cxx::__normal_iterator<const LHCb::Particle*const*,vector<const LHCb::Particle*> > >,double>&, double)

Merge request reports