Re: [ROOT] Strange behaviour of a stand-alone Root-based application

From: Rene Brun (Rene.Brun@cern.ch)
Date: Thu Nov 22 2001 - 10:40:17 MET


Hi Volker,

The problem you are reporting in 3.02/03 was solved in 3.02/04.
        
2001-11-14 18:20  rdm

        * cint/src/: init.c, newlink.c:
        fix for endless loop at startup in CINT. By Philippe Canal.

Rene Brun

Volker Hejny wrote:
> 
> Hi all,
> 
> I have a ugly problem here and since there are some really experienced
> users on this list, I hope someone can give me some advice how to proceed.
> 
> I'm using root 3.02.03 and a Debian 'woody' Linux with kernel 2.4.12.
> 
> We are building some classes to manage reading from a local DAQ format
> into TObject based data classes together with a few classes doing the
> administration. To test these classes, I have a macro and some
> main function containing essentially the same code: opening the
> file and do an event loop. I don't want to go into detail, because
> I think my problem is a more basic one. I would really be happy to
> get some hint where to start debugging.
> 
> What happens? The macro runs fine in an interactive root session loading
> the shared library containing our classes before. Linking a stand-alone
> program with the same library and all Root libraries given by
> 'root-config --libs', the program does ... nothing but using 100%
> CPU time. Even the first line in the main function is not executed!!!
> I never saw this problem with any other program before (Root-based or
> not). In the beginning, when my own classes where nearly empty,
> the program runs. I'm not aware of any non-trivial change in the code.
> 
> Running debugger, doing a CTRL-C and a backtrace gives (what does this
> error means?):
> (gdb) run
> Starting program: /home/hejny/S/RootSorter/bin/test_revent
> Error while mapping shared library sections:
> libGlobal.so: Success.
> 
> Program received signal SIGINT, Interrupt.
> 0x40551d95 in G__isenclosingclass ()
>    from /usr/local/packages/root/root_cvs/lib/libCint.so
> [This position is always the same on CTRL-C.]
> (gdb) backtrace
> #0  0x40551d95 in G__isenclosingclass ()
>     from /usr/local/packages/root/root_cvs/lib/libCint.so
> #1  0x405522a0 in G__defined_tagname ()
>     from /usr/local/packages/root/root_cvs/lib/libCint.so
> #2  0x40552683 in G__search_tagname ()
>     from /usr/local/packages/root/root_cvs/lib/libCint.so
> #3  0x40515e0e in G__get_linked_tagnum ()
>     from /usr/local/packages/root/root_cvs/lib/libCint.so
> #4  0x40cf5a20 in ?? ()
> #5  0x40cf80a4 in ?? ()
> #6  0x40506d48 in G__call_setup_funcs ()
>     from /usr/local/packages/root/root_cvs/lib/libCint.so
> #7  0x40d04b29 in ?? ()
> #8  0x40cf8167 in ?? ()
> #9  0x40cf8206 in ?? ()
> #10 0x40d029c7 in ?? ()
> #11 0x40ceb2ca in ?? ()
> #12 0x4000b057 in call_init () from /lib/ld-linux.so.2
> #13 0x4000b1ad in _dl_init () from /lib/ld-linux.so.2
> 
> 
> A strace gives the following output:
> 
> execve("/home/hejny/S/RootSorter/bin/test_revent", ...
> [...]
> brk(0)                                  = 0x804d564
> open("/usr/local/packages/root/root_cvs/lib/libCore.so", O_RDONLY) = 3
> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220\306"..., 1024) = 1024
> fstat64(0x3, 0xbfffe6bc)                = 0
> old_mmap(NULL, 4794164, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40016000
> mprotect(0x40358000, 1378100, PROT_NONE) = 0
> old_mmap(0x40358000, 933888, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x341000) = 0x40358000
> old_mmap(0x4043c000, 444212, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4043c000
> close(3)                                = 0
> [... same for Cint, Hist, Graf, Graf3d, GPad, Tree, Rint, Postscript
>      Matrix, Physics for Root ...]
> [... loading nsl, dl ...]
> [... next my library ...]
> open("libGlobal.so", O_RDONLY)          = 3
> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\340\246"..., 1024) = 1024
> fstat64(0x3, 0xbfffe5ec)                = 0
> getcwd("/home/hejny/S/RootSorter", 128) = 25
> old_mmap(NULL, 327940, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40cd3000
> mprotect(0x40d10000, 78084, PROT_NONE)  = 0
> old_mmap(0x40d10000, 81920, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x3c000) = 0x40d10000
> close(3)                                = 0
> [... loading libstdc++, libm, libc ...]
> [... and then ...
> brk(0)                                  = 0x804d564
> brk(0x804d584)                          = 0x804d584
> brk(0x804e000)                          = 0x804e000
> brk(0x8058000)                          = 0x8058000
> brk(0x8059000)                          = 0x8059000
> brk(0x805c000)                          = 0x805c000
> brk(0x805f000)                          = 0x805f000
> brk(0x8062000)                          = 0x8062000
> brk(0x8063000)                          = 0x8063000
> brk(0x8066000)                          = 0x8066000
> brk(0x8069000)                          = 0x8069000
> brk(0x806a000)                          = 0x806a000
> brk(0x806d000)                          = 0x806d000
> brk(0x8070000)                          = 0x8070000
> brk(0x8073000)                          = 0x8073000
> brk(0x8076000)                          = 0x8076000
> brk(0x8079000)                          = 0x8079000
> brk(0x807c000)                          = 0x807c000
> brk(0x807f000)                          = 0x807f000
> brk(0x8080000)                          = 0x8080000
> brk(0x8083000)                          = 0x8083000
> brk(0x8086000)                          = 0x8086000
> brk(0x8087000)                          = 0x8087000
> brk(0x808a000)                          = 0x808a000
> brk(0x808d000)                          = 0x808d000
> [... here it stops, CPU = 100% from that point on, memory = constant ...]
> 
> Best regards,
> Volker
> 
> --
> Dr. Volker Hejny                Tel: 02461/616853                      **
> Institut f. Kernphysik          Fax: 02461/613930                     **
> ---------------------------------------------------------------- **  ** ---
> Forschungszentrum Juelich GmbH, D-52425 Juelich                    **



This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:51:09 MET