User-defined function in TTree::Draw()

Currently, I have some code that manually fills a histogram. I would like to replace it with TTree::Draw() commands, so that I can more easily explore the effect of different gates. This is done using ROOT 5.34/09.

The structure stored in the TTree holds two vectors of C++ objects. The header file for the data structure is as follows.

class SubA : public TObject{
public:
  SubA() : x(0) { }
  SubA(int x) : x(x) { }
  int x;

  ClassDef(SubA, 1);
};

class SubB : public TObject{
public:
  SubB() : y(0) { }
  SubB(int y) : y(y) { }
  int y;

  ClassDef(SubB, 1);
};

class DataStructure : public TObject{
public:
  DataStructure() { }
  void Clear(){
    a.clear();
    b.clear();
  }

  std::vector<SubA> a;
  std::vector<SubB> b;

  ClassDef(DataStructure, 1);
};

An example function is then defined as follows.

int func(SubA a, SubB b){
  return a.x * 10 + b.y;
}

The LinkDef.h for the class structure and the function is as follows.

#ifdef __CINT__
#pragma link off all globals;
#pragma link off all classes;
#pragma link off all functions;

#pragma link C++ class DataStructure+;
#pragma link C++ class SubA+;
#pragma link C++ class std::vector<SubA>+;
#pragma link C++ class SubB+;
#pragma link C++ class std::vector<SubB>+;

#pragma link C++ function func;
#endif

The plotting code that I want to replicate loops over both of the vectors, calls a function for each pair, and fills the histogram with the result. This code is as follows.

DataStructure* data = new DataStructure;
ttree->SetBranchAddress("data", &data);

TH1F* hist = new TH1F("hist","hist",100,0,100);

for(int i=0; i<ttree->GetEntries(); i++){
  data->Clear();
  ttree->GetEntry(i);

  for(int ai=0; ai<data->a.size(); ai++){
    for(int bi=0; bi<data->b.size(); bi++){
      double value = func(data->a[ai], data->b[bi]);
      hist->Fill(value);
    }
  }
}

This works, and generates the expected histogram. Now, I try to make the same histogram using TTree::Draw().

gSystem->AddDynamicPath("bin");
gSystem->Load("libAnalysis");
ttree->Draw("func(a,b)>>hist(100,0,100)");

This causes a segfault with the following error message.

 *** Break *** segmentation violation



===========================================================
There was a crash.
This is the entire stack trace of all threads:
===========================================================
#0  0x00007f30f540b06e in __libc_waitpid (pid=<optimized out>, stat_loc=0x7fffe27fa2ac, options=<optimized out>) at ../sysdeps/unix/sysv/linux/waitpid.c:32
#1  0x00007f30f539f989 in do_system (line=<optimized out>) at ../sysdeps/posix/system.c:149
#2  0x00007f30f737e4ec in TUnixSystem::StackTrace() () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.
34.09/lib/libCore.so.5
#3  0x00007f30f7380b53 in TUnixSystem::DispatchSignals(ESignals) () from /mnt/misc/sw/x86_64/Debian/
7/root/gnu/5.34.09/lib/libCore.so.5
#4  <signal handler called>
#5  0x00007f30f739fd68 in TObject::TObject(TObject const&) () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5
#6  0x00007f30f2480c35 in SubB (this=0x7fffe27fcaf0) at include/DataStructure.hh:17
#7  G__Dictionary__0_1433 (result7=0x3262220, funcname=<optimized out>, libp=0x32622d0, hash=<optimi
zed out>) at build/Dictionary.cc:1719
#8  0x00007f30f66d7c5f in Cint::G__CallFunc::Execute(void*) () from /mnt/misc/sw/x86_64/Debian/7/roo
t/gnu/5.34.09/lib/libCint.so.5
#9  0x00007f30f73634a1 in TCint::CallFunc_ExecDouble(void*, void*) const () from /mnt/misc/sw/x86_64
/Debian/7/root/gnu/5.34.09/lib/libCore.so.5
#10 0x00007f30f736eebe in TMethodCall::Execute(void*, double&) () from /mnt/misc/sw/x86_64/Debian/7/
root/gnu/5.34.09/lib/libCore.so.5
#11 0x00007f30ed7368b1 in TTreeFormula::EvalInstance(int, char const**) [clone .part.49] () from /mn
t/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libTreePlayer.so
#12 0x00007f30ed74514a in TSelectorDraw::ProcessFillMultiple(long long) () from /mnt/misc/sw/x86_64/
Debian/7/root/gnu/5.34.09/lib/libTreePlayer.so
#13 0x00007f30ed707b5f in TTreePlayer::Process(TSelector*, char const*, long long, long long) () fro
m /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libTreePlayer.so
#14 0x00007f30ed70c432 in TTreePlayer::DrawSelect(char const*, char const*, char const*, long long,
long long) () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libTreePlayer.so
#15 0x00007f30f71166cb in G__G__Base2_10_0_15(G__value*, char const*, G__param*, int) () from /mnt/m
isc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5
#16 0x00007f30f65c1ae7 in Cint::G__ExceptionWrapper(int (*)(G__value*, char const*, G__param*, int), G__value*, char*, G__param*, int) () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCint
.so.5
#17 0x00007f30f6621301 in G__execute_call () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/
libCint.so.5
#18 0x00007f30f66216ce in G__call_cppfunc () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCint.so.5
#19 0x00007f30f656ae39 in G__interpret_func () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCint.so.5
#20 0x00007f30f65ad1f4 in G__getfunction () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCint.so.5
#21 0x00007f30f65ece6c in G__getstructmem(int, G__FastAllocString&, char*, int, char*, int*, G__var_array*, int) () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCint.so.5
#22 0x00007f30f65e5ceb in G__getvariable () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCint.so.5
#23 0x00007f30f66be67d in G__getitem () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCint.so.5
#24 0x00007f30f66bef68 in G__getitem () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCint.so.5
#25 0x00007f30f66c535a in G__getexpr () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCint.so.5
#26 0x00007f30f65b922e in G__exec_statement () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCint.so.5
#27 0x00007f30f660304b in G__exec_tempfile_core () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCint.so.5
#28 0x00007f30f66045ae in G__exec_tempfile_fp () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCint.so.5
#29 0x00007f30f65cf61d in G__process_cmd () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCint.so.5
#30 0x00007f30f736aa91 in TCint::ProcessLine(char const*, TInterpreter::EErrorCode*) () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5
#31 0x00007f30f73e79b2 in TApplication::ProcessLine(char const*, bool, int*) () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5
#32 0x00007f30f5eb1439 in TRint::HandleTermInput() () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libRint.so.5
#33 0x00007f30f737fcbd in TUnixSystem::CheckDescriptors() () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5
#34 0x00007f30f7381288 in TUnixSystem::DispatchOneEvent(bool) () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5
#35 0x00007f30f73d5c76 in TSystem::InnerLoop() () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5
#36 0x00007f30f73d7724 in TSystem::Run() () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5
#37 0x00007f30f73e5d0f in TApplication::Run(bool) () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5
#38 0x00007f30f5eb2127 in TRint::Run(bool) () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libRint.so.5
#39 0x000000000040113c in main ()
===========================================================


The lines below might hint at the cause of the crash.
If they do not help you then please submit a bug 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  0x00007f30f739fd68 in TObject::TObject(TObject const&) () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5
#6  0x00007f30f2480c35 in SubB (this=0x7fffe27fcaf0) at include/DataStructure.hh:17
#7  G__Dictionary__0_1433 (result7=0x3262220, funcname=<optimized out>, libp=0x32622d0, hash=<optimized out>) at build/Dictionary.cc:1719
===========================================================


Root >

Is there a way to reproduce this histogram using the TTree::Draw() functionality, and if so, how would I do so?

Unfortunately there is not (afaik). TTree::Draw uses TFormula syntax, and the decoding of this mini-language is hardwired. It only provides TMath:: functions, std::cmath functions, and a few special functions like Length$. You can use the ternary operator in the expression though, so it is still surprisingly flexible.

root.cern.ch/root/html/TFormula.html

Now I do wonder if with ROOT6 is more flexible. I did read that TFormula was completely reworked for ROOT6, since it uses an actual compiler on your C++ code instead of just interpreting with CINT. I’ll have to let the real experts answer that.

Thank you. I know that it is possible to add some user-defined functions. For example, if I define “func_int” as follows

int func_int(int x){
  return 5*x;
}

And add an appropriate line in my LinkDef.h,

#pragma link C++ function func_int;

Then I can use “func_int” from inside a TTree::Draw() command. So far, I’ve had issues when the argument being passed to the function is a user-defined C++ object.

Hi,

Usually TTreeFormula is only able to call (any) functions that take numerical arguments and can not call function taking object as parameters (so I am bit surprising that it even started …).

Can you run the failing example with valgrind?

Cheers,
Philippe.

Sure. The results of “valgrind -v” are as follows.

[code]valgrind -v root -b -q -n open.C
==37691== Memcheck, a memory error detector
==37691== Copyright © 2002-2011, and GNU GPL’d, by Julian Seward et al.
==37691== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
==37691== Command: root -b -q -n open.C
==37691==
–37691-- Valgrind options:
–37691-- --suppressions=/usr/lib/valgrind/debian-libc6-dbg.supp
–37691-- -v
–37691-- Contents of /proc/version:
–37691-- Linux version 3.2.0-4-amd64 (debian-kernel@lists.debian.org) (gcc version 4.6.3 (Debian 4.6.3-14) ) #1 SMP Debian 3.2.65-1+deb7u1
–37691-- Arch and hwcaps: AMD64, amd64-sse3-cx16-lzcnt
–37691-- Page sizes: currently 4096, max supported 4096
–37691-- Valgrind library directory: /usr/lib/valgrind
–37691-- Reading syms from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/bin/root (0x400000)
–37691-- Reading syms from /lib/x86_64-linux-gnu/ld-2.13.so (0x4000000)
–37691-- Considering /lib/x86_64-linux-gnu/ld-2.13.so …
–37691-- … CRC mismatch (computed 12479f05 wanted 3b27f9dd)
–37691-- Considering /usr/lib/debug/lib/x86_64-linux-gnu/ld-2.13.so …
–37691-- … CRC is valid
–37691-- Reading syms from /usr/lib/valgrind/memcheck-amd64-linux (0x38000000)
–37691-- Considering /usr/lib/valgrind/memcheck-amd64-linux …
–37691-- … CRC mismatch (computed 917e6694 wanted d604052d)
–37691-- Considering /usr/lib/debug/usr/lib/valgrind/memcheck-amd64-linux …
–37691-- … CRC is valid
–37691-- object doesn’t have a dynamic symbol table
–37691-- Reading suppressions file: /usr/lib/valgrind/debian-libc6-dbg.supp
–37691-- Reading suppressions file: /usr/lib/valgrind/default.supp
==37691== embedded gdbserver: reading from /tmp/vgdb-pipe-from-vgdb-to-37691-by-lunderbe-on-walnut
==37691== embedded gdbserver: writing to /tmp/vgdb-pipe-to-vgdb-from-37691-by-lunderbe-on-walnut
==37691== embedded gdbserver: shared mem /tmp/vgdb-pipe-shared-mem-vgdb-37691-by-lunderbe-on-walnut
==37691==
==37691== TO CONTROL THIS PROCESS USING vgdb (which you probably
==37691== don’t want to do, unless you know exactly what you’re doing,
==37691== or are doing some strange experiment):
==37691== /usr/lib/valgrind/…/…/bin/vgdb --pid=37691 …command…
==37691==
==37691== TO DEBUG THIS PROCESS USING GDB: start GDB like this
==37691== /path/to/gdb root
==37691== and then give GDB the following command
==37691== target remote | /usr/lib/valgrind/…/…/bin/vgdb --pid=37691
==37691== --pid is optional if only one valgrind process is running
==37691==
–37691-- REDIR: 0x40169d0 (strlen) redirected to 0x38061d67 (vgPlain_amd64_linux_REDIR_FOR_strlen)
–37691-- Reading syms from /usr/lib/valgrind/vgpreload_core-amd64-linux.so (0x4a22000)
–37691-- Considering /usr/lib/valgrind/vgpreload_core-amd64-linux.so …
–37691-- … CRC mismatch (computed 2439aefb wanted 12795d6b)
–37691-- Considering /usr/lib/debug/usr/lib/valgrind/vgpreload_core-amd64-linux.so …
–37691-- … CRC is valid
–37691-- Reading syms from /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so (0x4c24000)
–37691-- Considering /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so …
–37691-- … CRC mismatch (computed 765bf264 wanted b7bd9c2d)
–37691-- Considering /usr/lib/debug/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so …
–37691-- … CRC is valid
–37691-- REDIR: 0x4016840 (index) redirected to 0x4c29180 (index)
–37691-- REDIR: 0x40168c0 (strcmp) redirected to 0x4c2a0a0 (strcmp)
–37691-- Reading syms from /usr/lib/x86_64-linux-gnu/libSM.so.6.0.1 (0x4e2f000)
–37691-- Considering /usr/lib/x86_64-linux-gnu/libSM.so.6.0.1 …
–37691-- … CRC mismatch (computed 27743227 wanted c7b58103)
–37691-- object doesn’t have a symbol table
–37691-- Reading syms from /usr/lib/x86_64-linux-gnu/libICE.so.6.3.0 (0x5036000)
–37691-- Considering /usr/lib/x86_64-linux-gnu/libICE.so.6.3.0 …
–37691-- … CRC mismatch (computed fe2795ba wanted 4fd34042)
–37691-- object doesn’t have a symbol table
–37691-- Reading syms from /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0 (0x5251000)
–37691-- Considering /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0 …
–37691-- … CRC mismatch (computed a96a16b8 wanted 63ad54ec)
–37691-- object doesn’t have a symbol table
–37691-- Reading syms from /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0 (0x558c000)
–37691-- Considering /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0 …
–37691-- … CRC mismatch (computed 9b3f1027 wanted 70df10a3)
–37691-- object doesn’t have a symbol table
–37691-- Reading syms from /usr/lib/x86_64-linux-gnu/libXpm.so.4.11.0 (0x579e000)
–37691-- Considering /usr/lib/x86_64-linux-gnu/libXpm.so.4.11.0 …
–37691-- … CRC mismatch (computed 1a6788c5 wanted 6c67534e)
–37691-- object doesn’t have a symbol table
–37691-- Reading syms from /usr/lib/x86_64-linux-gnu/libXft.so.2.3.1 (0x59af000)
–37691-- Considering /usr/lib/x86_64-linux-gnu/libXft.so.2.3.1 …
–37691-- … CRC mismatch (computed 10266397 wanted 32d1813e)
–37691-- object doesn’t have a symbol table
–37691-- Reading syms from /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.17 (0x5bc4000)
–37691-- Considering /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.17 …
–37691-- … CRC mismatch (computed 2e90e449 wanted 202ea9e2)
–37691-- object doesn’t have a symbol table
–37691-- Reading syms from /lib/x86_64-linux-gnu/libm-2.13.so (0x5ecb000)
–37691-- Considering /lib/x86_64-linux-gnu/libm-2.13.so …
–37691-- … CRC mismatch (computed 6b2119a9 wanted be67ca0f)
–37691-- Considering /usr/lib/debug/lib/x86_64-linux-gnu/libm-2.13.so …
–37691-- … CRC is valid
–37691-- Reading syms from /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x614d000)
–37691-- Considering /lib/x86_64-linux-gnu/libgcc_s.so.1 …
–37691-- … CRC mismatch (computed f44ca19e wanted 240e89d2)
–37691-- object doesn’t have a symbol table
–37691-- Reading syms from /lib/x86_64-linux-gnu/libc-2.13.so (0x6363000)
–37691-- Considering /lib/x86_64-linux-gnu/libc-2.13.so …
–37691-- … CRC mismatch (computed a647c898 wanted 882b2ada)
–37691-- Considering /usr/lib/debug/lib/x86_64-linux-gnu/libc-2.13.so …
–37691-- … CRC is valid
–37691-- Reading syms from /lib/x86_64-linux-gnu/libuuid.so.1.3.0 (0x66ee000)
–37691-- object doesn’t have a symbol table
–37691-- Reading syms from /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0 (0x68f3000)
–37691-- object doesn’t have a symbol table
–37691-- Reading syms from /lib/x86_64-linux-gnu/libdl-2.13.so (0x6b13000)
–37691-- Considering /lib/x86_64-linux-gnu/libdl-2.13.so …
–37691-- … CRC mismatch (computed 98235dc1 wanted 72c11600)
–37691-- Considering /usr/lib/debug/lib/x86_64-linux-gnu/libdl-2.13.so …
–37691-- … CRC is valid
–37691-- Reading syms from /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.5.0 (0x6d17000)
–37691-- object doesn’t have a symbol table
–37691-- Reading syms from /usr/lib/x86_64-linux-gnu/libfreetype.so.6.8.1 (0x6f4e000)
–37691-- object doesn’t have a symbol table
–37691-- Reading syms from /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0 (0x71ed000)
–37691-- Considering /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0 …
–37691-- … CRC mismatch (computed 827fd510 wanted 1e6b5559)
–37691-- object doesn’t have a symbol table
–37691-- Reading syms from /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0 (0x73f6000)
–37691-- Considering /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0 …
–37691-- … CRC mismatch (computed e86b3e46 wanted 75c26269)
–37691-- object doesn’t have a symbol table
–37691-- Reading syms from /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0 (0x75f9000)
–37691-- Considering /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0 …
–37691-- … CRC mismatch (computed 7cfb68c6 wanted 3087afd9)
–37691-- object doesn’t have a symbol table
–37691-- Reading syms from /lib/x86_64-linux-gnu/libz.so.1.2.7 (0x77fe000)
–37691-- Considering /lib/x86_64-linux-gnu/libz.so.1.2.7 …
–37691-- … CRC mismatch (computed 57f46862 wanted 0646fc34)
–37691-- object doesn’t have a symbol table
–37691-- Reading syms from /lib/x86_64-linux-gnu/libexpat.so.1.6.0 (0x7a15000)
–37691-- object doesn’t have a symbol table
–37691-- REDIR: 0x63e6800 (strcasecmp) redirected to 0x4a22750 (_vgnU_ifunc_wrapper)
–37691-- REDIR: 0x63e8ac0 (strncasecmp) redirected to 0x4a22750 (_vgnU_ifunc_wrapper)
–37691-- REDIR: 0x63e4860 (__GI_strrchr) redirected to 0x4c28fa0 (__GI_strrchr)
–37691-- REDIR: 0x63e2d40 (strlen) redirected to 0x4a22750 (_vgnU_ifunc_wrapper)
–37691-- REDIR: 0x63e2d80 (__GI_strlen) redirected to 0x4c29500 (__GI_strlen)
–37691-- REDIR: 0x63e4fe0 (bcmp) redirected to 0x4a22750 (_vgnU_ifunc_wrapper)
–37691-- REDIR: 0x63e5010 (__GI_memcmp) redirected to 0x4c2b0b0 (bcmp)
–37691-- REDIR: 0x63ec5b0 (strchrnul) redirected to 0x4c2b7d0 (strchrnul)
–37691-- REDIR: 0x5c28060 (operator new(unsigned long)) redirected to 0x4c28680 (operator new(unsigned long))
–37691-- REDIR: 0x63eb190 (memcpy) redirected to 0x4a22750 (_vgnU_ifunc_wrapper)
–37691-- REDIR: 0x63eb1e0 (__GI_memcpy) redirected to 0x4c2a620 (memcpy)
–37691-- REDIR: 0x5c28170 (operator new[](unsigned long)) redirected to 0x4c280e0 (operator new[](unsigned long))
–37691-- REDIR: 0x63e4830 (rindex) redirected to 0x4a22750 (_vgnU_ifunc_wrapper)
–37691-- REDIR: 0x63991c0 (putenv) redirected to 0x4c2be70 (putenv)
–37691-- REDIR: 0x63e1280 (__GI_strchr) redirected to 0x4c29080 (__GI_strchr)
–37691-- REDIR: 0x63e2e60 (strnlen) redirected to 0x4c29480 (strnlen)
–37691-- REDIR: 0x63e2fb0 (__GI_strncmp) redirected to 0x4c299d0 (__GI_strncmp)
–37691-- REDIR: 0x5c263a0 (operator delete) redirected to 0x4c27550 (operator delete)
==37695== embedded gdbserver: reading from /tmp/vgdb-pipe-from-vgdb-to-37695-by-lunderbe-on-walnut
==37695== embedded gdbserver: writing to /tmp/vgdb-pipe-to-vgdb-from-37695-by-lunderbe-on-walnut
==37695== embedded gdbserver: shared mem /tmp/vgdb-pipe-shared-mem-vgdb-37695-by-lunderbe-on-walnut
==37695==
==37695== TO CONTROL THIS PROCESS USING vgdb (which you probably
==37695== don’t want to do, unless you know exactly what you’re doing,
==37695== or are doing some strange experiment):
==37695== /usr/lib/valgrind/…/…/bin/vgdb --pid=37695 …command…
==37695==
==37695== TO DEBUG THIS PROCESS USING GDB: start GDB like this
==37695== /path/to/gdb root
==37695== and then give GDB the following command
==37695== target remote | /usr/lib/valgrind/…/…/bin/vgdb --pid=37695
==37695== --pid is optional if only one valgrind process is running
==37695==


  •                                     *
    
  •    W E L C O M E  to  R O O T       *
    
  •                                     *
    
  • Version 5.34/09 26 June 2013 *
  •                                     *
    
  • You are welcome to visit our Web site *
  •      http://root.cern.ch            *
    
  •                                     *
    

ROOT 5.34/09 (v5-34-09@v5-34-09, Jun 26 2013, 17:10:36 on linuxx8664gcc)

CINT/ROOT C/C++ Interpreter version 5.18.00, July 2, 2010
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.

Processing open.C…
Info in TCanvas::MakeDefCanvas: created default TCanvas with name c1

*** Break *** segmentation violation

===========================================================
There was a crash.
This is the entire stack trace of all threads:

#0 0x00002afa55d1b06e in __libc_waitpid (pid=, stat_loc=0x7fff0ac9fd2c, options=) at …/sysdeps/unix/sysv/linux/waitpid.c:32
#1 0x00002afa55caf989 in do_system (line=) at …/sysdeps/posix/system.c:149
#2 0x00002afa540264ec in TUnixSystem::StackTrace() () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5
#3 0x00002afa54028b53 in TUnixSystem::DispatchSignals(ESignals) () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5
#4
#5 0x00002afa54047d68 in TObject::TObject(TObject const&) () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5
#6 0x00002afa56f92365 in SubB (this=0x7fff0aca2580) at include/DataStructure.hh:17
#7 G__Dictionary__0_1433 (result7=0x156b710, funcname=, libp=0x156b7c0, hash=) at build/Dictionary.cc:1781
#8 0x00002afa54687c5f in Cint::G__CallFunc::Execute(void*) () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCint.so.5
#9 0x00002afa5400b4a1 in TCint::CallFunc_ExecDouble(void*, void*) const () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5
#10 0x00002afa54016ebe in TMethodCall::Execute(void*, double&) () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5
#11 0x00002afa5a2868b1 in TTreeFormula::EvalInstance(int, char const**) [clone .part.49] () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libTreePlayer.so
#12 0x00002afa5a29514a in TSelectorDraw::ProcessFillMultiple(long long) () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libTreePlayer.so
#13 0x00002afa5a257b5f in TTreePlayer::Process(TSelector*, char const*, long long, long long) () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libTreePlayer.so
#14 0x00002afa5a25c432 in TTreePlayer::DrawSelect(char const*, char const*, char const*, long long, long long) () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libTreePlayer.so
#15 0x00002afa53dbe6cb in G__G__Base2_10_0_15(G__value*, char const*, G__param*, int) () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5
#16 0x00002afa54571ae7 in Cint::G__ExceptionWrapper(int ()(G__value, char const*, G__param*, int), G__value*, char*, G__param*, int) () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCint.so.5
#17 0x00002afa545d1301 in G__execute_call () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCint.so.5
#18 0x00002afa545d16ce in G__call_cppfunc () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCint.so.5
#19 0x00002afa5451ae39 in G__interpret_func () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCint.so.5
#20 0x00002afa5455d1f4 in G__getfunction () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCint.so.5
#21 0x00002afa5459ce6c in G__getstructmem(int, G__FastAllocString&, char*, int, char*, int*, G__var_array*, int) () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCint.so.5
#22 0x00002afa54595ceb in G__getvariable () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCint.so.5
#23 0x00002afa5466e67d in G__getitem () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCint.so.5
#24 0x00002afa5467535a in G__getexpr () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCint.so.5
#25 0x00002afa5456922e in G__exec_statement () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCint.so.5
#26 0x00002afa545b304b in G__exec_tempfile_core () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCint.so.5
#27 0x00002afa545b45cb in G__exec_tempfile () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCint.so.5
#28 0x00002afa54584305 in G__process_cmd () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCint.so.5
#29 0x00002afa54012a91 in TCint::ProcessLine(char const*, TInterpreter::EErrorCode*) () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5
#30 0x00002afa54090fcd in TApplication::ExecuteFile(char const*, int*, bool) () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5
#31 0x00002afa5408fd8a in TApplication::ProcessLine(char const*, bool, int*) () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5
#32 0x00002afa55291fa9 in TRint::Run(bool) () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libRint.so.5
#33 0x000000000040113c in main ()

The lines below might hint at the cause of the crash.
If they do not help you then please submit a bug 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 0x00002afa54047d68 in TObject::TObject(TObject const&) () from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5
#6 0x00002afa56f92365 in SubB (this=0x7fff0aca2580) at include/DataStructure.hh:17
#7 G__Dictionary__0_1433 (result7=0x156b710, funcname=, libp=0x156b7c0, hash=) at build/Dictionary.cc:1781

–37691-- REDIR: 0x5c26370 (operator delete(void*)) redirected to 0x4c27970 (operator delete(void*))
–37691-- REDIR: 0x63dd920 (free) redirected to 0x4c27ce0 (free)
==37691==
==37691== HEAP SUMMARY:
==37691== in use at exit: 55 bytes in 1 blocks
==37691== total heap usage: 3 allocs, 2 frees, 189 bytes allocated
==37691==
==37691== Searching for pointers to 1 not-freed blocks
==37691== Checked 320,288 bytes
==37691==
==37691== LEAK SUMMARY:
==37691== definitely lost: 0 bytes in 0 blocks
==37691== indirectly lost: 0 bytes in 0 blocks
==37691== possibly lost: 0 bytes in 0 blocks
==37691== still reachable: 55 bytes in 1 blocks
==37691== suppressed: 0 bytes in 0 blocks
==37691== Rerun with --leak-check=full to see details of leaked memory
==37691==
==37691== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 4 from 4)
–37691–
–37691-- used_suppression: 4 dl-hack3-cond-1
==37691==
==37691== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 4 from 4)
[/code]

Also, attached is a tarball of library which generates this error. Running “make” in the unpacked directory will create the shared library, create a root tree, and attempt to histogram the tree using valgrind.
user-defined_function.tar.gz (17.9 KB)

Hi,

Can you try withvalgrind -v root.exe -b -q open.CNote the extra .exe

Cheers,
Philippe.

Sure. The result is as follows.

[code]==13866== Memcheck, a memory error detector
==13866== Copyright © 2002-2011, and GNU GPL’d, by Julian Seward et al.
==13866== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
==13866== Command: root.exe -b -q -n open.C
==13866==
–13866-- Valgrind options:
–13866-- --suppressions=/usr/lib/valgrind/debian-libc6-dbg.supp
–13866-- -v
–13866-- Contents of /proc/version:
–13866-- Linux version 3.2.0-4-amd64 (debian-kernel@lists.debian.org) (gcc version 4.6.3 (Debian 4.6.3-14) ) #1 SMP Debian 3.2.65-1+deb7u1
–13866-- Arch and hwcaps: AMD64, amd64-sse3-cx16-lzcnt
–13866-- Page sizes: currently 4096, max supported 4096
–13866-- Valgrind library directory: /usr/lib/valgrind
–13866-- Reading syms from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/bin/root.exe (0x400000)
–13866-- Reading syms from /lib/x86_64-linux-gnu/ld-2.13.so (0x4000000)
–13866-- Considering /lib/x86_64-linux-gnu/ld-2.13.so …
–13866-- … CRC mismatch (computed 12479f05 wanted 3b27f9dd)
–13866-- Considering /usr/lib/debug/lib/x86_64-linux-gnu/ld-2.13.so …
–13866-- … CRC is valid
–13866-- Reading syms from /usr/lib/valgrind/memcheck-amd64-linux (0x38000000)
–13866-- Considering /usr/lib/valgrind/memcheck-amd64-linux …
–13866-- … CRC mismatch (computed 917e6694 wanted d604052d)
–13866-- Considering /usr/lib/debug/usr/lib/valgrind/memcheck-amd64-linux …
–13866-- … CRC is valid
–13866-- object doesn’t have a dynamic symbol table
–13866-- Reading suppressions file: /usr/lib/valgrind/debian-libc6-dbg.supp
–13866-- Reading suppressions file: /usr/lib/valgrind/default.supp
==13866== embedded gdbserver: reading from /tmp/vgdb-pipe-from-vgdb-to-13866-by-lunderbe-on-walnut
==13866== embedded gdbserver: writing to /tmp/vgdb-pipe-to-vgdb-from-13866-by-lunderbe-on-walnut
==13866== embedded gdbserver: shared mem /tmp/vgdb-pipe-shared-mem-vgdb-13866-by-lunderbe-on-walnut
==13866==
==13866== TO CONTROL THIS PROCESS USING vgdb (which you probably
==13866== don’t want to do, unless you know exactly what you’re doing,
==13866== or are doing some strange experiment):
==13866== /usr/lib/valgrind/…/…/bin/vgdb --pid=13866 …command…
==13866==
==13866== TO DEBUG THIS PROCESS USING GDB: start GDB like this
==13866== /path/to/gdb root.exe
==13866== and then give GDB the following command
==13866== target remote | /usr/lib/valgrind/…/…/bin/vgdb --pid=13866
==13866== --pid is optional if only one valgrind process is running
==13866==
–13866-- REDIR: 0x40169d0 (strlen) redirected to 0x38061d67 (vgPlain_amd64_linux_REDIR_FOR_strlen)
–13866-- Reading syms from /usr/lib/valgrind/vgpreload_core-amd64-linux.so (0x4a22000)
–13866-- Considering /usr/lib/valgrind/vgpreload_core-amd64-linux.so …
–13866-- … CRC mismatch (computed 2439aefb wanted 12795d6b)
–13866-- Considering /usr/lib/debug/usr/lib/valgrind/vgpreload_core-amd64-linux.so …
–13866-- … CRC is valid
–13866-- Reading syms from /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so (0x4c24000)
–13866-- Considering /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so …
–13866-- … CRC mismatch (computed 765bf264 wanted b7bd9c2d)
–13866-- Considering /usr/lib/debug/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so …
–13866-- … CRC is valid
–13866-- REDIR: 0x4016840 (index) redirected to 0x4c29180 (index)
–13866-- REDIR: 0x40168c0 (strcmp) redirected to 0x4c2a0a0 (strcmp)
–13866-- Reading syms from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09 (0x4e2f000)
–13866-- Reading syms from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCint.so.5.34.09 (0x57b1000)
–13866-- Reading syms from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libMathCore.so.5.34.09 (0x612c000)
–13866-- Reading syms from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libRint.so.5.34.09 (0x656b000)
–13866-- Reading syms from /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.17 (0x679b000)
–13866-- Considering /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.17 …
–13866-- … CRC mismatch (computed 2e90e449 wanted 202ea9e2)
–13866-- object doesn’t have a symbol table
–13866-- Reading syms from /lib/x86_64-linux-gnu/libm-2.13.so (0x6aa2000)
–13866-- Considering /lib/x86_64-linux-gnu/libm-2.13.so …
–13866-- … CRC mismatch (computed 6b2119a9 wanted be67ca0f)
–13866-- Considering /usr/lib/debug/lib/x86_64-linux-gnu/libm-2.13.so …
–13866-- … CRC is valid
–13866-- Reading syms from /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x6d24000)
–13866-- Considering /lib/x86_64-linux-gnu/libgcc_s.so.1 …
–13866-- … CRC mismatch (computed f44ca19e wanted 240e89d2)
–13866-- object doesn’t have a symbol table
–13866-- Reading syms from /lib/x86_64-linux-gnu/libc-2.13.so (0x6f3a000)
–13866-- Considering /lib/x86_64-linux-gnu/libc-2.13.so …
–13866-- … CRC mismatch (computed a647c898 wanted 882b2ada)
–13866-- Considering /usr/lib/debug/lib/x86_64-linux-gnu/libc-2.13.so …
–13866-- … CRC is valid
–13866-- Reading syms from /lib/x86_64-linux-gnu/libpcre.so.3.13.1 (0x72c5000)
–13866-- Considering /lib/x86_64-linux-gnu/libpcre.so.3.13.1 …
–13866-- … CRC mismatch (computed f5974496 wanted 19f35889)
–13866-- object doesn’t have a symbol table
–13866-- Reading syms from /lib/x86_64-linux-gnu/libz.so.1.2.7 (0x7502000)
–13866-- Considering /lib/x86_64-linux-gnu/libz.so.1.2.7 …
–13866-- … CRC mismatch (computed 57f46862 wanted 0646fc34)
–13866-- object doesn’t have a symbol table
–13866-- Reading syms from /lib/x86_64-linux-gnu/libdl-2.13.so (0x7719000)
–13866-- Considering /lib/x86_64-linux-gnu/libdl-2.13.so …
–13866-- … CRC mismatch (computed 98235dc1 wanted 72c11600)
–13866-- Considering /usr/lib/debug/lib/x86_64-linux-gnu/libdl-2.13.so …
–13866-- … CRC is valid
–13866-- Reading syms from /lib/x86_64-linux-gnu/libpthread-2.13.so (0x791d000)
–13866-- Considering /lib/x86_64-linux-gnu/libpthread-2.13.so …
–13866-- … CRC mismatch (computed e5e40290 wanted 8df396bc)
–13866-- Considering /usr/lib/debug/lib/x86_64-linux-gnu/libpthread-2.13.so …
–13866-- … CRC is valid
–13866-- REDIR: 0x6fbd800 (strcasecmp) redirected to 0x4a22750 (_vgnU_ifunc_wrapper)
–13866-- REDIR: 0x6fbfac0 (strncasecmp) redirected to 0x4a22750 (_vgnU_ifunc_wrapper)
–13866-- REDIR: 0x6fbbfe0 (bcmp) redirected to 0x4a22750 (_vgnU_ifunc_wrapper)
–13866-- REDIR: 0x6fc2190 (memcpy) redirected to 0x4a22750 (_vgnU_ifunc_wrapper)
–13866-- REDIR: 0x6fbc410 (memmove) redirected to 0x4a22750 (_vgnU_ifunc_wrapper)
–13866-- REDIR: 0x6fbc600 (memset) redirected to 0x4a22750 (_vgnU_ifunc_wrapper)
–13866-- REDIR: 0x6fb9790 (strcpy) redirected to 0x4a22750 (_vgnU_ifunc_wrapper)
–13866-- REDIR: 0x6fb9d40 (strlen) redirected to 0x4a22750 (_vgnU_ifunc_wrapper)
–13866-- REDIR: 0x6fbb830 (rindex) redirected to 0x4a22750 (_vgnU_ifunc_wrapper)
–13866-- REDIR: 0x6fc7350 (strstr) redirected to 0x4a22750 (_vgnU_ifunc_wrapper)
–13866-- REDIR: 0x6fbb860 (__GI_strrchr) redirected to 0x4c28fa0 (__GI_strrchr)
–13866-- REDIR: 0x6fb9d80 (__GI_strlen) redirected to 0x4c29500 (__GI_strlen)
–13866-- REDIR: 0x67ff170 (operator new[](unsigned long)) redirected to 0x4c280e0 (operator new[](unsigned long))
–13866-- REDIR: 0x6fc21e0 (__GI_memcpy) redirected to 0x4c2a620 (memcpy)
–13866-- REDIR: 0x6fb8300 (strcmp) redirected to 0x4a22750 (_vgnU_ifunc_wrapper)
–13866-- REDIR: 0x6fb8340 (__GI_strcmp) redirected to 0x4c2a050 (__GI_strcmp)
–13866-- REDIR: 0x67ff060 (operator new(unsigned long)) redirected to 0x4c28680 (operator new(unsigned long))
–13866-- REDIR: 0x6fc6d00 (__memset_x86_64) redirected to 0x4c2b490 (memset)
–13866-- REDIR: 0x6fbc460 (__GI_memmove) redirected to 0x4c2b530 (memmove)
–13866-- REDIR: 0x67fd370 (operator delete(void*)) redirected to 0x4c27970 (operator delete(void*))
–13866-- REDIR: 0x6fb9f70 (strncmp) redirected to 0x4a22750 (_vgnU_ifunc_wrapper)
–13866-- REDIR: 0x6fb9fb0 (__GI_strncmp) redirected to 0x4c299d0 (__GI_strncmp)
–13866-- REDIR: 0x6fb8250 (index) redirected to 0x4a22750 (_vgnU_ifunc_wrapper)
–13866-- REDIR: 0x6fb8280 (__GI_strchr) redirected to 0x4c29080 (__GI_strchr)
–13866-- REDIR: 0x6fb97c0 (__GI_strcpy) redirected to 0x4c295f0 (__GI_strcpy)
–13866-- REDIR: 0x6fbc010 (__GI_memcmp) redirected to 0x4c2b0b0 (bcmp)
–13866-- REDIR: 0x6fb3f50 (calloc) redirected to 0x4c27200 (calloc)
–13866-- REDIR: 0x6fb4a00 (malloc) redirected to 0x4c28b80 (malloc)
–13866-- REDIR: 0x6fb4920 (free) redirected to 0x4c27ce0 (free)
–13866-- REDIR: 0x6fc7790 (__GI_strstr) redirected to 0x4c2bbd0 (strstr)
–13866-- REDIR: 0xffffffffff600000 (???) redirected to 0x38061d53 (vgPlain_amd64_linux_REDIR_FOR_vgettimeofday)
–13866-- REDIR: 0x6f70850 (setenv) redirected to 0x4c2bfb0 (setenv)
–13866-- REDIR: 0x67fd3a0 (operator delete) redirected to 0x4c27550 (operator delete)
–13866-- REDIR: 0x6fbbf60 (memchr) redirected to 0x4c2a140 (memchr)
–13866-- REDIR: 0x6fc35b0 (strchrnul) redirected to 0x4c2b7d0 (strchrnul)
–13866-- REDIR: 0x6fbd6b0 (__GI_stpcpy) redirected to 0x4c2b220 (__GI_stpcpy)
–13866-- Reading syms from /lib/x86_64-linux-gnu/libnss_files-2.13.so (0x7f39000)
–13866-- Considering /lib/x86_64-linux-gnu/libnss_files-2.13.so …
–13866-- … CRC mismatch (computed 86e5f6f9 wanted 42e8d20f)
–13866-- Considering /usr/lib/debug/lib/x86_64-linux-gnu/libnss_files-2.13.so …
–13866-- … CRC is valid
–13866-- Reading syms from /lib/x86_64-linux-gnu/libnss_nis-2.13.so (0x8145000)
–13866-- Considering /lib/x86_64-linux-gnu/libnss_nis-2.13.so …
–13866-- … CRC mismatch (computed cbe5e0fb wanted 67367533)
–13866-- Considering /usr/lib/debug/lib/x86_64-linux-gnu/libnss_nis-2.13.so …
–13866-- … CRC is valid
–13866-- Reading syms from /lib/x86_64-linux-gnu/libnsl-2.13.so (0x8350000)
–13866-- Considering /lib/x86_64-linux-gnu/libnsl-2.13.so …
–13866-- … CRC mismatch (computed de3accd4 wanted 94604302)
–13866-- Considering /usr/lib/debug/lib/x86_64-linux-gnu/libnsl-2.13.so …
–13866-- … CRC is valid
–13866-- REDIR: 0x6fbb800 (strncpy) redirected to 0x4a22750 (_vgnU_ifunc_wrapper)
–13866-- REDIR: 0x6fc6c20 (__GI_strncpy) redirected to 0x4c29810 (__GI_strncpy)
–13866-- REDIR: 0x6fb5ae0 (realloc) redirected to 0x4c28c50 (realloc)
–13866-- REDIR: 0x6fb9e60 (strnlen) redirected to 0x4c29480 (strnlen)
–13866-- REDIR: 0x6fbd840 (__strcasecmp_sse2) redirected to 0x4c29a40 (strcasecmp)
–13866-- REDIR: 0x6fb8090 (strcat) redirected to 0x4c291c0 (strcat)
–13866-- REDIR: 0x6fc3560 (__GI___rawmemchr) redirected to 0x4c2b820 (__GI___rawmemchr)
–13866-- REDIR: 0x6fbfb00 (__strncasecmp_sse2) redirected to 0x4c29b20 (strncasecmp)
–13866-- REDIR: 0x6fc3530 (rawmemchr) redirected to 0x4a22750 (_vgnU_ifunc_wrapper)


  •                                     *
    
  •    W E L C O M E  to  R O O T       *
    
  •                                     *
    
  • Version 5.34/09 26 June 2013 *
  •                                     *
    
  • You are welcome to visit our Web site *
  •      http://root.cern.ch            *
    
  •                                     *
    

ROOT 5.34/09 (v5-34-09@v5-34-09, Jun 26 2013, 17:10:36 on linuxx8664gcc)

CINT/ROOT C/C++ Interpreter version 5.18.00, July 2, 2010
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.
–13866-- REDIR: 0x6fbbc90 (strspn) redirected to 0x4a22750 (_vgnU_ifunc_wrapper)
–13866-- REDIR: 0x6fbbcc0 (__GI_strspn) redirected to 0x4c2bd30 (strspn)
–13866-- REDIR: 0x6fb9ed0 (strncat) redirected to 0x4c29380 (strncat)

Processing open.C…
–13866-- Reading syms from /user/lunderbe/root_tests/user-defined_function/bin/libAnalysis.so (0x9568000)
–13866-- REDIR: 0x40178d0 (stpcpy) redirected to 0x4c2b3c0 (stpcpy)
–13866-- Reading syms from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libRIO.so.5.34.09 (0x978c000)
–13866-- Reading syms from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libThread.so.5.34.09 (0x9c7b000)
–13866-- REDIR: 0xffffffffff600400 (???) redirected to 0x38061d5d (vgPlain_amd64_linux_REDIR_FOR_vtime)
–13866-- REDIR: 0x6fbb900 (strpbrk) redirected to 0x4a22750 (_vgnU_ifunc_wrapper)
–13866-- REDIR: 0x6fbb930 (__GI_strpbrk) redirected to 0x4c2bc50 (strpbrk)
–13866-- Reading syms from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libNet.so.5.34.09 (0xa6c3000)
–13866-- Reading syms from /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 (0xaa15000)
–13866-- Considering /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 …
–13866-- … CRC mismatch (computed 2af2b885 wanted 1f5ded67)
–13866-- object doesn’t have a symbol table
–13866-- Reading syms from /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0xac75000)
–13866-- Considering /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 …
–13866-- … CRC mismatch (computed 38c57ae2 wanted 5f6ea7a1)
–13866-- object doesn’t have a symbol table
–13866-- Reading syms from /lib/x86_64-linux-gnu/libcrypt-2.13.so (0xb06d000)
–13866-- Considering /lib/x86_64-linux-gnu/libcrypt-2.13.so …
–13866-- … CRC mismatch (computed 34fc376a wanted 95f78930)
–13866-- Considering /usr/lib/debug/lib/x86_64-linux-gnu/libcrypt-2.13.so …
–13866-- … CRC is valid
–13866-- Reading syms from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libTree.so.5.34.09 (0xb2a4000)
–13866-- Reading syms from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libMatrix.so.5.34.09 (0xbaac000)
–13866-- Reading syms from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libHist.so.5.34.09 (0xbede000)
–13866-- Reading syms from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libGraf.so.5.34.09 (0xc614000)
–13866-- Reading syms from /usr/lib/x86_64-linux-gnu/libfreetype.so.6.8.1 (0xc9e1000)
–13866-- object doesn’t have a symbol table
–13866-- Reading syms from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libGpad.so.5.34.09 (0xcc80000)
–13866-- Reading syms from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libGraf3d.so.5.34.09 (0xcf61000)
–13866-- Reading syms from /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libTreePlayer.so.5.34.09 (0xd26d000)
Info in TCanvas::MakeDefCanvas: created default TCanvas with name c1
==13866== Invalid read of size 4
==13866== at 0x5346D68: TObject::TObject(TObject const&) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x957A364: G__Dictionary__0_1433(G__value*, char const*, G__param*, int) (DataStructure.hh:17)
==13866== by 0x5980C5E: Cint::G__CallFunc::Execute(void*) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCint.so.5.34.09)
==13866== by 0x530A4A0: TCint::CallFunc_ExecDouble(void*, void*) const (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x5315EBD: TMethodCall::Execute(void*, double&) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0xD3B38B0: _ZN12TTreeFormula12EvalInstanceEiPPKc.part.49 (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libTreePlayer.so.5.34.09)
==13866== by 0xD3C2149: TSelectorDraw::ProcessFillMultiple(long long) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libTreePlayer.so.5.34.09)
==13866== by 0xD384B5E: TTreePlayer::Process(TSelector*, char const*, long long, long long) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libTreePlayer.so.5.34.09)
==13866== by 0xD389431: TTreePlayer::DrawSelect(char const*, char const*, char const*, long long, long long) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libTreePlayer.so.5.34.09)
==13866== by 0x50BD6CA: G__G__Base2_10_0_15(G__value*, char const*, G__param*, int) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x586AAE6: Cint::G__ExceptionWrapper(int ()(G__value, char const*, G__param*, int), G__value*, char*, G__param*, int) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCint.so.5.34.09)
==13866== by 0x58CA300: G__execute_call (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCint.so.5.34.09)
==13866== Address 0x8 is not stack’d, malloc’d or (recently) free’d
==13866==

*** Break *** segmentation violation
#0 0x00000000380d84ed in ?? ()
#1 0x0000000000000008 in ?? ()
#2 0x0000000403175e10 in ?? ()
#3 0x0000000403175dd0 in ?? ()
#4 0x00000000391c8c40 in ?? ()
#5 0x000000000000003d in ?? ()
#6 0x00000000000000b0 in ?? ()
#7 0x0000000039587440 in ?? ()
#8 0x000000000000003d in ?? ()
#9 0x0000000000000001 in ?? ()
#10 0x00000000391c8c30 in ?? ()
#11 0x00000000395873b0 in ?? ()
#12 0x0000000038090b40 in ?? ()
#13 0x000000003808d750 in ?? ()
#14 0x000000003808e8a9 in ?? ()
#15 0x000000003809e44a in ?? ()
#16 0x0000000000000000 in ?? ()
==13866== Invalid read of size 8
==13866== at 0x53326A3: TDirectory::RegisterContext(TDirectory::TContext*) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x98BBB67: TDirectoryFile::Save() (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libRIO.so.5.34.09)
==13866== by 0x98BA908: TDirectoryFile::Close(char const*) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libRIO.so.5.34.09)
==13866== by 0x99D13E0: TFile::Close(char const*) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libRIO.so.5.34.09)
==13866== by 0x536516F: (anonymous namespace)::R__ListSlowClose(TList*) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x5366006: TROOT::CloseFiles() (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x532144D: TUnixSystem::Exit(int, bool) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x6584E0E: TRint::Run(bool) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libRint.so.5.34.09)
==13866== by 0x40113B: main (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/bin/root.exe)
==13866== Address 0x7fefeaf00 is not stack’d, malloc’d or (recently) free’d
==13866==
==13866== Invalid write of size 8
==13866== at 0x53326AC: TDirectory::RegisterContext(TDirectory::TContext*) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x98BBB67: TDirectoryFile::Save() (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libRIO.so.5.34.09)
==13866== by 0x98BA908: TDirectoryFile::Close(char const*) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libRIO.so.5.34.09)
==13866== by 0x99D13E0: TFile::Close(char const*) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libRIO.so.5.34.09)
==13866== by 0x536516F: (anonymous namespace)::R__ListSlowClose(TList*) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x5366006: TROOT::CloseFiles() (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x532144D: TUnixSystem::Exit(int, bool) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x6584E0E: TRint::Run(bool) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libRint.so.5.34.09)
==13866== by 0x40113B: main (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/bin/root.exe)
==13866== Address 0x7fefeaf00 is not stack’d, malloc’d or (recently) free’d
==13866==
==13866== Invalid write of size 8
==13866== at 0x53326D7: TDirectory::UnregisterContext(TDirectory::TContext*) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x98BBBBF: TDirectoryFile::Save() (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libRIO.so.5.34.09)
==13866== by 0x98BA908: TDirectoryFile::Close(char const*) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libRIO.so.5.34.09)
==13866== by 0x99D13E0: TFile::Close(char const*) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libRIO.so.5.34.09)
==13866== by 0x536516F: (anonymous namespace)::R__ListSlowClose(TList*) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x5366006: TROOT::CloseFiles() (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x532144D: TUnixSystem::Exit(int, bool) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x6584E0E: TRint::Run(bool) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libRint.so.5.34.09)
==13866== by 0x40113B: main (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/bin/root.exe)
==13866== Address 0x7fefeaf00 is not stack’d, malloc’d or (recently) free’d
==13866==
==13866== Invalid write of size 8
==13866== at 0x5331BA0: TDirectory::CleanTargets() (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x99D13E0: TFile::Close(char const*) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libRIO.so.5.34.09)
==13866== by 0x536516F: (anonymous namespace)::R__ListSlowClose(TList*) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x5366006: TROOT::CloseFiles() (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x532144D: TUnixSystem::Exit(int, bool) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x6584E0E: TRint::Run(bool) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libRint.so.5.34.09)
==13866== by 0x40113B: main (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/bin/root.exe)
==13866== Address 0x7fefeaef0 is not stack’d, malloc’d or (recently) free’d
==13866==
==13866== Invalid read of size 8
==13866== at 0x5331BA7: TDirectory::CleanTargets() (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x99D13E0: TFile::Close(char const*) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libRIO.so.5.34.09)
==13866== by 0x536516F: (anonymous namespace)::R__ListSlowClose(TList*) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x5366006: TROOT::CloseFiles() (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x532144D: TUnixSystem::Exit(int, bool) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x6584E0E: TRint::Run(bool) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libRint.so.5.34.09)
==13866== by 0x40113B: main (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/bin/root.exe)
==13866== Address 0x7fefeaf00 is not stack’d, malloc’d or (recently) free’d
==13866==
–13866-- Discarding syms at 0x8147070-0x814d208 in /lib/x86_64-linux-gnu/libnss_nis-2.13.so due to munmap()
–13866-- Discarding syms at 0x7f3b180-0x7f42148 in /lib/x86_64-linux-gnu/libnss_files-2.13.so due to munmap()
–13866-- Discarding syms at 0x8354020-0x835fc48 in /lib/x86_64-linux-gnu/libnsl-2.13.so due to munmap()
==13866==
==13866== HEAP SUMMARY:
==13866== in use at exit: 7,743,992 bytes in 85,948 blocks
==13866== total heap usage: 267,224 allocs, 181,276 frees, 35,508,503 bytes allocated
==13866==
==13866== Searching for pointers to 85,948 not-freed blocks
==13866== Checked 13,824,664 bytes
==13866==
==13866== LEAK SUMMARY:
==13866== definitely lost: 119,097 bytes in 71 blocks
==13866== indirectly lost: 512 bytes in 1 blocks
==13866== possibly lost: 14,411 bytes in 185 blocks
==13866== still reachable: 7,609,972 bytes in 85,691 blocks
==13866== suppressed: 0 bytes in 0 blocks
==13866== Rerun with --leak-check=full to see details of leaked memory
==13866==
==13866== ERROR SUMMARY: 6 errors from 6 contexts (suppressed: 4 from 4)
==13866==
==13866== 1 errors in context 1 of 6:
==13866== Invalid read of size 8
==13866== at 0x5331BA7: TDirectory::CleanTargets() (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x99D13E0: TFile::Close(char const*) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libRIO.so.5.34.09)
==13866== by 0x536516F: (anonymous namespace)::R__ListSlowClose(TList*) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x5366006: TROOT::CloseFiles() (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x532144D: TUnixSystem::Exit(int, bool) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x6584E0E: TRint::Run(bool) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libRint.so.5.34.09)
==13866== by 0x40113B: main (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/bin/root.exe)
==13866== Address 0x7fefeaf00 is not stack’d, malloc’d or (recently) free’d
==13866==
==13866==
==13866== 1 errors in context 2 of 6:
==13866== Invalid write of size 8
==13866== at 0x5331BA0: TDirectory::CleanTargets() (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x99D13E0: TFile::Close(char const*) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libRIO.so.5.34.09)
==13866== by 0x536516F: (anonymous namespace)::R__ListSlowClose(TList*) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x5366006: TROOT::CloseFiles() (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x532144D: TUnixSystem::Exit(int, bool) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x6584E0E: TRint::Run(bool) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libRint.so.5.34.09)
==13866== by 0x40113B: main (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/bin/root.exe)
==13866== Address 0x7fefeaef0 is not stack’d, malloc’d or (recently) free’d
==13866==
==13866==
==13866== 1 errors in context 3 of 6:
==13866== Invalid write of size 8
==13866== at 0x53326D7: TDirectory::UnregisterContext(TDirectory::TContext*) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x98BBBBF: TDirectoryFile::Save() (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libRIO.so.5.34.09)
==13866== by 0x98BA908: TDirectoryFile::Close(char const*) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libRIO.so.5.34.09)
==13866== by 0x99D13E0: TFile::Close(char const*) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libRIO.so.5.34.09)
==13866== by 0x536516F: (anonymous namespace)::R__ListSlowClose(TList*) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x5366006: TROOT::CloseFiles() (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x532144D: TUnixSystem::Exit(int, bool) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x6584E0E: TRint::Run(bool) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libRint.so.5.34.09)
==13866== by 0x40113B: main (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/bin/root.exe)
==13866== Address 0x7fefeaf00 is not stack’d, malloc’d or (recently) free’d
==13866==
==13866==
==13866== 1 errors in context 4 of 6:
==13866== Invalid write of size 8
==13866== at 0x53326AC: TDirectory::RegisterContext(TDirectory::TContext*) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x98BBB67: TDirectoryFile::Save() (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libRIO.so.5.34.09)
==13866== by 0x98BA908: TDirectoryFile::Close(char const*) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libRIO.so.5.34.09)
==13866== by 0x99D13E0: TFile::Close(char const*) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libRIO.so.5.34.09)
==13866== by 0x536516F: (anonymous namespace)::R__ListSlowClose(TList*) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x5366006: TROOT::CloseFiles() (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x532144D: TUnixSystem::Exit(int, bool) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x6584E0E: TRint::Run(bool) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libRint.so.5.34.09)
==13866== by 0x40113B: main (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/bin/root.exe)
==13866== Address 0x7fefeaf00 is not stack’d, malloc’d or (recently) free’d
==13866==
==13866==
==13866== 1 errors in context 5 of 6:
==13866== Invalid read of size 8
==13866== at 0x53326A3: TDirectory::RegisterContext(TDirectory::TContext*) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x98BBB67: TDirectoryFile::Save() (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libRIO.so.5.34.09)
==13866== by 0x98BA908: TDirectoryFile::Close(char const*) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libRIO.so.5.34.09)
==13866== by 0x99D13E0: TFile::Close(char const*) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libRIO.so.5.34.09)
==13866== by 0x536516F: (anonymous namespace)::R__ListSlowClose(TList*) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x5366006: TROOT::CloseFiles() (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x532144D: TUnixSystem::Exit(int, bool) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x6584E0E: TRint::Run(bool) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libRint.so.5.34.09)
==13866== by 0x40113B: main (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/bin/root.exe)
==13866== Address 0x7fefeaf00 is not stack’d, malloc’d or (recently) free’d
==13866==
==13866==
==13866== 1 errors in context 6 of 6:
==13866== Invalid read of size 4
==13866== at 0x5346D68: TObject::TObject(TObject const&) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x957A364: G__Dictionary__0_1433(G__value*, char const*, G__param*, int) (DataStructure.hh:17)
==13866== by 0x5980C5E: Cint::G__CallFunc::Execute(void*) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCint.so.5.34.09)
==13866== by 0x530A4A0: TCint::CallFunc_ExecDouble(void*, void*) const (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x5315EBD: TMethodCall::Execute(void*, double&) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0xD3B38B0: _ZN12TTreeFormula12EvalInstanceEiPPKc.part.49 (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libTreePlayer.so.5.34.09)
==13866== by 0xD3C2149: TSelectorDraw::ProcessFillMultiple(long long) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libTreePlayer.so.5.34.09)
==13866== by 0xD384B5E: TTreePlayer::Process(TSelector*, char const*, long long, long long) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libTreePlayer.so.5.34.09)
==13866== by 0xD389431: TTreePlayer::DrawSelect(char const*, char const*, char const*, long long, long long) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libTreePlayer.so.5.34.09)
==13866== by 0x50BD6CA: G__G__Base2_10_0_15(G__value*, char const*, G__param*, int) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCore.so.5.34.09)
==13866== by 0x586AAE6: Cint::G__ExceptionWrapper(int ()(G__value, char const*, G__param*, int), G__value*, char*, G__param*, int) (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCint.so.5.34.09)
==13866== by 0x58CA300: G__execute_call (in /mnt/misc/sw/x86_64/Debian/7/root/gnu/5.34.09/lib/libCint.so.5.34.09)
==13866== Address 0x8 is not stack’d, malloc’d or (recently) free’d
==13866==
–13866–
–13866-- used_suppression: 4 dl-hack3-cond-1
==13866==
==13866== ERROR SUMMARY: 6 errors from 6 contexts (suppressed: 4 from 4)
[/code]