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

clang CodeGen assertion "popping exception stack when not empty"

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: master, 6.20/00, 6.20/02
    • Fix Version/s: 6.22/00
    • Component/s: Cling
    • Labels:
      None
    • Environment:

      master on 6efc540aee4effdbeb77e4314a1c941d63e545e3, on arch linux with Python 3.8.2

    • Development:

      Description

      Edit: You can find a C++ only reproducer here: http://opendata.web.cern.ch/record/12350
      Download the skim.cxx file, compile with clang++ -g skim.cxx $(root-config --cflags --libs) and run it.

      Following reproducer fails in Python but not in C++. Note that this is experimental PyROOT.

      The issue is not reproducible with Python 3.6.

      import ROOT
      df = ROOT.RDataFrame(1)
      df = df.Define("b", "true").Filter("b")
      c = df.Count()
      print(c.GetValue())
      

      python: path/to/root/interpreter/llvm/src/tools/clang/lib/CodeGen/CGCleanup.h:584: void clang::CodeGen::EHScopeStack::popTerminate(): Assertion `!empty() && "popping exception stack when not empty"' failed.
       *** Break *** abort
      

      void rep() {
          ROOT::RDataFrame df(1);
          auto df2 = df.Define("b", "true").Filter("b");
          auto c = df2.Count();
          c.GetValue();
      }
      

        Attachments

        1. gdb.log
          6 kB
        2. jit_cpp.cpp
          1 kB
        3. jit_python.cpp
          1 kB

          Activity

            People

            • Assignee:
              axel Axel Naumann
              Reporter:
              swunsch Stefan Wunsch
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: