Linear Collider Forum



Home » Analysis and Reconstruction » Reconstruction » Bug in MarlinReco/PFOID/src/Histogram.cc
Bug in MarlinReco/PFOID/src/Histogram.cc [message #1765] Fri, 12 June 2009 10:20 Go to previous message
sailer
Messages: 34
Registered: February 2009
Hello Everyone,

I noticed that some of my reconstruction Jobs with Marlin crashed somewhat randomly. I finally was motivated enough to figure out why, and I think I found the problem. I hope this is the right place to post.


Running on 64 bit slc5:
gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-44)

Quote:


[ VERBOSE "MyPFOID"] WARNING!! This particle has no cluster
(no debugging symbols found)
Attaching to program: /proc/12992/exe, process 12992
(no debugging symbols found)...done.
[Thread debugging using libthread_db enabled]
[New Thread 0x2ae3d7ad2150 (LWP 12992)]
0x00000039cfc99335 in waitpid () from /lib64/libc.so.6
#1 0x00000039cfc3c2e1 in do_system () from /lib64/libc.so.6
#2 0x00002ae3d2df9476 in TUnixSystem::StackTrace ()
from /data/sailer/root/install5.22.00-patches/lib/libCore.so.5.22
#3 0x00002ae3d2df72b3 in TUnixSystem::DispatchSignals ()
from /data/sailer/root/install5.22.00-patches/lib/libCore.so.5.22
#4 <signal handler called>
#5 0x00002ae3d8bf5e53 in Histogram::GetNormContent ()
from /afs/cern.ch/eng/clic/work/sailer/sl5/ilcsoft/v01-06/MarlinR eco/HEAD/lib/libMarlinReco.so
#6 0x00002ae3d8bf9d64 in PDF::GetLikelihood ()
from /afs/cern.ch/eng/clic/work/sailer/sl5/ilcsoft/v01-06/MarlinR eco/HEAD/lib/libMarlinReco.so
#7 0x00002ae3d8c01f4b in PFOID::processEvent ()
from /afs/cern.ch/eng/clic/work/sailer/sl5/ilcsoft/v01-06/MarlinR eco/HEAD/lib/libMarlinReco.so
#8 0x00002ae3d274f57a in marlin::ProcessorMgr::processEvent ()
from /afs/cern.ch/eng/clic/work/sailer/sl5/ilcsoft/v01-06/Marlin/ v00-10-04/lib/libMarlin.so.0.10
#9 0x00002ae3d1600f39 in SIO::SIOReader::readStream ()
from /afs/cern.ch/eng/clic/work/sailer/sl5/ilcsoft/v01-06/lcio/v0 1-11/lib/liblcio.so.1.11
#10 0x00002ae3d15ff032 in SIO::SIOReader::readStream ()
from /afs/cern.ch/eng/clic/work/sailer/sl5/ilcsoft/v01-06/lcio/v0 1-11/lib/liblcio.so.1.11
#11 0x0000000000406f6d in main ()
The program is running. Quit anyway (and detach it)? (y or n) [answered Y; input not from terminal]
Detaching from program: /proc/12992/exe, process 12992






in MarlinReco/v00-15/PFOID/src/Histogram.cc

in Function Histogram::GetNormContent(VObject *VO)

there is:
  if (mind>totNoOfBins-1)
    mind = totNoOfBins-1;


But if totNoOfBins == 0, then this will cause mind to be become negative, the output said mind = -806020496
which crashed then in this line
 double result = content[mind]/norm;


When I added these lines
  if (mind < 0) {
    mind = 0;
  }


The Segmentation violation did not happen anymore, but I have no idea what the function is doing, so there probably should be a better way to solve this issue?

I hope I explained well enough, what I think the problem is...

Cheers,
André

 
Read Message
Read Message
Read Message
Read Message
Previous Topic:collection not in event:TPCSpacePointCollection
Next Topic:Problem with Marlin
Goto Forum:
  


Current Time: Wed Aug 15 15:56:22 Pacific Daylight Time 2018
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.1.
Copyright ©2001-2010 FUDforum Bulletin Board Software