RE: Problem with the TTree::Draw member function producing a TEventList

From: Rafael Arco Arredondo <Rafael.Arco.Arredondo_at_cern.ch>
Date: Fri, 23 Sep 2005 18:00:08 +0200


The output of the program is the following one: ALU
site == "ALU"
BMC
site == "BMC"
FIA
site == "FIA"
HEP
site == "HEP"
JNR
site == "JNR"
LNF
site == "LNF"
MIC
site == "MIC"
MPI
site == "MPI"
PAV
site == "PAV"
RM1
site == "RM1"
THE
site == "THE"
WAS
site == "WAS"
Segmentation fault

And when you debug the program with Valgrind you get this:

==18299== Memcheck, a memory error detector for x86-linux.
==18299== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al.
==18299== Using valgrind-2.4.1, a program supervision framework for x86-linux.
==18299== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al.
==18299== For more details, rerun with: -v
==18299==

ALU
site == "ALU"
BMC
site == "BMC"
==18299== Invalid read of size 4
==18299== at 0x1C7822E0: TEventList::Enter(int) (in /afs/cern.ch/sw/root/v4.04.02/slc3_gcc3.2.3/root/lib/libTree.so)
==18299== by 0x1E49CFC8: TSelectorDraw::TakeAction() (in /afs/cern.ch/sw/root/v4.04.02/slc3_gcc3.2.3/root/lib/libTreePlayer.so)
==18299== by 0x1E49C6EC: TSelectorDraw::ProcessFill(long long) (in /afs/cern.ch/sw/root/v4.04.02/slc3_gcc3.2.3/root/lib/libTreePlayer.so)
==18299== by 0x1E4B99F7: TTreePlayer::Process(TSelector*, char const*, long long, long long) (in /afs/cern.ch/sw/root/v4.04.02/slc3_gcc3.2.3/root/lib/libTreePlayer.so)
==18299== by 0x1E4B39D7: TTreePlayer::DrawSelect(char const*, char const*, char const*, long long, long long) (in /afs/cern.ch/sw/root/v4.04.02/slc3_gcc3.2.3/root/lib/libTreePlayer.so)
==18299== by 0x1C792FCE: TTree::Draw(char const*, char const*, char const*, long long, long long) (in /afs/cern.ch/sw/root/v4.04.02/slc3_gcc3.2.3/root/lib/libTree.so)
==18299== by 0x80497A7: twoDimPlotPoutre(TTree*, char (*) [4], unsigned, char*, char*, char*, char*) (graphicsScan.C:145)
==18299== by 0x804E351: main (graphicsScan.C:1991)
==18299== Address 0x1E60A7AC is 4 bytes before a block of size 4000 alloc'd
==18299== at 0x1B9038F6: operator new[](unsigned) (vg_replace_malloc.c:138)
==18299== by 0x1C7822C2: TEventList::Enter(int) (in /afs/cern.ch/sw/root/v4.04.02/slc3_gcc3.2.3/root/lib/libTree.so)
==18299== by 0x1E49CFC8: TSelectorDraw::TakeAction() (in /afs/cern.ch/sw/root/v4.04.02/slc3_gcc3.2.3/root/lib/libTreePlayer.so)
==18299== by 0x1E49C6EC: TSelectorDraw::ProcessFill(long long) (in /afs/cern.ch/sw/root/v4.04.02/slc3_gcc3.2.3/root/lib/libTreePlayer.so)
==18299== by 0x1E4B99F7: TTreePlayer::Process(TSelector*, char const*, long long, long long) (in /afs/cern.ch/sw/root/v4.04.02/slc3_gcc3.2.3/root/lib/libTreePlayer.so)
==18299== by 0x1E4B39D7: TTreePlayer::DrawSelect(char const*, char const*, char const*, long long, long long) (in /afs/cern.ch/sw/root/v4.04.02/slc3_gcc3.2.3/root/lib/libTreePlayer.so)
==18299== by 0x1C792FCE: TTree::Draw(char const*, char const*, char const*, long long, long long) (in /afs/cern.ch/sw/root/v4.04.02/slc3_gcc3.2.3/root/lib/libTree.so)
==18299== by 0x80497A7: twoDimPlotPoutre(TTree*, char (*) [4], unsigned, char*, char*, char*, char*) (graphicsScan.C:145)
==18299== by 0x804E351: main (graphicsScan.C:1991)
==18299==
==18299== Invalid read of size 4
==18299== at 0x1C782319: TEventList::Enter(int) (in /afs/cern.ch/sw/root/v4.04.02/slc3_gcc3.2.3/root/lib/libTree.so)
==18299== by 0x1E49CFC8: TSelectorDraw::TakeAction() (in /afs/cern.ch/sw/root/v4.04.02/slc3_gcc3.2.3/root/lib/libTreePlayer.so)
==18299== by 0x1E49C6EC: TSelectorDraw::ProcessFill(long long) (in /afs/cern.ch/sw/root/v4.04.02/slc3_gcc3.2.3/root/lib/libTreePlayer.so)
==18299== by 0x1E4B99F7: TTreePlayer::Process(TSelector*, char const*, long long, long long) (in /afs/cern.ch/sw/root/v4.04.02/slc3_gcc3.2.3/root/lib/libTreePlayer.so)
==18299== by 0x1E4B39D7: TTreePlayer::DrawSelect(char const*, char const*, char const*, long long, long long) (in /afs/cern.ch/sw/root/v4.04.02/slc3_gcc3.2.3/root/lib/libTreePlayer.so)
==18299== by 0x1C792FCE: TTree::Draw(char const*, char const*, char const*, long long, long long) (in /afs/cern.ch/sw/root/v4.04.02/slc3_gcc3.2.3/root/lib/libTree.so)
==18299== by 0x80497A7: twoDimPlotPoutre(TTree*, char (*) [4], unsigned, char*, char*, char*, char*) (graphicsScan.C:145)
==18299== by 0x804E351: main (graphicsScan.C:1991)
==18299== Address 0x1E60A7AC is 4 bytes before a block of size 4000 alloc'd
==18299== at 0x1B9038F6: operator new[](unsigned) (vg_replace_malloc.c:138)
==18299== by 0x1C7822C2: TEventList::Enter(int) (in /afs/cern.ch/sw/root/v4.04.02/slc3_gcc3.2.3/root/lib/libTree.so)
==18299== by 0x1E49CFC8: TSelectorDraw::TakeAction() (in /afs/cern.ch/sw/root/v4.04.02/slc3_gcc3.2.3/root/lib/libTreePlayer.so)
==18299== by 0x1E49C6EC: TSelectorDraw::ProcessFill(long long) (in /afs/cern.ch/sw/root/v4.04.02/slc3_gcc3.2.3/root/lib/libTreePlayer.so)
==18299== by 0x1E4B99F7: TTreePlayer::Process(TSelector*, char const*, long long, long long) (in /afs/cern.ch/sw/root/v4.04.02/slc3_gcc3.2.3/root/lib/libTreePlayer.so)
==18299== by 0x1E4B39D7: TTreePlayer::DrawSelect(char const*, char const*, char const*, long long, long long) (in /afs/cern.ch/sw/root/v4.04.02/slc3_gcc3.2.3/root/lib/libTreePlayer.so)
==18299== by 0x1C792FCE: TTree::Draw(char const*, char const*, char const*, long long, long long) (in /afs/cern.ch/sw/root/v4.04.02/slc3_gcc3.2.3/root/lib/libTree.so)
==18299== by 0x80497A7: twoDimPlotPoutre(TTree*, char (*) [4], unsigned, char*, char*, char*, char*) (graphicsScan.C:145)
==18299== by 0x804E351: main (graphicsScan.C:1991)
FIA
site == "FIA"
HEP
site == "HEP"
JNR
site == "JNR"
LNF
site == "LNF"
MIC
site == "MIC"
MPI
site == "MPI"
PAV
site == "PAV"
RM1
site == "RM1"
THE
site == "THE"
WAS
site == "WAS"
==18299==
==18299== Invalid read of size 4
==18299== at 0x804E380: main (graphicsScan.C:2017)
==18299== Address 0x53414B is on thread 1's stack
==18299== Stack overflow in thread 1: can't grow stack to 0x53414B
==18299== Can't extend stack to 0x533E30 during signal delivery for thread 1:
==18299== no stack segment
==18299==
==18299== Process terminating with default action of signal 11 (SIGSEGV): dumping core
==18299== Access not within mapped region at address 0x533E30
==18299== at 0x804E380: main (graphicsScan.C:2017)
==18299== Stack overflow in thread 1: can't grow stack to 0x534147
==18299==
==18299== Process terminating with default action of signal 11 (SIGSEGV)
==18299== Access not within mapped region at address 0x534147
==18299== at 0x1B8FD998: _vgw(float, long double,...)(...)(long double,...)(short) (vg_intercept.c:51)
==18299==
==18299== ERROR SUMMARY: 23 errors from 3 contexts (suppressed: 65 from 1)
==18299== malloc/free: in use at exit: 16636129 bytes in 35618 blocks.
==18299== malloc/free: 382024 allocs, 346406 frees, 36939963 bytes allocated.
==18299== For counts of detected errors, rerun with: -v
==18299== searching for pointers to 35618 not-freed blocks.
==18299== checked 18627564 bytes.
==18299==
==18299== LEAK SUMMARY:
==18299== definitely lost: 324635 bytes in 1222 blocks.
==18299== possibly lost: 287657 bytes in 7753 blocks.
==18299== still reachable: 16023837 bytes in 26643 blocks.
==18299== suppressed: 0 bytes in 0 blocks.
==18299== Use --leak-check=full to see details of leaked memory.
Segmentation fault

Thanks again,

Rafa

-----Original Message-----
From: Rene Brun [mailto:brun_at_pcroot.cern.ch] Sent: Fri 9/23/2005 5:43 PM
To: Rafael Arco Arredondo
Cc: roottalk_at_pcroot.cern.ch
Subject: Re: [ROOT] Problem with the TTree::Draw member function producing a TEventList  

I cannot reproduce your problem.

Could you provide the shortest possible running example showing what you get?

Rene Brun

On Fri, 23
Sep 2005, Rafael Arco Arredondo
wrote:

> Hello,
>
> I have a problem with one of the files I attach, graphicsScan.C, because
> it works on my laptop -Ubuntu Linux 2.6.10-5-686, G++ 3.3.6 and ROOT
> 4.04/02d-, but it doesn't on LXPLUS (lxplus.cern.ch) -Scientific Linux 3
> 2.4.21-32.0.1.EL.cernsmp, G++ 3.2.3 and ROOT 4.04/02 (without the 'd', I
> don't know if this is important)-, producing a segmentation fault.
>
> In particular, the problem is at line 145:
>
> tree -> Draw(">>myList", cutCommand);
>
> I would like to know where the problem is, because I think that line
> should work.
>
> There is another file which is needed to execute the program,
> scan_summary.root. It can be found at:
>
> /afs/cern.ch/user/x/xtomo/public/scan_summary.root
>
> Thanks so much in advance for your help,
>
> Rafa
>
>
Received on Fri Sep 23 2005 - 18:00:19 MEST

This archive was generated by hypermail 2.2.0 : Tue Jan 02 2007 - 14:45:12 MET