[ROOT] SegFault via G__defined_tagname in Root 3.10

From: Volker Hejny (V.Hejny@fz-juelich.de)
Date: Fri Jan 09 2004 - 10:42:56 MET


Dear Rene, 
Dear Rooters,

I have a strange problem and I'd like to ask for some advice,
where to continue looking for the reason.

I had to face the problem when I was necessary to run our analysis 
software on Debian 3.0 (Woody) using gcc-2.95 instead of the Debian
unstable or a recent SuSE with gcc 3.x. On the latter systems everythings
runs without problem. We are using Root 3.10/02 as default in order
to gain from recent developments. However, using Root version 3.05/07
the problem described below does _not_ occur.

On Debian 3.0 all stand-alone programs in our package crash
before entering the main function with the following traceback:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 9893)]
0x4195cda1 in strstr () from /lib/libc.so.6
#1  0x406e78a3 in G__defined_tagname (tagname=0x0, noerror=2)
    at cint/src/struct.c:425
425       }
Current language:  auto; currently c
#2  0x406e83c9 in G__search_tagname (tagname=0x0, type=0)
    at cint/src/struct.c:748
748       i = G__defined_tagname(tagname,2);
#3  0x406a7e8e in G__get_linked_tagnum (p=0x404988cc)
    at cint/src/newlink.c:1780
1780         p->tagnum = G__search_tagname(p->tagname,p->tagtype);
#4  0x402b04d8 in G__cpp_setup_tagtableG__Base1 ()
    from /home/hejny/root/lib/libCore.so
#5  0x402b1606 in G__cpp_setupG__Base1 () from /home/hejny/root/lib/libCore.so
#6  0x40697fc8 in G__call_setup_funcs () at cint/src/init.c:142
142           (G__setup_func_list[i]->func)();
#7  0x402b4445 in G__cpp_setup_initG__Base1::G__cpp_setup_initG__Base1 ()
   from /home/hejny/root/lib/libCore.so
#8  0x402b196b in __static_initialization_and_destruction_0 ()
   from /home/hejny/root/lib/libCore.so
#9  0x402b19ae in global constructors keyed to ROOT::GenerateInitInstance ()
   from /home/hejny/root/lib/libCore.so
#10 0x4042cda7 in __do_global_ctors_aux () from /home/hejny/root/lib/libCore.so
#11 0x400f9d42 in _init () from /home/hejny/root/lib/libCore.so
#12 0x40009cc7 in call_init () from /lib/ld-linux.so.2
#13 0x40009e1d in _dl_init () from /lib/ld-linux.so.2

Well, the reason itself has to be in our code, because leaving out all
own classes from a program makes this vanish. However, I have no idea
where to start looking. 

Moreover, when I start a root session and load our shared libraries 
within this session, there is neither a crash nor an error message.

Is there any important change from 3.05 to 3.10, which I missed?
Does anyone has a clue where to continue debugging?

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 : Sun Jan 02 2005 - 05:50:05 MET