Hi Marcos, Thanks for sending the gdb traceback. I believe that I understand the problem and fixed it in CVS. Could you try the CVS version? I still do not understand why the problem was not visible on the other systems. Rene Brun On Sat, 29 May 2004, Marcos Gimenez Alvarez wrote: > > I used valgrind and i got the following output, i hope it helps > > margial@margial:~$ valgrind root > ==6064== Memcheck, a.k.a. Valgrind, a memory error detector for x86-linux. > ==6064== Copyright (C) 2002-2003, and GNU GPL'd, by Julian Seward. > ==6064== Using valgrind-2.0.0, a program supervision framework for > x86-linux. > ..... > ******************************************* > * * > * W E L C O M E to R O O T * > * * > * Version 4.00/04 29 May 2004 * > * * > * You are welcome to visit our Web site * > * http://root.cern.ch * > * * > ******************************************* > > FreeType Engine v2.1.3 used to render TrueType fonts. > Compiled for linuxdeb with thread support. > > CINT/ROOT C/C++ Interpreter version 5.15.133, Apr 18 2004 > Type ? for help. Commands must be C++ statements. > Enclose multiple statements between { }. > root [0] gDebug=5 //To get more info > (const int)5 > root [1] TPostScript *ps = new TPostScript("test.ps"); > Info in <TPluginManager::FindHandler>: did not find plugin for class > TSystem and uri test.ps > root [2] TF1 f("sin(x)","sin(x)"); > root [3] f.Draw(); > <TCanvas::MakeDefCanvas>: created default TCanvas with name c1 > Info in <TPluginManager::FindHandler>: found plugin for THistPainter > Info in <TCint::AutoLoadCallback>: loaded library libHistPainter.so for > class TGraphPainter > Info in <TCint::AutoLoadCallback>: loaded library libHistPainter.so for > class TPainter3dAlgorithms > Info in <TCint::AutoLoadCallback>: loaded library libHistPainter.so for > class THistPainter > Info in <TCint::AutoLoadCallback>: loaded library libHistPainter.so for > class TPaletteAxis > Info in <TPluginManager::FindHandler>: found plugin for TUtilHist > root [4] delete ps; > root [5] .q > ==6064== > ==6064== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) > ==6064== malloc/free: in use at exit: 26 bytes in 1 blocks. > ==6064== malloc/free: 682 allocs, 681 frees, 406469 bytes allocated. > ==6064== For a detailed leak analysis, rerun with: --leak-check=yes > ==6064== For counts of detected errors, rerun with: -v > > margial@margial:~$ valgrind rootn.exe > ==6069== Memcheck, a.k.a. Valgrind, a memory error detector for x86-linux. > ==6069== Copyright (C) 2002-2003, and GNU GPL'd, by Julian Seward. > ==6069== Using valgrind-2.0.0, a program supervision framework for > x86-linux. > ...... > ******************************************* > * * > * W E L C O M E to R O O T * > * * > * Version 4.00/04 29 May 2004 * > * * > * You are welcome to visit our Web site * > * http://root.cern.ch * > * * > ******************************************* > > FreeType Engine v2.1.3 used to render TrueType fonts. > Compiled for linuxdeb with thread support. > > CINT/ROOT C/C++ Interpreter version 5.15.133, Apr 18 2004 > Type ? for help. Commands must be C++ statements. > Enclose multiple statements between { }. > root [0] gDebug=5 > (const int)5 > root [1] TPostScript *ps = new TPostScript("test.ps"); > Info in <TPluginManager::FindHandler>: did not find plugin for class > TSystem and uri test.ps > root [2] TF1 f("sin(x)","sin(x)"); > root [3] f.Draw(); > ==6069== Syscall param writev(vector[...]) contains uninitialised or > unaddressable byte(s) > ==6069== at 0x40185973: vgAllRoadsLeadToRome_writev > (vg_intercept.c:111) > ==6069== by 0x401859B0: __writev (vg_intercept.c:774) > ==6069== by 0x46DF5532: (within /usr/X11R6/lib/libX11.so.6.2) > ==6069== by 0x46DF604A: _X11TransWritev (in /usr/X11R6/lib/ > libX11.so.6.2) > ==6069== Address 0x480BF0D2 is 50 bytes inside a block of size 2048 > alloc'd > ==6069== at 0x40028074: calloc (vg_replace_malloc.c:284) > ==6069== by 0x46DCE24E: XOpenDisplay (in /usr/X11R6/lib/libX11.so.6.2) > ==6069== by 0x46CE02AF: TGX11::OpenDisplay(char const *) (in /usr/ > local/lib/root/libGX11.so) > ==6069== by 0x472C002D: TGClient::TGClient(char const *) (in /usr/ > local/lib/root/libGui.so) > <TCanvas::MakeDefCanvas>: created default TCanvas with name c1 > Info in <TPluginManager::FindHandler>: found plugin for THistPainter > Info in <TCint::AutoLoadCallback>: loaded library libHistPainter.so for > class TGraphPainter > Info in <TCint::AutoLoadCallback>: loaded library libHistPainter.so for > class TPainter3dAlgorithms > Info in <TCint::AutoLoadCallback>: loaded library libHistPainter.so for > class THistPainter > Info in <TCint::AutoLoadCallback>: loaded library libHistPainter.so for > class TPaletteAxis > ==6069== > ==6069== Invalid write of size 1 > ==6069== at 0x4002019B: strcpy (mac_replace_strmem.c:174) > ==6069== by 0x403D48D2: TVirtualPS::PrintFast(int, char const *) (in / > usr/local/lib/root/libCore.so) > ==6069== by 0x486569E1: TPostScript::MovePS(int, int) (in /usr/local/ > lib/root/libPostscript.so) > ==6069== by 0x48652F1A: TPostScript::DrawFrame(double, double, double, > double, int, int, int, int) (in /usr/local/lib/root/libPostscript.so) > ==6069== Address 0x487E409E is 0 bytes after a block of size 250 > alloc'd > ==6069== at 0x40027D88: __builtin_vec_new (vg_replace_malloc.c:203) > ==6069== by 0x403D4485: TVirtualPS::TVirtualPS(char const *, int) (in / > usr/local/lib/root/libCore.so) > ==6069== by 0x48651458: TPostScript::TPostScript(char const *, int) > (in /usr/local/lib/root/libPostscript.so) > ==6069== by 0x48663BBF: G__G__PostScript_125_2_0(G__value *, char const > *, G__param *, int) (in /usr/local/lib/root/libPostscript.so) > Info in <TPluginManager::FindHandler>: found plugin for TUtilHist > root [4] delete ps; > root [5] .q > ==6069== > ==6069== ERROR SUMMARY: 3 errors from 2 contexts (suppressed: 190 from 3) > ==6069== malloc/free: in use at exit: 14944021 bytes in 29550 blocks. > ==6069== malloc/free: 70454 allocs, 40904 frees, 21849214 bytes allocated. > ==6069== For a detailed leak analysis, rerun with: --leak-check=yes > ==6069== For counts of detected errors, rerun with: -v > > > I get the same output when i use valgrind root.exe and valgrind rootn.exe, > and no errors with valgrind root. (Notice when i don't use valgrind to > debug, root and root.exe don't crash and don't find any errors but > rootn.exe it does) > > Could you run under the debugger and report the trace back when > you get the crash? the automatic traceback that you report below is not > always correct. > > > > Rene Brun > > > > On Sat, 29 > > May 2004, Marcos Gimenez Alvarez wrote: > > > >> Hello > >> I installed root 4.00/04 on a deb woody and these are the outputs i > >> got. > >> > >> ps() > >> { > >> TPostScript *ps = new TPostScript("test.ps"); > >> TF1 f("sin(x)","sin(x)"); > >> f.Draw(); > >> delete ps; > >> } > >> > >> > >> with root works fine > >> > >> margial@margial:~$ root > >> ******************************************* > >> * * > >> * W E L C O M E to R O O T * > >> * * > >> * Version 4.00/04 29 May 2004 * > >> * * > >> * You are welcome to visit our Web site * > >> * http://root.cern.ch * > >> * * > >> ******************************************* > >> > >> FreeType Engine v2.1.3 used to render TrueType fonts. > >> Compiled for linuxdeb with thread support. > >> > >> CINT/ROOT C/C++ Interpreter version 5.15.133, Apr 18 2004 > >> Type ? for help. Commands must be C++ statements. > >> Enclose multiple statements between { }. > >> root [0] .x ps.C > >> <TCanvas::MakeDefCanvas>: created default TCanvas with name c1 > >> root [1] > >> > >> with rootn.exe > >> > >> margial@margial:~$ rootn.exe > >> ******************************************* > >> * * > >> * W E L C O M E to R O O T * > >> * * > >> * Version 4.00/04 29 May 2004 * > >> * * > >> * You are welcome to visit our Web site * > >> * http://root.cern.ch * > >> * * > >> ******************************************* > >> > >> FreeType Engine v2.1.3 used to render TrueType fonts. > >> Compiled for linuxdeb with thread support. > >> > >> CINT/ROOT C/C++ Interpreter version 5.15.133, Apr 18 2004 > >> Type ? for help. Commands must be C++ statements. > >> Enclose multiple statements between { }. > >> root [0] .x ps.C > >> <TCanvas::MakeDefCanvas>: created default TCanvas with name c1 > >> Fatal in <operator delete>: storage area overwritten > >> aborting > >> Generating stack trace... > >> /usr/bin/addr2line: rootn.exe: No such file or directory > >> /usr/bin/addr2line: rootn.exe: No such file or directory > >> 0x40024716 in __builtin_vec_delete + 0x1e from /usr/local/lib/root/ > >> libNew.so > >> 0x401b7603 in TVirtualPS::~TVirtualPS(void) + 0x57 from > >> /usr/local/lib/ > >> root/libCore.so > >> 0x4192d9c2 in TPostScript::~TPostScript(void) + 0x66 from > >> /usr/local/lib/ > >> root/libPostscript.so > >> 0x41942260 in <unknown> from /usr/local/lib/root/libPostscript.so > >> 0x4079ba1e in G__call_cppfunc + 0x28a from > >> /usr/local/lib/root/libCint.so 0x4078a28a in G__interpret_func + > >> 0x7ea from /usr/local/lib/root/ > >> libCint.so > >> 0x40770099 in G__getfunction + 0x17b5 from > >> /usr/local/lib/root/libCint.so 0x4079ad38 in G__delete_operator + > >> 0x2fc from /usr/local/lib/root/ > >> libCint.so > >> 0x407b3f75 in G__exec_delete + 0x55 from > >> /usr/local/lib/root/libCint.so 0x407ba6b7 in G__exec_statement + > >> 0x1b07 from /usr/local/lib/root/ > >> libCint.so > >> 0x40749b78 in G__exec_tempfile_core + 0x2b4 from /usr/local/lib/root/ > >> libCint.so > >> 0x40749d6d in G__exec_tempfile + 0x25 from > >> /usr/local/lib/root/libCint.so 0x407c42bc in G__process_cmd + 0x4cf8 > >> from /usr/local/lib/root/libCint.so 0x401d88e0 in > >> TCint::ProcessLine(char const *, TInterpreter::EErrorCode > >> *) + 0xac from /usr/local/lib/root/libCore.so > >> 0x401d8a0b in TCint::ProcessLineSynch(char const *, > >> TInterpreter::EErrorCode *) + 0x4f from /usr/local/lib/root/libCore.so > >> 0x4014d043 in TApplication::ProcessFile(char const *, int *) + 0x6d3 > >> from /usr/local/lib/root/libCore.so > >> 0x4014c7fd in TApplication::ProcessLine(char const *, bool, int *) + > >> 0x54d from /usr/local/lib/root/libCore.so > >> 0x410bac0a in TRint::HandleTermInput(void) + 0x1ea from > >> /usr/local/lib/ > >> root/libRint.so > >> 0x410b9c52 in TTermInputHandler::Notify(void) + 0x2a from > >> /usr/local/lib/ > >> root/libRint.so > >> 0x410bb379 in TTermInputHandler::ReadNotify(void) + 0x25 from > >> /usr/local/ > >> lib/root/libRint.so > >> 0x40241f09 in TUnixSystem::CheckDescriptors(void) + 0xf5 from > >> /usr/local/ > >> lib/root/libCore.so > >> 0x40241671 in TUnixSystem::DispatchOneEvent(bool) + 0x105 from /usr/ > >> local/lib/root/libCore.so > >> 0x401a4d37 in TSystem::InnerLoop(void) + 0x2f from > >> /usr/local/lib/root/ > >> libCore.so > >> 0x401a4cbb in TSystem::Run(void) + 0x6f from /usr/local/lib/root/ > >> libCore.so > >> 0x4014d2a3 in TApplication::Run(bool) + 0x33 from > >> /usr/local/lib/root/ > >> libCore.so > >> 0x410ba60b in TRint::Run(bool) + 0x303 from /usr/local/lib/root/ > >> libRint.so > >> 0x080487c7 in main + 0x87 from rootn.exe > >> 0x4117514f in __libc_start_main + 0xbb from /lib/libc.so.6 > >> 0x08048681 in __register_frame_info + 0x3d from rootn.exe > >> Aborted > >> > >> Maybe it helps. Anyway it seems there is a difference between your > >> instalation and mine, you installed it using ./configure linux and i > >> did using ./configure linuxdeb, but i don't know which is more > >> suitable (i have tried both with other root versions and i did not > >> notice differences, but i am not an expert) > >> > >> > Hi, > >> > > >> > I have now tried this on three different Installations of > >> > Debian-Woody (=stable) and all show the same behaviour. Is someone > >> > here who uses Debian-Woody (x86) and is able to do what's outlined > >> > in my mail below without root crashing? > >> > > >> > Chris > >> > > >> > On Thu, May 27, 2004 at 01:16:53PM +0200, Christian Vogel wrote: > >> >> using root-4.00.03 and 04, compiled with gcc-3.3 or gcc-2.95 > >> >> I get a fatal error after saving a postscript file, the moment when > >> >> TPostScript is being destroyed. To reproduce: > >> >> > >> >> TF1 f("sin(x)","sin(x)"); > >> >> f.Draw(); > >> >> MENU: File -> Save As -> c1.ps > >> >> > >> >> or... > >> >> > >> >> TPostScript *ps = new TPostScript("test.ps") > >> >> TF1 f("sin(x)","sin(x)"); > >> >> f.Draw(); > >> >> delete ps; > >> >> > >> >> This is on Linux/x86, debian-woody. > >> >> > >> >> Chris > >> >> > >> >> > chris@pi2105:~$ root > >> >> > ******************************************* > >> >> > * * > >> >> > * W E L C O M E to R O O T * > >> >> > * * > >> >> > * Version 4.00/04 27 May 2004 * > >> >> > * * > >> >> > * You are welcome to visit our Web site * > >> >> > * http://root.cern.ch * > >> >> > * * > >> >> > ******************************************* > >> >> > FreeType Engine v2.1.3 used to render TrueType fonts. > >> >> > Compiled for linux with thread support. > >> >> > CINT/ROOT C/C++ Interpreter version 5.15.133, Apr 18 2004 > >> >> > Type ? for help. Commands must be C++ statements. > >> >> > Enclose multiple statements between { }. > >> >> > root [0] TPostScript *ps = new TPostScript("test.ps") > >> >> > root [1] TF1 f("sin(x)","sin(x)"); > >> >> > root [2] f.Draw(); > >> >> > <TCanvas::MakeDefCanvas>: created default TCanvas with name c1 > >> >> > root [3] delete ps; > >> >> > Fatal in <operator delete>: storage area overwritten > >> >> > aborting > >> >> > Generating stack trace... > >> >> > /usr/bin/addr2line: rootn.exe: No such file or directory > >> >> > /usr/bin/addr2line: rootn.exe: No such file or directory > >> >> > 0x40026746 in __builtin_vec_delete + 0x1e from > >> >> > /usr/opt/root/lib/root/libNew.so.4.00 0x401b9613 in > >> >> > TVirtualPS::~TVirtualPS(void) + 0x57 from > >> >> > /usr/opt/root/lib/root/libCore.so.4.00 0x419f49e2 in > >> >> > TPostScript::~TPostScript(void) + 0x66 from > >> >> > /usr/opt/root-4.00.04/lib/root/libPostscript.so 0x41a09280 in > >> >> > <unknown> from /usr/opt/root-4.00.04/lib/root/libPostscript.so > >> >> > 0x4079da2e in G__call_cppfunc + 0x28a from > >> >> > /usr/opt/root/lib/root/libCint.so.4.00 0x4078c29a in > >> >> > G__interpret_func + 0x7ea from > >> >> > /usr/opt/root/lib/root/libCint.so.4.00 0x407720a9 in > >> >> > G__getfunction + 0x17b5 from > >> >> > /usr/opt/root/lib/root/libCint.so.4.00 0x4079cd48 in > >> >> > G__delete_operator + 0x2fc from > >> >> > /usr/opt/root/lib/root/libCint.so.4.00 0x407b5f85 in > >> >> > G__exec_delete + 0x55 from > >> >> > /usr/opt/root/lib/root/libCint.so.4.00 0x407bc6c7 in > >> >> > G__exec_statement + 0x1b07 from > >> >> > /usr/opt/root/lib/root/libCint.so.4.00 0x4074bb88 in > >> >> > G__exec_tempfile_core + 0x2b4 from > >> >> > /usr/opt/root/lib/root/libCint.so.4.00 0x4074bd4d in > >> >> > G__exec_tempfile_fp + 0x25 from > >> >> > /usr/opt/root/lib/root/libCint.so.4.00 0x407c6717 in > >> >> > G__process_cmd + 0x5143 from > >> >> > /usr/opt/root/lib/root/libCint.so.4.00 0x401da8f0 in > >> >> > TCint::ProcessLine(char const *, TInterpreter::EErrorCode *) + > >> >> > 0xac from /usr/opt/root/lib/root/libCore.so.4.00 0x4014e88e in > >> >> > TApplication::ProcessLine(char const *, bool, int *) + 0x5ce > >> >> > from /usr/opt/root/lib/root/libCore.so.4.00 0x410bcbca in > >> >> > TRint::HandleTermInput(void) + 0x1ea from > >> >> > /usr/opt/root/lib/root/libRint.so.4.00 0x410bbc12 in > >> >> > TTermInputHandler::Notify(void) + 0x2a from > >> >> > /usr/opt/root/lib/root/libRint.so.4.00 0x410bd339 in > >> >> > TTermInputHandler::ReadNotify(void) + 0x25 from > >> >> > /usr/opt/root/lib/root/libRint.so.4.00 0x40243f19 in > >> >> > TUnixSystem::CheckDescriptors(void) + 0xf5 from > >> >> > /usr/opt/root/lib/root/libCore.so.4.00 0x40243681 in > >> >> > TUnixSystem::DispatchOneEvent(bool) + 0x105 from > >> >> > /usr/opt/root/lib/root/libCore.so.4.00 0x401a6d47 in > >> >> > TSystem::InnerLoop(void) + 0x2f from > >> >> > /usr/opt/root/lib/root/libCore.so.4.00 0x401a6ccb in > >> >> > TSystem::Run(void) + 0x6f from > >> >> > /usr/opt/root/lib/root/libCore.so.4.00 0x4014f2b3 in > >> >> > TApplication::Run(bool) + 0x33 from > >> >> > /usr/opt/root/lib/root/libCore.so.4.00 0x410bc5cb in > >> >> > TRint::Run(bool) + 0x303 from > >> >> > /usr/opt/root/lib/root/libRint.so.4.00 0x080487e7 in main + 0x87 > >> >> > from rootn.exe > >> >> > 0x4117714f in __libc_start_main + 0xbb from /lib/libc.so.6 > >> >> > 0x080486a1 in __register_frame_info + 0x31 from rootn.exe > >> >> > >> >> > >> >> -- > >> >> programming java / steaming mugs of fresh brewed code / chill, > >> >> jobless winter. -- gnovos on the kuro5hin.org Textad Haiku Contest > >> >> > >> > > >> > -- > >> > Windows (ms): Will install needless data on whole system > >> > >> > >> > > >
This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:08 MET