Re: segmentation violations with 5.30.00

From: Thiemo Nagel <thiemo.nagel_at_tum.de>
Date: Wed, 6 Jul 2011 18:46:28 +0200


Dear Philippe,

I've traced the issue to a broken root file. Whenever the file has been opened, the program will crash on exit, cf. valgrind output below.

Cheers,
Thiemo

Warning in <TFile::Init>: file [...] probably not closed, trying to recover Warning in <TFile::Init>: no keys recovered, file has been made a Zombie

==22987== Invalid read of size 1
==22987== at 0x5F63E5A: TList::Delete(char const*) (in
/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x5F0AAFB: TROOT::~TROOT() (in
/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x6C91687: __cxa_finalize (cxa_finalize.c:56)
==22987== by 0x5EB5643: ??? (in

/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x634E57F: ??? (in

/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x400E225: _dl_fini (dl-fini.c:248)
==22987== by 0x6C912BE: __run_exit_handlers (exit.c:78)
==22987== by 0x6C9132E: exit (exit.c:100)
==22987== by 0x805473F: main (in

/nfs/hicran/project/compass/analysis/tnagel/working-phast.7.108/phast)
==22987== Address 0x7504ac3 is 11 bytes inside a block of size 544 free'd
==22987== at 0x4023881: operator delete(void*) (vg_replace_malloc.c:387)
==22987== by 0x5F11DAF: TStorage::ObjectDealloc(void*) (in
/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x5EEC447: TObject::operator delete(void*) (in
/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x5ACDA85: TFile::~TFile() (in
/usr/local/root/root_v5.30.00/lib/libRIO.so.5.30)
==22987== by 0x5ACF518: TFile::Open(char const*, char const*, char
const*, int, int) (in /usr/local/root/root_v5.30.00/lib/libRIO.so.5.30)
==22987== by 0x415FF18: Phast::OpenInTree(std::string) (in
/nfs/hicran/project/compass/analysis/tnagel/working-phast.7.108/lib/libPhast.so)
==22987== by 0x8059D36: main (in

/nfs/hicran/project/compass/analysis/tnagel/working-phast.7.108/phast)
==22987==
==22987== Invalid read of size 4
==22987== at 0x5F5CFAB: TCollection::GarbageCollect(TObject*) (in
/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x5F63E2F: TList::Delete(char const*) (in
/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x5F0AAFB: TROOT::~TROOT() (in
/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x6C91687: __cxa_finalize (cxa_finalize.c:56)
==22987== by 0x5EB5643: ??? (in

/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x634E57F: ??? (in

/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x400E225: _dl_fini (dl-fini.c:248)
==22987== by 0x6C912BE: __run_exit_handlers (exit.c:78)
==22987== by 0x6C9132E: exit (exit.c:100)
==22987== by 0x805473F: main (in

/nfs/hicran/project/compass/analysis/tnagel/working-phast.7.108/phast)
==22987== Address 0x7504ab8 is 0 bytes inside a block of size 544 free'd
==22987== at 0x4023881: operator delete(void*) (vg_replace_malloc.c:387)
==22987== by 0x5F11DAF: TStorage::ObjectDealloc(void*) (in
/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x5EEC447: TObject::operator delete(void*) (in
/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x5ACDA85: TFile::~TFile() (in
/usr/local/root/root_v5.30.00/lib/libRIO.so.5.30)
==22987== by 0x5ACF518: TFile::Open(char const*, char const*, char
const*, int, int) (in /usr/local/root/root_v5.30.00/lib/libRIO.so.5.30)
==22987== by 0x415FF18: Phast::OpenInTree(std::string) (in
/nfs/hicran/project/compass/analysis/tnagel/working-phast.7.108/lib/libPhast.so)
==22987== by 0x8059D36: main (in

/nfs/hicran/project/compass/analysis/tnagel/working-phast.7.108/phast)
==22987==
==22987== Invalid write of size 4
==22987== at 0x5EED19F: TObject::~TObject() (in
/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x5F5CFB2: TCollection::GarbageCollect(TObject*) (in
/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x5F63E2F: TList::Delete(char const*) (in
/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x5F0AAFB: TROOT::~TROOT() (in
/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x6C91687: __cxa_finalize (cxa_finalize.c:56)
==22987== by 0x5EB5643: ??? (in

/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x634E57F: ??? (in

/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x400E225: _dl_fini (dl-fini.c:248)
==22987== by 0x6C912BE: __run_exit_handlers (exit.c:78)
==22987== by 0x6C9132E: exit (exit.c:100)
==22987== by 0x805473F: main (in

/nfs/hicran/project/compass/analysis/tnagel/working-phast.7.108/phast)
==22987== Address 0x7504ab8 is 0 bytes inside a block of size 544 free'd
==22987== at 0x4023881: operator delete(void*) (vg_replace_malloc.c:387)
==22987== by 0x5F11DAF: TStorage::ObjectDealloc(void*) (in
/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x5EEC447: TObject::operator delete(void*) (in
/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x5ACDA85: TFile::~TFile() (in
/usr/local/root/root_v5.30.00/lib/libRIO.so.5.30)
==22987== by 0x5ACF518: TFile::Open(char const*, char const*, char
const*, int, int) (in /usr/local/root/root_v5.30.00/lib/libRIO.so.5.30)
==22987== by 0x415FF18: Phast::OpenInTree(std::string) (in
/nfs/hicran/project/compass/analysis/tnagel/working-phast.7.108/lib/libPhast.so)
==22987== by 0x8059D36: main (in

/nfs/hicran/project/compass/analysis/tnagel/working-phast.7.108/phast)
==22987==
==22987== Invalid read of size 4
==22987== at 0x5EED1FC: TObject::~TObject() (in
/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x5F5CFB2: TCollection::GarbageCollect(TObject*) (in
/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x5F63E2F: TList::Delete(char const*) (in
/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x5F0AAFB: TROOT::~TROOT() (in
/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x6C91687: __cxa_finalize (cxa_finalize.c:56)
==22987== by 0x5EB5643: ??? (in

/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x634E57F: ??? (in

/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x400E225: _dl_fini (dl-fini.c:248)
==22987== by 0x6C912BE: __run_exit_handlers (exit.c:78)
==22987== by 0x6C9132E: exit (exit.c:100)
==22987== by 0x805473F: main (in

/nfs/hicran/project/compass/analysis/tnagel/working-phast.7.108/phast)
==22987== Address 0x7504ac0 is 8 bytes inside a block of size 544 free'd
==22987== at 0x4023881: operator delete(void*) (vg_replace_malloc.c:387)
==22987== by 0x5F11DAF: TStorage::ObjectDealloc(void*) (in
/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x5EEC447: TObject::operator delete(void*) (in
/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x5ACDA85: TFile::~TFile() (in
/usr/local/root/root_v5.30.00/lib/libRIO.so.5.30)
==22987== by 0x5ACF518: TFile::Open(char const*, char const*, char
const*, int, int) (in /usr/local/root/root_v5.30.00/lib/libRIO.so.5.30)
==22987== by 0x415FF18: Phast::OpenInTree(std::string) (in
/nfs/hicran/project/compass/analysis/tnagel/working-phast.7.108/lib/libPhast.so)
==22987== by 0x8059D36: main (in

/nfs/hicran/project/compass/analysis/tnagel/working-phast.7.108/phast)
==22987==
==22987== Invalid write of size 4
==22987== at 0x5EED1C5: TObject::~TObject() (in
/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x5F5CFB2: TCollection::GarbageCollect(TObject*) (in
/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x5F63E2F: TList::Delete(char const*) (in
/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x5F0AAFB: TROOT::~TROOT() (in
/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x6C91687: __cxa_finalize (cxa_finalize.c:56)
==22987== by 0x5EB5643: ??? (in

/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x634E57F: ??? (in

/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x400E225: _dl_fini (dl-fini.c:248)
==22987== by 0x6C912BE: __run_exit_handlers (exit.c:78)
==22987== by 0x6C9132E: exit (exit.c:100)
==22987== by 0x805473F: main (in

/nfs/hicran/project/compass/analysis/tnagel/working-phast.7.108/phast)
==22987== Address 0x7504ac0 is 8 bytes inside a block of size 544 free'd
==22987== at 0x4023881: operator delete(void*) (vg_replace_malloc.c:387)
==22987== by 0x5F11DAF: TStorage::ObjectDealloc(void*) (in
/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x5EEC447: TObject::operator delete(void*) (in
/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x5ACDA85: TFile::~TFile() (in
/usr/local/root/root_v5.30.00/lib/libRIO.so.5.30)
==22987== by 0x5ACF518: TFile::Open(char const*, char const*, char
const*, int, int) (in /usr/local/root/root_v5.30.00/lib/libRIO.so.5.30)
==22987== by 0x415FF18: Phast::OpenInTree(std::string) (in
/nfs/hicran/project/compass/analysis/tnagel/working-phast.7.108/lib/libPhast.so)
==22987== by 0x8059D36: main (in

/nfs/hicran/project/compass/analysis/tnagel/working-phast.7.108/phast)
==22987==
==22987== Invalid free() / delete / delete[]
==22987== at 0x4023881: operator delete(void*) (vg_replace_malloc.c:387)
==22987== by 0x5F11DAF: TStorage::ObjectDealloc(void*) (in
/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x5EEC447: TObject::operator delete(void*) (in
/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x5EED1EC: TObject::~TObject() (in
/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x5F5CFB2: TCollection::GarbageCollect(TObject*) (in
/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x5F63E2F: TList::Delete(char const*) (in
/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x5F0AAFB: TROOT::~TROOT() (in
/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x6C91687: __cxa_finalize (cxa_finalize.c:56)
==22987== by 0x5EB5643: ??? (in

/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x634E57F: ??? (in

/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x400E225: _dl_fini (dl-fini.c:248)
==22987== by 0x6C912BE: __run_exit_handlers (exit.c:78)
==22987== Address 0x7504ab8 is 0 bytes inside a block of size 544 free'd
==22987== at 0x4023881: operator delete(void*) (vg_replace_malloc.c:387)
==22987== by 0x5F11DAF: TStorage::ObjectDealloc(void*) (in
/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x5EEC447: TObject::operator delete(void*) (in
/usr/local/root/root_v5.30.00/lib/libCore.so.5.30)
==22987== by 0x5ACDA85: TFile::~TFile() (in
/usr/local/root/root_v5.30.00/lib/libRIO.so.5.30)
==22987== by 0x5ACF518: TFile::Open(char const*, char const*, char
const*, int, int) (in /usr/local/root/root_v5.30.00/lib/libRIO.so.5.30)
==22987== by 0x415FF18: Phast::OpenInTree(std::string) (in
/nfs/hicran/project/compass/analysis/tnagel/working-phast.7.108/lib/libPhast.so)
==22987== by 0x8059D36: main (in

/nfs/hicran/project/compass/analysis/tnagel/working-phast.7.108/phast)
==22987==
==22987==
==22987== HEAP SUMMARY:
==22987== in use at exit: 1,785,950 bytes in 35,369 blocks
==22987== total heap usage: 63,016 allocs, 27,648 frees, 3,780,389
bytes allocated
==22987==
==22987== LEAK SUMMARY:
==22987== definitely lost: 0 bytes in 0 blocks
==22987== indirectly lost: 0 bytes in 0 blocks
==22987== possibly lost: 2,063 bytes in 47 blocks
==22987== still reachable: 1,783,887 bytes in 35,322 blocks
==22987== suppressed: 0 bytes in 0 blocks
==22987== Rerun with --leak-check=full to see details of leaked memory
==22987==
==22987== For counts of detected and suppressed errors, rerun with: -v
==22987== ERROR SUMMARY: 6 errors from 6 contexts (suppressed: 72 from 13)

-- 
+-----------------------------------+--------------------------+
| Dipl.-Phys. Thiemo Nagel          |                          |
| Technische Universitaet Muenchen  | Room    PH1 3276         |
| Physik-Department E18             |                          |
| James-Franck-Strasse              | Phone  +49 89 289-12379  |
| D-85747 Garching                  | Fax    +49 89 289-12570  |
+-----------------------------------+--------------------------+
Received on Wed Jul 06 2011 - 18:46:36 CEST

This archive was generated by hypermail 2.2.0 : Wed Jul 06 2011 - 23:50:03 CEST