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