Re: segmentation violations with 5.30.00

From: Philippe Canal <pcanal_at_fnal.gov>
Date: Wed, 6 Jul 2011 15:13:17 -0500


Hi Thiemo,

Thanks for reporting this problem. It has been fixed in the trunk and the v5-30 patch branch.

Cheers,
Philippe.

On 7/6/11 11:46 AM, Thiemo Nagel wrote:
> 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)
>
>
>
Received on Wed Jul 06 2011 - 22:13:36 CEST

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