Hello everyone,
We are working on an implementation of a software to produce the output of experiment in a ROOT Tree. To this aim, we mixed FORTRAN and C++ programming to connect the current software to the new version. The software loops over all the events and for each one, takes data and writes them in a TTree contained in an output file. Then, at the end of processing on every event, it calls the Tree->Fill() method.
The problem occurred in a specific event and seems that the program crashed during the writing phase. The size of the output file is small (about 150MB), then we think that the problem is in the data. The traceback by the debugger is the following:
Traceback:
Location 0xd4d28cec
Location 0xd4d26cec
Location 0xd4d28f30
Location 0xd4d28558
Location 0xd4d27f30
Location 0xd4d55910
Location 0xd48bf764
Location 0xd48c5490
Location 0xd48a85c0
Location 0xd48a8784
Location 0xd40c41ac
Location 0xd40c9278
Offset 0x00000068 in procedure fillTTree__10TreeWriterFv, near line 1323 in file ../ref/TreeWriter.cpp
Offset 0x00000014 in procedure fillntu_, near line 24 in file ../ref/Fort2C.cpp
Offset 0x0002257c in procedure samev_, near line 6697 in file sample.f
Offset 0x00000018 in procedure sigtad_
Offset 0x0000001c in procedure uicadr_
Offset 0x000004f0 in procedure ancevt_
Offset 0x00000fdc in procedure anproc_
Offset 0x000008c8 in procedure anbgan_
Offset 0x00000544 in procedure anpars_
Offset 0x0000000c in procedure angen_pars_, near line 700 in file sample_bj.f
Offset 0x000000a4 in procedure anmain
--- End of call chain ---
I cannot figure out how find the problem, every suggestion is more than welcome.
Thanks everyone!
Could you run this under valgrind? It seems to support AIX 5.3!
Install valgrind,
build a debug build of your software and ROOT,
prepend valgrind --num-callers=50 --track-origins=yes --suppressions=$ROOTSYS/etc/valgrind-root.supp to whatever you run, e.g. valgrind --num-callers=50 --track-origins=yes --suppressions=$ROOTSYS/etc/valgrind-root.supp ./myProgram
Thanks for your reply! Unfortunately we cannot install valgrind on our machine, at least for now… Meanwhile we tried to profile the ROOT memory and process memory.
This is before the first event
It doesn’t seems that ROOT structure grow too much… and also the process memory (vsz) reach a peak of 70.74 MB. I don’t know if this information could help to understand the problem… I’ll try to convince to install valgrind!