Hi, I sent this to rootdev, but maybe roottalk is a better list to send things like this? If others have ROOT + gcc 3.0 on x86 Linux working, can they please try the quick test below? I still see this problem with the very latest build. Thanks, -Brett. Brett Viren writes: > Hi. > > I can trigger a segfault in rootcint as compiled with gcc 3.0 (on x86 > Debian Gnu/Linux) in classes with templates. We have several classes > in MINOS which fail in the manner described below. I was able to > isolate code to a small class which can trigger the problem: > > > // T.h > #ifndef T_H > #define T_H > #include "TObject.h" > #include "TString.h" > #include <map> > class T : public TObject { > public: > typedef map<TString,TString> MyMapType > T(); > virtual ~T(); > private: > MyMapType fMyMap; > ClassDef(T,1) > }; > #endif // T_H > > > and the following Linkdef.h: > > > // Linkdef.h > #pragma link off all globals; > #pragma link off all classes; > #pragma link off all functions; > #pragma link C++ class T; > #endif > > > Here is what can be learned from gdb: > > > gdb rootcint-gcc3.0 > (gdb) run -f TCint.cc -c -I. T.h Linkdef.h > Starting program: /home/bviren/cvs/root/root-gcc3/bin/rootcint -f TCint.cc -c -I. T.h Linkdef.h > > Program received signal SIGSEGV, Segmentation fault. > 0x0804a645 in TemplateArg(G__DataMemberInfo&, int) (m=@0xbfffa9d4, count=0) > at utils/src/rootcint.cxx:288 > 288 static G__TypeInfo ti; > Current language: auto; currently c++ > (gdb) where > #0 0x0804a645 in TemplateArg(G__DataMemberInfo&, int) (m=@0xbfffa9d4, count=0) > at utils/src/rootcint.cxx:288 > #1 0x0804b3b6 in STLContainerStreamer(G__DataMemberInfo&, int) ( > m=@0xbfffa9d4, rwmode=0) at utils/src/rootcint.cxx:472 > #2 0x0804d78f in WriteStreamer(G__ClassInfo&) (cl=@0xbfffcc84) > at utils/src/rootcint.cxx:968 > #3 0x0805201b in main (argc=7, argv=0xbffff8dc) at utils/src/rootcint.cxx:1954 > #4 0x403112eb in __libc_start_main () from /lib/libc.so.6 > > > I tried understanding the problem more deeply, but I got very confused > looking at the G__TypeInfo class. > > > When compiling under gcc 2.95, this works fine. I wonder if this is a > problem with gcc3.0 on Debian, with gcc3.0 in general, or with Root. > Could someone else test this? > > Thanks, > -Brett. > > PS: please CC: me, I am not on rootdev.
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:52 MET