Valgrind mesage from TKey::Create 5.23/04, x86_64

Dear rooters,
I get from valgrind the following message. I am not sure if I myself can do
something about that or if “higher authorities” need to be involved:
Cheers
Otto

Saving C_123 to: workfile.root:/                               
==27447== Syscall param write(buf) points to uninitialised byte(s)
==27447==    at 0xC72EE20: __write_nocancel (in /lib/libpthread-2.9.so)
==27447==    by 0x7A6825F: TFile::SysWrite(int, void const*, int) (TFile.cxx:2998)
==27447==    by 0x7A66748: TFile::WriteBuffer(char const*, int) (TFile.cxx:1866)  
==27447==    by 0x7A81C77: TKey::WriteFile(int, TFile*) (TKey.cxx:1270)           
==27447==    by 0x7A6AE8D: TFile::WriteFree() (TFile.cxx:1947)                    
==27447==    by 0x7A6DCE5: TFile::Close(char const*) (TFile.cxx:778)              
==27447==    by 0x56CADC6: Save2FileDialog::ExecuteSave() (Save2FileDialog.cxx:143)
==27447==    by 0x56CB9E7: Save2FileDialog::Save2FileDialog(TObject*, char const*, TRootCanvas*) (Save2FileDialog.cxx:79)                                                                                                                 
==27447==    by 0x4F27F4B: Canvas2RootFile(HTCanvas*, TGWindow*) (support.cxx:998)                                   
==27447==    by 0x4EC92C1: HandleMenus::ProcessMessage(long, long, long) (HandleMenus.cxx:815)                       
==27447==    by 0xAC0C4B5: TGFrame::HandleClientMessage(Event_t*) (TGFrame.cxx:628)                                  
==27447==    by 0xAC0CCCC: TGFrame::HandleEvent(Event_t*) (TGFrame.cxx:505)                                          
==27447==  Address 0xde897e0 is 88 bytes inside a block of size 98 alloc'd
==27447==    at 0x4C26B2C: operator new[](unsigned long) (vg_replace_malloc.c:274)
==27447==    by 0x7A84D63: TKey::Create(int, TFile*) (TKey.cxx:409)
==27447==    by 0x7A8702E: TKey::TKey(TString const&, TString const&, TClass const*, int, TDirectory*) (TKey.
==27447==    by 0x7A6AD62: TFile::WriteFree() (TFile.cxx:1934)
==27447==    by 0x7A6DCE5: TFile::Close(char const*) (TFile.cxx:778)
==27447==    by 0x56CADC6: Save2FileDialog::ExecuteSave() (Save2FileDialog.cxx:143)
==27447==    by 0x56CB9E7: Save2FileDialog::Save2FileDialog(TObject*, char const*, TRootCanvas*) (Save2FileDi:79)
==27447==    by 0x4F27F4B: Canvas2RootFile(HTCanvas*, TGWindow*) (support.cxx:998)
==27447==    by 0x4EC92C1: HandleMenus::ProcessMessage(long, long, long) (HandleMenus.cxx:815)
==27447==    by 0xAC0C4B5: TGFrame::HandleClientMessage(Event_t*) (TGFrame.cxx:628)
==27447==    by 0xAC0CCCC: TGFrame::HandleEvent(Event_t*) (TGFrame.cxx:505)
==27447==    by 0xABB29C2: TGClient::HandleEvent(Event_t*) (TGClient.cxx:778)
==27447==  Uninitialised value was created by a heap allocation
==27447==    at 0x4C26B2C: operator new[](unsigned long) (vg_replace_malloc.c:274)
==27447==    by 0x7A84D63: TKey::Create(int, TFile*) (TKey.cxx:409)
==27447==    by 0x7A8702E: TKey::TKey(TString const&, TString const&, TClass const*, int, TDirectory*) (TKey.
==27447==    by 0x7A6AD62: TFile::WriteFree() (TFile.cxx:1934)
==27447==    by 0x7A6DCE5: TFile::Close(char const*) (TFile.cxx:778)
==27447==    by 0x56CADC6: Save2FileDialog::ExecuteSave() (Save2FileDialog.cxx:143)
==27447==    by 0x56CB9E7: Save2FileDialog::Save2FileDialog(TObject*, char const*, TRootCanvas*) (Save2FileDi

Hi Otto,

You are writing an object containing an unitialized value (this could be a histogram bin or lke.

Rene

Hi Otto,

You may want to try valgrind 3.4.1 with the option --track-origins=yes

Cheers,
Philippe.