Uploaded image for project: 'ROOT'
  1. ROOT
  2. ROOT-11013

"Impossible code path" in TGenCollectionProxy.cxx when using rootcling

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: High
    • Resolution: Fixed
    • Affects Version/s: master
    • Fix Version/s: 6.24/00, 6.22/04, 6.20/10
    • Component/s: Cling
    • Labels:
      None
    • Environment:

      ROOT Version: curent "master" (hash:  ae14e906642ef1d61c92057c4b5fa46946c2d2b4)
      System: MacOS 10.15.6
      Compiler:  Apple clang version 11.0.3 (clang-1103.0.32.62)

      Description

      This error is not observed in root 6.20, seems to be a recent one.

      rootcling fails to parse a more complicated vector.

       #pragma link C++ class std::vector <std::unique_ptr<std::pair<void (*)(void *, void *), void * > > >+;
      

      Reproduce Error:

      rootcling  -f test_dict.cxx    root_test_class_LinkDef.h
       
       Fatal: ! (prop&kIsClass) && "Impossible code path" violated at line 462 of `/Users/maurik/root/src/root.git/io/io/src/TGenCollectionProxy.cxx'
      aborting
      [/Users/maurik/root/root.git/lib/libCore.so] ErrorHandler (no debug info)
      [/Users/maurik/root/root.git/lib/libCore.so] Fatal(char const*, char const*, ...) (no debug info)
      [/Users/maurik/root/root.git/lib/libRIO.so] TGenCollectionProxy::Value::Value(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) (no debug info)
      [/Users/maurik/root/root.git/lib/libRIO.so] TEmulatedCollectionProxy::InitializeEx(bool) (no debug info)
      [/Users/maurik/root/root.git/lib/libRIO.so] TEmulatedCollectionProxy::TEmulatedCollectionProxy(char const*, bool) (no debug info)
      [/Users/maurik/root/root.git/lib/libRIO.so] (anonymous namespace)::GenEmulation(char const*, bool) (no debug info)
      [/Users/maurik/root/root.git/lib/libCore.so] TClass::Init(char const*, short, std::type_info const*, TVirtualIsAProxy*, char const*, char const*, int, int, ClassInfo_t*, bool) (no debug info)
      [/Users/maurik/root/root.git/lib/libCore.so] TClass::TClass(char const*, short, bool) (no debug info)[/Users/maurik/root/root.git/lib/libCling.so] TCling::GenerateTClass(char const*, bool, bool) (no debug info)
      [/Users/maurik/root/root.git/lib/libCore.so] TClass::GetClass(char const*, bool, bool) (no debug info)
      [/Users/maurik/root/root.git/lib/libRIO.so] CloseStreamerInfoROOTFile (no debug info)
      [/Users/maurik/root/root.git/lib/libCling.so] FinalizeStreamerInfoWriting(cling::Interpreter&, bool) (no debug info)
      [/Users/maurik/root/root.git/lib/libCling.so] GenerateFullDict(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, cling::Interpreter&, RScanner&, std::__1::list<ROOT::TMetaUtils::RConstructorType, std::__1::allocator<ROOT::TMetaUtils::RConstructorType> > const&, bool, bool, bool) (no debug info)
       
      [/Users/maurik/root/root.git/lib/libCling.so] RootClingMain(int, char**, bool) (no debug info)
      [/Users/maurik/root/root.git/lib/libCling.so] ROOT_rootcling_Driver (no debug info)
      [/Users/maurik/root/root.git/bin/rootcling] main (no debug info)
      [/usr/lib/system/libdyld.dylib] start (no debug info)
      Abort trap: 6
      

       

        Attachments

          Activity

            People

            Assignee:
            pcanal Philippe Canal
            Reporter:
            1ee42fc002fc7a79a3ad Maurik Holtrop
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: