Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RooUnfold error in qunfold-dev container for ARM cpus #19

Open
DrWatt opened this issue Nov 18, 2024 · 3 comments
Open

RooUnfold error in qunfold-dev container for ARM cpus #19

DrWatt opened this issue Nov 18, 2024 · 3 comments
Labels
bug Something isn't working

Comments

@DrWatt
Copy link
Member

DrWatt commented Nov 18, 2024

When testing the repo in here inside the developer container of QUnfold for the ARM architecture (using a M cpu from Apple) a "segmentation violation" error is raised by ROOT.

The problem arises when executing

# Create response matrix object in RooUnfold
roo_response = ROOT.RooUnfoldResponse(th1_reco_mc, th1_truth_mc, th2_migration)

in the variable_unfolding.py script.

The source of this issue is still unknown with certainty, but it is most likely related to the header linking that does not work as it should during runtime.

Here is the complete trace produced by ROOT:

Error in <TInterpreter::AutoParse>: Error parsing payload code for class RooUnfoldResponse with content:

#line 1 "libRooUnfold dictionary payload"

#ifndef __ROOFIT_NOBANNER
  #define __ROOFIT_NOBANNER 1
#endif

#define _BACKWARD_BACKWARD_WARNING_H
// Inline headers
#include "RooFitUnfold.h"
#include "RooUnfold.h"
#include "RooUnfold/TUnfold/TUnfold.h"
#include "RooUnfold/TUnfold/TUnfoldBinning.h"
#include "RooUnfold/TUnfold/TUnfoldBinningXML.h"
#include "RooUnfold/TUnfold/TUnfoldDensity.h"
#include "RooUnfold/TUnfold/TUnfoldIterativeEM.h"
#include "RooUnfold/TUnfold/TUnfoldSys.h"
#include "RooUnfoldBayes.h"
#include "RooUnfoldBinByBin.h"
#include "RooUnfoldErrors.h"
#include "RooUnfoldFitHelpers.h"
#include "RooUnfoldGP.h"
#include "RooUnfoldHelpers.h"
#include "RooUnfoldIds.h"
#include "RooUnfoldInvert.h"
#include "RooUnfoldParms.h"
#include "RooUnfoldPoisson.h"
#include "RooUnfoldResponse.h"
#include "RooUnfoldSvd.h"
#include "RooUnfoldTH1Helpers.h"
#include "RooUnfoldTUnfold.h"
#include "TUnfold.h"
#include "TUnfoldBinning.h"
#include "TUnfoldBinningXML.h"
#include "TUnfoldDensity.h"
#include "TUnfoldIterativeEM.h"
#include "TUnfoldSys.h"

#undef  _BACKWARD_BACKWARD_WARNING_H

Error in <TInterpreter::AutoParse>: Error parsing payload code for class RooUnfoldResponseT with content:

#line 1 "libRooUnfold dictionary payload"

#ifndef __ROOFIT_NOBANNER
  #define __ROOFIT_NOBANNER 1
#endif

#define _BACKWARD_BACKWARD_WARNING_H
// Inline headers
#include "RooFitUnfold.h"
#include "RooUnfold.h"
#include "RooUnfold/TUnfold/TUnfold.h"
#include "RooUnfold/TUnfold/TUnfoldBinning.h"
#include "RooUnfold/TUnfold/TUnfoldBinningXML.h"
#include "RooUnfold/TUnfold/TUnfoldDensity.h"
#include "RooUnfold/TUnfold/TUnfoldIterativeEM.h"
#include "RooUnfold/TUnfold/TUnfoldSys.h"
#include "RooUnfoldBayes.h"
#include "RooUnfoldBinByBin.h"
#include "RooUnfoldErrors.h"
#include "RooUnfoldFitHelpers.h"
#include "RooUnfoldGP.h"
#include "RooUnfoldHelpers.h"
#include "RooUnfoldIds.h"
#include "RooUnfoldInvert.h"
#include "RooUnfoldParms.h"
#include "RooUnfoldPoisson.h"
#include "RooUnfoldResponse.h"
#include "RooUnfoldSvd.h"
#include "RooUnfoldTH1Helpers.h"
#include "RooUnfoldTUnfold.h"
#include "TUnfold.h"
#include "TUnfoldBinning.h"
#include "TUnfoldBinningXML.h"
#include "TUnfoldDensity.h"
#include "TUnfoldIterativeEM.h"
#include "TUnfoldSys.h"

#undef  _BACKWARD_BACKWARD_WARNING_H

Error in <TInterpreter::AutoParse>: Error parsing payload code for class RooUnfoldResponseT<TH1,TH2> with content:

#line 1 "libRooUnfold dictionary payload"

#ifndef __ROOFIT_NOBANNER
  #define __ROOFIT_NOBANNER 1
#endif

#define _BACKWARD_BACKWARD_WARNING_H
// Inline headers
#include "RooFitUnfold.h"
#include "RooUnfold.h"
#include "RooUnfold/TUnfold/TUnfold.h"
#include "RooUnfold/TUnfold/TUnfoldBinning.h"
#include "RooUnfold/TUnfold/TUnfoldBinningXML.h"
#include "RooUnfold/TUnfold/TUnfoldDensity.h"
#include "RooUnfold/TUnfold/TUnfoldIterativeEM.h"
#include "RooUnfold/TUnfold/TUnfoldSys.h"
#include "RooUnfoldBayes.h"
#include "RooUnfoldBinByBin.h"
#include "RooUnfoldErrors.h"
#include "RooUnfoldFitHelpers.h"
#include "RooUnfoldGP.h"
#include "RooUnfoldHelpers.h"
#include "RooUnfoldIds.h"
#include "RooUnfoldInvert.h"
#include "RooUnfoldParms.h"
#include "RooUnfoldPoisson.h"
#include "RooUnfoldResponse.h"
#include "RooUnfoldSvd.h"
#include "RooUnfoldTH1Helpers.h"
#include "RooUnfoldTUnfold.h"
#include "TUnfold.h"
#include "TUnfoldBinning.h"
#include "TUnfoldBinningXML.h"
#include "TUnfoldDensity.h"
#include "TUnfoldIterativeEM.h"
#include "TUnfoldSys.h"

#undef  _BACKWARD_BACKWARD_WARNING_H

 ** Break ** segmentation violation
 Generating stack trace...
 0x0000ffffa46f31b8 in <unknown> from /home/qunfold/miniconda3/envs/qunfold-env/lib/libCling.so
 0x0000ffffa46f37b0 in <unknown> from /home/qunfold/miniconda3/envs/qunfold-env/lib/libCling.so
 0x0000ffffa46f391c in <unknown> from /home/qunfold/miniconda3/envs/qunfold-env/lib/libCling.so
 0x0000ffffa3dd6e04 in <unknown> from /home/qunfold/miniconda3/envs/qunfold-env/lib/libCling.so
 0x0000ffffa30845a8 in <unknown> from /home/qunfold/miniconda3/envs/qunfold-env/lib/libCling.so
 0x0000ffffa2feaa94 in TClingClassInfo::TClingClassInfo(cling::Interpreter, char const, bool) + 0x130 from /home/qunfold/miniconda3/envs/qunfold-env/lib/libCling.so
 0x0000ffffa2ff2354 in TClingClassInfo::IsEnum(cling::Interpreter, char const) + 0x84 from /home/qunfold/miniconda3/envs/qunfold-env/lib/libCling.so
 0x0000ffffad281c40 in Cppyy::IsEnum(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) + 0xe0 from /home/qunfold/miniconda3/envs/qunfold-env/lib/python3.10/lib-dynload/../../libcppyy_backend.so
 0x0000ffffad28cb90 in Cppyy::ResolveName(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) + 0x2a0 from /home/qunfold/miniconda3/envs/qunfold-env/lib/python3.10/lib-dynload/../../libcppyy_backend.so
 0x0000ffffad28d014 in Cppyy::GetScope(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) + 0xe4 from /home/qunfold/miniconda3/envs/qunfold-env/lib/python3.10/lib-dynload/../../libcppyy_backend.so
 0x0000ffffac17838c in <unknown> from /home/qunfold/miniconda3/envs/qunfold-env/lib/python3.10/site-packages/libcppyy.so
 0x0000ffffac179854 in CPyCppyy::CreateScopeProxy(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, _object*, unsigned int) at ProxyWrappers.cxx:? from /home/qunfold/miniconda3/envs/qunfold-env/lib/python3.10/site-packages/libcppyy.so
 0x0000ffffac14147c in <unknown> from /home/qunfold/miniconda3/envs/qunfold-env/lib/python3.10/site-packages/libcppyy.so
 0x0000aaaad689f4f0 in _PyObject_LookupAttr + 0x40 from python
 0x0000aaaad6a358f4 in <unknown> from python
 0x0000aaaad6a0c7d8 in <unknown> from python
 0x0000aaaad685b3ac in _PyEval_EvalFrameDefault + 0x5cec from python
 0x0000aaaad6908024 in <unknown> from python
 0x0000aaaad69f3408 in <unknown> from python
 0x0000aaaad68b1b38 in <unknown> from python
 0x0000aaaad68bf1dc in <unknown> from python
 0x0000aaaad689f9f0 in PyObject_GetAttr + 0x4c from python
 0x0000aaaad689fe74 in _PyObject_GetMethod + 0x164 from python
 0x0000aaaad6858974 in _PyEval_EvalFrameDefault + 0x32b4 from python
 0x0000aaaad6908024 in <unknown> from python
 0x0000aaaad6908224 in PyEval_EvalCode + 0x94 from python
@DrWatt DrWatt added the bug Something isn't working label Nov 18, 2024
@SimoneGasperini
Copy link
Member

Thank you @DrWatt for posting this.

Quick question: is the same error occurring when trying to create that RooUnfoldResponse object using ROOT C++ interface instead of PyROOT?

@DrWatt
Copy link
Member Author

DrWatt commented Nov 19, 2024

I can't test the script personally on the arm architecture, I am going to ask the person who have found this issue

@DrWatt
Copy link
Member Author

DrWatt commented Nov 19, 2024

Apparently RooUnfold raises the same problem using the ROOT CLI.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants