Seg fault when fitting RooPolynomial

Hi root experts!

I’m having an issue with a RooPolynomial that I created. Basically I’m opening some ntuples in main(), filling some datasets, and then creating some RooPolynomials from those datasets. I then put those polynomials in a vector so they can be opened in another function, polFit(). The issue comes on line 69, where for some reason there is a seg fault. On line 68 I print out the title of the polynomial just to make sure I was accessing the right one. Attached is a running example which recreates the seg fault. If anyone could point to a possible issue, it would be much appreciated!

ROOT Version: 6.20.06
Language: C++
Compiler: gcc 8

test.C (9.5 KB)

In a first test, I was unable to reproduce the segfault. Could you paste the stack trace of the segfault, that should give us more information.

Right, sorry about that. Here is the segfault I get from my original script (SmoothedModels.C), as well as with the test.C script I included:


 *** Break *** segmentation violation



===========================================================
There was a crash.
This is the entire stack trace of all threads:
===========================================================
#0  0x00007fd0842524fc in waitpid () from /lib64/libc.so.6
#1  0x00007fd0841cffb2 in do_system () from /lib64/libc.so.6
#2  0x00007fd089d8a663 in TUnixSystem::StackTrace() () from /cvmfs/sft.cern.ch/lcg/releases/LCG_97a/ROOT/v6.20.06/x86_64-centos7-gcc8-opt/lib/libCore.so
#3  0x00007fd089d8ceb4 in TUnixSystem::DispatchSignals(ESignals) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_97a/ROOT/v6.20.06/x86_64-centos7-gcc8-opt/lib/libCore.so
#4  <signal handler called>
#5  0x00000000000000e7 in ?? ()
#6  0x00007fd085a45cef in RooPolynomial::evaluate() const () from /cvmfs/sft.cern.ch/lcg/releases/LCG_97a/ROOT/v6.20.06/x86_64-centos7-gcc8-opt/lib/libRooFit.so
#7  0x00007fd0852a0d24 in RooAbsPdf::getValV(RooArgSet const*) const () from /cvmfs/sft.cern.ch/lcg/releases/LCG_97a/ROOT/v6.20.06/x86_64-centos7-gcc8-opt/lib/libRooFitCore.so
#8  0x00007fd08541b4ff in RooRealIntegral::RooRealIntegral(char const*, char const*, RooAbsReal const&, RooArgSet const&, RooArgSet const*, RooNumIntConfig const*, char const*) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_97a/ROOT/v6.20.06/x86_64-centos7-gcc8-opt/lib/libRooFitCore.so
#9  0x00007fd0852bc320 in RooAbsReal::createIntObj(RooArgSet const&, RooArgSet const*, RooNumIntConfig const*, char const*) const () from /cvmfs/sft.cern.ch/lcg/releases/LCG_97a/ROOT/v6.20.06/x86_64-centos7-gcc8-opt/lib/libRooFitCore.so
#10 0x00007fd0852bce66 in RooAbsReal::createIntegral(RooArgSet const&, RooArgSet const*, RooNumIntConfig const*, char const*) const () from /cvmfs/sft.cern.ch/lcg/releases/LCG_97a/ROOT/v6.20.06/x86_64-centos7-gcc8-opt/lib/libRooFitCore.so
#11 0x00007fd0852a220b in RooAbsPdf::syncNormalization(RooArgSet const*, bool) const () from /cvmfs/sft.cern.ch/lcg/releases/LCG_97a/ROOT/v6.20.06/x86_64-centos7-gcc8-opt/lib/libRooFitCore.so
#12 0x00007fd0852a088e in RooAbsPdf::getValV(RooArgSet const*) const () from /cvmfs/sft.cern.ch/lcg/releases/LCG_97a/ROOT/v6.20.06/x86_64-centos7-gcc8-opt/lib/libRooFitCore.so
#13 0x00007fd085476b7b in RooVectorDataStore::cacheArgs(RooAbsArg const*, RooArgSet&, RooArgSet const*, bool) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_97a/ROOT/v6.20.06/x86_64-centos7-gcc8-opt/lib/libRooFitCore.so
#14 0x00007fd08529b429 in RooAbsOptTestStatistic::optimizeConstantTerms(bool, bool) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_97a/ROOT/v6.20.06/x86_64-centos7-gcc8-opt/lib/libRooFitCore.so
#15 0x00007fd0853b9de5 in RooMinimizer::optimizeConst(int) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_97a/ROOT/v6.20.06/x86_64-centos7-gcc8-opt/lib/libRooFitCore.so
#16 0x00007fd0852aa874 in RooAbsPdf::fitTo(RooAbsData&, RooLinkedList const&) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_97a/ROOT/v6.20.06/x86_64-centos7-gcc8-opt/lib/libRooFitCore.so
#17 0x00007fd0852a880d in RooAbsPdf::fitTo(RooAbsData&, RooCmdArg const&, RooCmdArg const&, RooCmdArg const&, RooCmdArg const&, RooCmdArg const&, RooCmdArg const&, RooCmdArg const&, RooCmdArg const&) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_97a/ROOT/v6.20.06/x86_64-centos7-gcc8-opt/lib/libRooFitCore.so
#18 0x000000000041dd10 in pol2fit(RooDataSet&, RooDataSet&, RooDataSet&, RooDataSet&, RooRealVar&, RooRealVar&, RooRealVar&, RooRealVar&, RooPolynomial&, RooPolynomial&, RooPolynomial&, RooPolynomial&, RooRealVar&, RooRealVar&, RooRealVar&, RooRealVar&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) () at /cvmfs/sft.cern.ch/lcg/releases/gcc/8.3.0-cebb0/x86_64-centos7/include/c++/8.3.0/bits/stl_vector.h:930
#19 0x000000000041234a in main () at /cvmfs/sft.cern.ch/lcg/releases/gcc/8.3.0-cebb0/x86_64-centos7/include/c++/8.3.0/bits/stl_vector.h:930
#20 0x00007fd0841af555 in __libc_start_main () from /lib64/libc.so.6
#21 0x000000000041455e in _start () at /cvmfs/sft.cern.ch/lcg/releases/gcc/8.3.0-cebb0/x86_64-centos7/include/c++/8.3.0/bits/stl_iterator.h:783
===========================================================


The lines below might hint at the cause of the crash.
You may get help by asking at the ROOT forum http://root.cern.ch/forum
Only if you are really convinced it is a bug in ROOT then please submit a
report at http://root.cern.ch/bugs Please post the ENTIRE stack trace
from above as an attachment in addition to anything else
that might help us fixing this issue.
===========================================================
#5  0x00000000000000e7 in ?? ()
#6  0x00007fd085a45cef in RooPolynomial::evaluate() const () from /cvmfs/sft.cern.ch/lcg/releases/LCG_97a/ROOT/v6.20.06/x86_64-centos7-gcc8-opt/lib/libRooFit.so
#7  0x00007fd0852a0d24 in RooAbsPdf::getValV(RooArgSet const*) const () from /cvmfs/sft.cern.ch/lcg/releases/LCG_97a/ROOT/v6.20.06/x86_64-centos7-gcc8-opt/lib/libRooFitCore.so
#8  0x00007fd08541b4ff in RooRealIntegral::RooRealIntegral(char const*, char const*, RooAbsReal const&, RooArgSet const&, RooArgSet const*, RooNumIntConfig const*, char const*) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_97a/ROOT/v6.20.06/x86_64-centos7-gcc8-opt/lib/libRooFitCore.so
#9  0x00007fd0852bc320 in RooAbsReal::createIntObj(RooArgSet const&, RooArgSet const*, RooNumIntConfig const*, char const*) const () from /cvmfs/sft.cern.ch/lcg/releases/LCG_97a/ROOT/v6.20.06/x86_64-centos7-gcc8-opt/lib/libRooFitCore.so
#10 0x00007fd0852bce66 in RooAbsReal::createIntegral(RooArgSet const&, RooArgSet const*, RooNumIntConfig const*, char const*) const () from /cvmfs/sft.cern.ch/lcg/releases/LCG_97a/ROOT/v6.20.06/x86_64-centos7-gcc8-opt/lib/libRooFitCore.so
#11 0x00007fd0852a220b in RooAbsPdf::syncNormalization(RooArgSet const*, bool) const () from /cvmfs/sft.cern.ch/lcg/releases/LCG_97a/ROOT/v6.20.06/x86_64-centos7-gcc8-opt/lib/libRooFitCore.so
#12 0x00007fd0852a088e in RooAbsPdf::getValV(RooArgSet const*) const () from /cvmfs/sft.cern.ch/lcg/releases/LCG_97a/ROOT/v6.20.06/x86_64-centos7-gcc8-opt/lib/libRooFitCore.so
#13 0x00007fd085476b7b in RooVectorDataStore::cacheArgs(RooAbsArg const*, RooArgSet&, RooArgSet const*, bool) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_97a/ROOT/v6.20.06/x86_64-centos7-gcc8-opt/lib/libRooFitCore.so
#14 0x00007fd08529b429 in RooAbsOptTestStatistic::optimizeConstantTerms(bool, bool) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_97a/ROOT/v6.20.06/x86_64-centos7-gcc8-opt/lib/libRooFitCore.so
#15 0x00007fd0853b9de5 in RooMinimizer::optimizeConst(int) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_97a/ROOT/v6.20.06/x86_64-centos7-gcc8-opt/lib/libRooFitCore.so
#16 0x00007fd0852aa874 in RooAbsPdf::fitTo(RooAbsData&, RooLinkedList const&) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_97a/ROOT/v6.20.06/x86_64-centos7-gcc8-opt/lib/libRooFitCore.so
#17 0x00007fd0852a880d in RooAbsPdf::fitTo(RooAbsData&, RooCmdArg const&, RooCmdArg const&, RooCmdArg const&, RooCmdArg const&, RooCmdArg const&, RooCmdArg const&, RooCmdArg const&, RooCmdArg const&) () from /cvmfs/sft.cern.ch/lcg/releases/LCG_97a/ROOT/v6.20.06/x86_64-centos7-gcc8-opt/lib/libRooFitCore.so
#18 0x000000000041dd10 in pol2fit(RooDataSet&, RooDataSet&, RooDataSet&, RooDataSet&, RooRealVar&, RooRealVar&, RooRealVar&, RooRealVar&, RooPolynomial&, RooPolynomial&, RooPolynomial&, RooPolynomial&, RooRealVar&, RooRealVar&, RooRealVar&, RooRealVar&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) () at /cvmfs/sft.cern.ch/lcg/releases/gcc/8.3.0-cebb0/x86_64-centos7/include/c++/8.3.0/bits/stl_vector.h:930
#19 0x000000000041234a in main () at /cvmfs/sft.cern.ch/lcg/releases/gcc/8.3.0-cebb0/x86_64-centos7/include/c++/8.3.0/bits/stl_vector.h:930
#20 0x00007fd0841af555 in __libc_start_main () from /lib64/libc.so.6
#21 0x000000000041455e in _start () at /cvmfs/sft.cern.ch/lcg/releases/gcc/8.3.0-cebb0/x86_64-centos7/include/c++/8.3.0/bits/stl_iterator.h:783
===========================================================


operator delete 0x5107170 is not in any of the pools.
*** Error in `./SmoothedModels': double free or corruption (out): 0x0000000005107170 ***
Segmentation fault (core dumped)

@jonas Can you help?

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.