Details
-
Type:
Bug
-
Status: Closed (View Workflow)
-
Priority:
High
-
Resolution: Fixed
-
Affects Version/s: master, 6.18/04, 6.20/02
-
Fix Version/s: 6.22/00
-
Component/s: RDataFrame
-
Labels:None
-
Environment:
any
Description
Minimal reproducer:
#include <ROOT/RDataFrame.hxx>
|
#include <iostream>
|
|
int main() |
{
|
ROOT::RDataFrame df(10);
|
df.Filter("true"); |
std::cout << "starting evt loop" << std::endl; |
df.Count().GetValue();
|
|
return 0; |
}
|
Crashes with:
===========================================================
|
#8 0x0000000000000000 in ?? ()
|
#9 0x00007f8cfd5e0bde in std::default_delete<ROOT::Detail::RDF::RFilterBase>::operator() (this=0x55ba4c5d7c00, __ptr=0x55ba4e019e90) at /usr/include/c++/8/bits/unique_ptr.h:81
|
#10 0x00007f8cfd5e0c7b in std::unique_ptr<ROOT::Detail::RDF::RFilterBase, std::default_delete<ROOT::Detail::RDF::RFilterBase> >::reset (this=0x55ba4c5d7c00, __p=0x55ba4e019e90) at /usr/include/c++/8/bits/unique_ptr.h:382
|
#11 0x00007f8cfd5e0ad4 in std::unique_ptr<ROOT::Detail::RDF::RFilterBase, std::default_delete<ROOT::Detail::RDF::RFilterBase> >::operator= (this=0x55ba4c5d7c00, __u=...) at /usr/include/c++/8/bits/unique_ptr.h:289
|
#12 0x00007f8cfd5e00fc in ROOT::Detail::RDF::RJittedFilter::SetFilter (this=0x55ba4c5d7b40, f=std::unique_ptr<class ROOT::Detail::RDF::RFilterBase> = {...}) at /home/eguiraud/ROOT/root/tree/dataframe/src/RJittedFilter.cxx:23
|
#13 0x00007f8cf807a302 in ?? ()
|
#14 0x0000000000000000 in ?? ()
|
===========================================================
|
It's probably a use after delete.