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