Hello again
rootn.exe does not crashes anymore when deleting ps, (at least for me).
And after debugging rootn.exe again, only 2 errors appeared, those 2
related to libX11 and none related to postscipt things.
Maybe Christian Vogel could check the new version in cvs, too
Bye
Marcos
> 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