Tree with events

Hi,
I’ve been successufully using a TTree to store Event objects from Geant4 simulation. That was with root version up to 5.22 on SLC4. Now I belive I have a problem. The moment I call
event = new Event();
in Geant4 code I’m getting memory corruption:
*** glibc detected *** bin/Linux-g++/MQ: malloc(): memory corruption: 0x0000000013d22920 ***

Is the new compiler more rigoristic?
Could you please have a look if I’m not doing anything stupid in the Event.h and Event.cxx (attached).

Cheers,

Mariusz
Event.cxx (16 KB)
Event.h (11.5 KB)

As a quick test, I simply did

root > .L Event.cxx+ root > Event *e = new Event; root > e->Clear(); root > e = new Event;
and it seems to work. I cannot go further without having your test program.
My suggestion is to run under valgrind.

Rene

It is difficult to provide you with a test program. I’ll try at least to send you the valgrind output (it is a perto of it, but I guess the beginning is valid):

==13100== Invalid write of size 4
==13100== at 0x4DDEC87: TObject::TObject() (in /afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00b/x86_64-slc5-gcc43-opt/root/lib/libCore.so)
==13100== by 0x8D9A1E8: Event::Event() (in /afs/cern.ch/user/s/sapinski/MRoot2/libMRoot.so)
==13100== by 0x499C0B: RootInterface::RootInterface() (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)
==13100== by 0x499EE4: RootInterface::getInstance() (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)
==13100== by 0x464B60: MQEventAction::EndOfEventAction(G4Event const*) (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)
==13100== by 0xB7F30A8: G4EventManager::DoProcessing(G4Event*) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4event.so)
==13100== by 0xB5BC74F: G4RunManager::DoEventLoop(int, char const*, int) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4run.so)
==13100== by 0xB5BC11B: G4RunManager::BeamOn(int, char const*, int) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4run.so)
==13100== by 0xB5C0191: G4RunMessenger::SetNewValue(G4UIcommand*, G4String) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4run.so)
==13100== by 0xE71DCCB: G4UIcommand::DoIt(G4String) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4intercoms.so)
==13100== by 0xE7296D7: G4UImanager::ApplyCommand(char const*) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4intercoms.so)
==13100== by 0xA6CCC45: G4UIterminal::ExecuteCommand(G4String) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4interfaces.so)
==13100== Address 0x133fa490 is 8 bytes after a block of size 136 alloc’d
==13100== at 0x4A0666E: operator new(unsigned long) (vg_replace_malloc.c:220)
==13100== by 0x4DFD75A: TStorage::ObjectAlloc(unsigned long) (in /afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00b/x86_64-slc5-gcc43-opt/root/lib/libCore.so)
==13100== by 0x499C00: RootInterface::RootInterface() (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)
==13100== by 0x499EE4: RootInterface::getInstance() (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)
==13100== by 0x464B60: MQEventAction::EndOfEventAction(G4Event const*) (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)
==13100== by 0xB7F30A8: G4EventManager::DoProcessing(G4Event*) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4event.so)
==13100== by 0xB5BC74F: G4RunManager::DoEventLoop(int, char const*, int) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4run.so)
==13100== by 0xB5BC11B: G4RunManager::BeamOn(int, char const*, int) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4run.so)
==13100== by 0xB5C0191: G4RunMessenger::SetNewValue(G4UIcommand*, G4String) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4run.so)
==13100== by 0xE71DCCB: G4UIcommand::DoIt(G4String) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4intercoms.so)
==13100== by 0xE7296D7: G4UImanager::ApplyCommand(char const*) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4intercoms.so)
==13100== by 0xA6CCC45: G4UIterminal::ExecuteCommand(G4String) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4interfaces.so)
==13100==
==13100== Invalid write of size 4
==13100== at 0x4DDEC8E: TObject::TObject() (in /afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00b/x86_64-slc5-gcc43-opt/root/lib/libCore.so)
==13100== by 0x8D9A1E8: Event::Event() (in /afs/cern.ch/user/s/sapinski/MRoot2/libMRoot.so)
==13100== by 0x499C0B: RootInterface::RootInterface() (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)
==13100== by 0x499EE4: RootInterface::getInstance() (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)
==13100== by 0x464B60: MQEventAction::EndOfEventAction(G4Event const*) (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)
==13100== by 0xB7F30A8: G4EventManager::DoProcessing(G4Event*) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4event.so)
==13100== by 0xB5BC74F: G4RunManager::DoEventLoop(int, char const*, int) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4run.so)
==13100== by 0xB5BC11B: G4RunManager::BeamOn(int, char const*, int) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4run.so)
==13100== by 0xB5C0191: G4RunMessenger::SetNewValue(G4UIcommand*, G4String) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4run.so)
==13100== by 0xE71DCCB: G4UIcommand::DoIt(G4String) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4intercoms.so)
==13100== by 0xE7296D7: G4UImanager::ApplyCommand(char const*) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4intercoms.so)
==13100== by 0xA6CCC45: G4UIterminal::ExecuteCommand(G4String) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4interfaces.so)
==13100== Address 0x133fa494 is 12 bytes after a block of size 136 alloc’d
==13100== at 0x4A0666E: operator new(unsigned long) (vg_replace_malloc.c:220)
==13100== by 0x4DFD75A: TStorage::ObjectAlloc(unsigned long) (in /afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00b/x86_64-slc5-gcc43-opt/root/lib/libCore.so)
==13100== by 0x499C00: RootInterface::RootInterface() (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)
==13100== by 0x499EE4: RootInterface::getInstance() (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)
==13100== by 0x464B60: MQEventAction::EndOfEventAction(G4Event const*) (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)
==13100== by 0xB7F30A8: G4EventManager::DoProcessing(G4Event*) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4event.so)
==13100== by 0xB5BC74F: G4RunManager::DoEventLoop(int, char const*, int) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4run.so)
==13100== by 0xB5BC11B: G4RunManager::BeamOn(int, char const*, int) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4run.so)
==13100== by 0xB5C0191: G4RunMessenger::SetNewValue(G4UIcommand*, G4String) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4run.so)
==13100== by 0xE71DCCB: G4UIcommand::DoIt(G4String) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4intercoms.so)
==13100== by 0xE7296D7: G4UImanager::ApplyCommand(char const*) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4intercoms.so)
==13100== by 0xA6CCC45: G4UIterminal::ExecuteCommand(G4String) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4interfaces.so)
==13100==
==13100== Invalid write of size 8
==13100== at 0x4DDEC99: TObject::TObject() (in /afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00b/x86_64-slc5-gcc43-opt/root/lib/libCore.so)
==13100== by 0x8D9A1E8: Event::Event() (in /afs/cern.ch/user/s/sapinski/MRoot2/libMRoot.so)
==13100== by 0x499C0B: RootInterface::RootInterface() (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)
==13100== by 0x499EE4: RootInterface::getInstance() (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)
==13100== by 0x464B60: MQEventAction::EndOfEventAction(G4Event const*) (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)
==13100== by 0xB7F30A8: G4EventManager::DoProcessing(G4Event*) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4event.so)
==13100== by 0xB5BC74F: G4RunManager::DoEventLoop(int, char const*, int) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4run.so)
==13100== by 0xB5BC11B: G4RunManager::BeamOn(int, char const*, int) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4run.so)
==13100== by 0xB5C0191: G4RunMessenger::SetNewValue(G4UIcommand*, G4String) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4run.so)
==13100== by 0xE71DCCB: G4UIcommand::DoIt(G4String) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4intercoms.so)
==13100== by 0xE7296D7: G4UImanager::ApplyCommand(char const*) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4intercoms.so)
==13100== by 0xA6CCC45: G4UIterminal::ExecuteCommand(G4String) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4interfaces.so)
==13100== Address 0x133fa488 is 0 bytes after a block of size 136 alloc’d
==13100== at 0x4A0666E: operator new(unsigned long) (vg_replace_malloc.c:220)
==13100== by 0x4DFD75A: TStorage::ObjectAlloc(unsigned long) (in /afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00b/x86_64-slc5-gcc43-opt/root/lib/libCore.so)
==13100== by 0x499C00: RootInterface::RootInterface() (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)
==13100== by 0x499EE4: RootInterface::getInstance() (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)
==13100== by 0x464B60: MQEventAction::EndOfEventAction(G4Event const*) (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)
==13100== by 0xB7F30A8: G4EventManager::DoProcessing(G4Event*) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4event.so)
==13100== by 0xB5BC74F: G4RunManager::DoEventLoop(int, char const*, int) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4run.so)
==13100== by 0xB5BC11B: G4RunManager::BeamOn(int, char const*, int) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4run.so)
==13100== by 0xB5C0191: G4RunMessenger::SetNewValue(G4UIcommand*, G4String) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4run.so)
==13100== by 0xE71DCCB: G4UIcommand::DoIt(G4String) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4intercoms.so)
==13100== by 0xE7296D7: G4UImanager::ApplyCommand(char const*) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4intercoms.so)
==13100== by 0xA6CCC45: G4UIterminal::ExecuteCommand(G4String) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4interfaces.so)
==13100==
==13100== Invalid write of size 4
==13100== at 0x4DDECCF: TObject::TObject() (in /afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00b/x86_64-slc5-gcc43-opt/root/lib/libCore.so)
==13100== by 0x8D9A1E8: Event::Event() (in /afs/cern.ch/user/s/sapinski/MRoot2/libMRoot.so)
==13100== by 0x499C0B: RootInterface::RootInterface() (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)
==13100== by 0x499EE4: RootInterface::getInstance() (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)
==13100== by 0x464B60: MQEventAction::EndOfEventAction(G4Event const*) (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)
==13100== by 0xB7F30A8: G4EventManager::DoProcessing(G4Event*) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4event.so)
==13100== by 0xB5BC74F: G4RunManager::DoEventLoop(int, char const*, int) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4run.so)
==13100== by 0xB5BC11B: G4RunManager::BeamOn(int, char const*, int) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4run.so)
==13100== by 0xB5C0191: G4RunMessenger::SetNewValue(G4UIcommand*, G4String) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4run.so)
==13100== by 0xE71DCCB: G4UIcommand::DoIt(G4String) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4intercoms.so)
==13100== by 0xE7296D7: G4UImanager::ApplyCommand(char const*) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4intercoms.so)
==13100== by 0xA6CCC45: G4UIterminal::ExecuteCommand(G4String) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4interfaces.so)
==13100== Address 0x133fa494 is 12 bytes after a block of size 136 alloc’d
==13100== at 0x4A0666E: operator new(unsigned long) (vg_replace_malloc.c:220)
==13100== by 0x4DFD75A: TStorage::ObjectAlloc(unsigned long) (in /afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00b/x86_64-slc5-gcc43-opt/root/lib/libCore.so)
==13100== by 0x499C00: RootInterface::RootInterface() (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)
==13100== by 0x499EE4: RootInterface::getInstance() (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)
==13100== by 0x464B60: MQEventAction::EndOfEventAction(G4Event const*) (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)
==13100== by 0xB7F30A8: G4EventManager::DoProcessing(G4Event*) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4event.so)
==13100== by 0xB5BC74F: G4RunManager::DoEventLoop(int, char const*, int) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4run.so)
==13100== by 0xB5BC11B: G4RunManager::BeamOn(int, char const*, int) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4run.so)
==13100== by 0xB5C0191: G4RunMessenger::SetNewValue(G4UIcommand*, G4String) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4run.so)
==13100== by 0xE71DCCB: G4UIcommand::DoIt(G4String) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4intercoms.so)
==13100== by 0xE7296D7: G4UImanager::ApplyCommand(char const*) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4intercoms.so)
==13100== by 0xA6CCC45: G4UIterminal::ExecuteCommand(G4String) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4interfaces.so)
==13100==
==13100== Invalid write of size 8
==13100== at 0x8D9A1F4: Event::Event() (in /afs/cern.ch/user/s/sapinski/MRoot2/libMRoot.so)
==13100== by 0x499C0B: RootInterface::RootInterface() (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)
==13100== by 0x499EE4: RootInterface::getInstance() (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)
==13100== by 0x464B60: MQEventAction::EndOfEventAction(G4Event const*) (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)
==13100== by 0xB7F30A8: G4EventManager::DoProcessing(G4Event*) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4event.so)
==13100== by 0xB5BC74F: G4RunManager::DoEventLoop(int, char const*, int) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4run.so)
==13100== by 0xB5BC11B: G4RunManager::BeamOn(int, char const*, int) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4run.so)
==13100== by 0xB5C0191: G4RunMessenger::SetNewValue(G4UIcommand*, G4String) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4run.so)
==13100== by 0xE71DCCB: G4UIcommand::DoIt(G4String) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4intercoms.so)
==13100== by 0xE7296D7: G4UImanager::ApplyCommand(char const*) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4intercoms.so)
==13100== by 0xA6CCC45: G4UIterminal::ExecuteCommand(G4String) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4interfaces.so)
==13100== by 0xA6CE1CA: G4UIterminal::SessionStart() (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4interfaces.so)
==13100== Address 0x133fa498 is not stack’d, malloc’d or (recently) free’d
==13100==
==13100== Invalid write of size 8
==13100== at 0x8D9A1FF: Event::Event() (in /afs/cern.ch/user/s/sapinski/MRoot2/libMRoot.so)
==13100== by 0x499C0B: RootInterface::RootInterface() (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)
==13100== by 0x499EE4: RootInterface::getInstance() (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)
==13100== by 0x464B60: MQEventAction::EndOfEventAction(G4Event const*) (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)
==13100== by 0xB7F30A8: G4EventManager::DoProcessing(G4Event*) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4event.so)
==13100== by 0xB5BC74F: G4RunManager::DoEventLoop(int, char const*, int) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4run.so)
==13100== by 0xB5BC11B: G4RunManager::BeamOn(int, char const*, int) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4run.so)
==13100== by 0xB5C0191: G4RunMessenger::SetNewValue(G4UIcommand*, G4String) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4run.so)
==13100== by 0xE71DCCB: G4UIcommand::DoIt(G4String) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4intercoms.so)
==13100== by 0xE7296D7: G4UImanager::ApplyCommand(char const*) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4intercoms.so)
==13100== by 0xA6CCC45: G4UIterminal::ExecuteCommand(G4String) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4interfaces.so)
==13100== by 0xA6CE1CA: G4UIterminal::SessionStart() (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4interfaces.so)
==13100== Address 0x133fa488 is 0 bytes after a block of size 136 alloc’d
==13100== at 0x4A0666E: operator new(unsigned long) (vg_replace_malloc.c:220)
==13100== by 0x4DFD75A: TStorage::ObjectAlloc(unsigned long) (in /afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00b/x86_64-slc5-gcc43-opt/root/lib/libCore.so)
==13100== by 0x499C00: RootInterface::RootInterface() (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)
==13100== by 0x499EE4: RootInterface::getInstance() (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)
==13100== by 0x464B60: MQEventAction::EndOfEventAction(G4Event const*) (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)
==13100== by 0xB7F30A8: G4EventManager::DoProcessing(G4Event*) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4event.so)
==13100== by 0xB5BC74F: G4RunManager::DoEventLoop(int, char const*, int) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4run.so)
==13100== by 0xB5BC11B: G4RunManager::BeamOn(int, char const*, int) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4run.so)
==13100== by 0xB5C0191: G4RunMessenger::SetNewValue(G4UIcommand*, G4String) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4run.so)
==13100== by 0xE71DCCB: G4UIcommand::DoIt(G4String) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4intercoms.so)
==13100== by 0xE7296D7: G4UImanager::ApplyCommand(char const*) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4intercoms.so)
==13100== by 0xA6CCC45: G4UIterminal::ExecuteCommand(G4String) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4interfaces.so)
==13100==
==13100== Invalid write of size 1
==13100== at 0x8D9A267: Event::Event() (in /afs/cern.ch/user/s/sapinski/MRoot2/libMRoot.so)
==13100== by 0x499C0B: RootInterface::RootInterface() (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)
==13100== by 0x499EE4: RootInterface::getInstance() (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)
==13100== by 0x464B60: MQEventAction::EndOfEventAction(G4Event const*) (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)
==13100== by 0xB7F30A8: G4EventManager::DoProcessing(G4Event*) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4event.so)
==13100== by 0xB5BC74F: G4RunManager::DoEventLoop(int, char const*, int) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4run.so)
==13100== by 0xB5BC11B: G4RunManager::BeamOn(int, char const*, int) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4run.so)
==13100== by 0xB5C0191: G4RunMessenger::SetNewValue(G4UIcommand*, G4String) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4run.so)
==13100== by 0xE71DCCB: G4UIcommand::DoIt(G4String) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4intercoms.so)
==13100== by 0xE7296D7: G4UImanager::ApplyCommand(char const*) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4intercoms.so)
==13100== by 0xA6CCC45: G4UIterminal::ExecuteCommand(G4String) (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4interfaces.so)
==13100== by 0xA6CE1CA: G4UIterminal::SessionStart() (in /afs/cern.ch/sw/lcg/external/geant4/9.3.p02/x86_64-slc5-gcc43/lib/libG4interfaces.so)
==13100== Address 0x133fa4a0 is not stack’d, malloc’d or (recently) free’d
==13100==
event created

Hi,

I see ==13100== Invalid write of size 4 ==13100== at 0x4DDEC87: TObject::TObject() (in /afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00b/x86_64-slc5-gcc43-opt/root/lib/libCore.so) ==13100== by 0x8D9A1E8: Event::Event() (in /afs/cern.ch/user/s/sapinski/MRoot2/libMRoot.so) ==13100== by 0x499C0B: RootInterface::RootInterface() (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ) ...... ==13100== Address 0x133fa490 is 8 bytes after a block of size 136 alloc'd ==13100== at 0x4A0666E: operator new(unsigned long) (vg_replace_malloc.c:220) ==13100== by 0x4DFD75A: TStorage::ObjectAlloc(unsigned long) (in /afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00b/x86_64-slc5-gcc43-opt/root/lib/libCore.so) ==13100== by 0x499C00: RootInterface::RootInterface() (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)which look like libMRoot.so and MQ do not agree on the actual size of the Event class. I would guess that Event.h has been changed but not all the source file and library that uses have been recompile since … or they are seeing 2 very different version of the file Event.h … (I say that because the object is allocated in RootInterface::RootInterface() and immediately there after a constructor is trying to access past its end …

Cheers,
Philippe.

Hi,

  I think have actually made it working by removing all variables like:

char fType[10];
and function referring to these variables. I’m still not sure what the error really was, but since that I have no more memory leaks according to valgrind. Maybe there is something in gcc 4.3 which is more strict about these kind of variables than in gcc 3.2?

Cheers,

        Mariusz

[quote=“pcanal”]Hi,

I see ==13100== Invalid write of size 4 ==13100== at 0x4DDEC87: TObject::TObject() (in /afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00b/x86_64-slc5-gcc43-opt/root/lib/libCore.so) ==13100== by 0x8D9A1E8: Event::Event() (in /afs/cern.ch/user/s/sapinski/MRoot2/libMRoot.so) ==13100== by 0x499C0B: RootInterface::RootInterface() (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ) ...... ==13100== Address 0x133fa490 is 8 bytes after a block of size 136 alloc'd ==13100== at 0x4A0666E: operator new(unsigned long) (vg_replace_malloc.c:220) ==13100== by 0x4DFD75A: TStorage::ObjectAlloc(unsigned long) (in /afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00b/x86_64-slc5-gcc43-opt/root/lib/libCore.so) ==13100== by 0x499C00: RootInterface::RootInterface() (in /afs/cern.ch/user/s/sapinski/G4ARC/bin/Linux-g++/MQ)which look like libMRoot.so and MQ do not agree on the actual size of the Event class. I would guess that Event.h has been changed but not all the source file and library that uses have been recompile since … or they are seeing 2 very different version of the file Event.h … (I say that because the object is allocated in RootInterface::RootInterface() and immediately there after a constructor is trying to access past its end …

Cheers,
Philippe.[/quote]

[quote]Maybe there is something in gcc 4.3 which is more strict about these kind of variables than in gcc 3.2?[/quote]There should not be. It probably either depend on the way you initialize them (assuming that it is not in fact a build problem/discrepancy).

Cheers,
Philippe