[ROOT] (root)cint problem with recent CVS builds

From: Peter Elmer (Peter.Elmer@cern.ch)
Date: Wed Oct 01 2003 - 23:09:37 MEST


  Hi,

  I've run into a SEGV with rootcint in recent versions of ROOT obtained
from CVS which is not present with earlier versions (e.g. 3.05-05). I am
working on RH7.2 with gcc 2.95.3.

  I've not isolated it to a completely trivial example, but I have at least 
a small tarball with a finite number of headers which illustrates the problem:

   http://elmer.home.cern.ch/elmer/testcint.tgz

The instructions for using this are (a) below. The traceback I see is
in (b) below. It looks like it could be a memory issue, running with 
MALLOC_CHECK_ set to 2 (and debugging) aborts with more or less the
same traceback, included as (c).

  Any help with the problem would be greatly appreciated.

                                 thanks,
                                   Pete

(a) 

gtar xzf testcint.tgz
cd testcint
setenv ROOTSYS <whatever>
setenv LD_LIBRARY_PATH <whatever>/lib:$LD_LIBRARY_PATH
$ROOTSYS/bin/rootcint -f IfrDataKCint.cc -c -I$ROOTSYS/include -I. -p -DCLHEP_TARGET_H=\"CLHEP/config/CLHEP-egcs-1.1b.h\" IfrDataK/IfrAbs1DI.hh IfrDataK/IfrAbs1DK.hh IfrDataK/IfrAbs3DCompK.hh IfrDataK/IfrAbs3DI.hh IfrDataK/IfrAbs3DK.hh IfrDataK/IfrDataK_LinkDef.hh

(b)

#0  0x4036968f in chunk_free (ar_ptr=0x4041d300, p=0xdf2acbf9) at malloc.c:3225
#1  0x40368dda in chunk_alloc (ar_ptr=0x4041d300, nb=184) at malloc.c:2706
#2  0x40368828 in __libc_malloc (bytes=176) at malloc.c:2811
#3  0x4009a373 in G__funclist_add (last=0x0, ifunc=0x84f39c0, ifn=0, rate=0) at cint/src/ifunc.c:3852
#4  0x4009e253 in G__overload_match (funcname=0xbfff635c "Class_Version", libp=0xbfff32d8, hash=1339, p_ifunc=0x84f39c0, memfunc_flag=6, access=7, pifn=0xbfff2df4, isrecursive=0) at cint/src/ifunc.c:5684
#5  0x4009e9d6 in G__interpret_func (result7=0xbfff675c, funcname=0xbfff635c "Class_Version", libp=0xbfff32d8, hash=1339, p_ifunc=0x84ea430, funcmatch=1, memfunc_flag=6) at cint/src/ifunc.c:6008
#6  0x4007ace4 in G__getfunction (item=0x8533a38 "KanCompoundObj<HepAList<IfrAbs3D> >:\t", known3=0xbfff68d4, memfunc_flag=6) at cint/src/func.c:3118
#7  0x4006d93d in G__getitem (item=0x8533a38 "KanCompoundObj<HepAList<IfrAbs3D> >:\t") at cint/src/expr.c:2221
#8  0x4006b8e6 in G__getexpr (expression=0x85339f8 "KanCompoundObj<HepAList<IfrAbs3D>>::Class_Version()") at cint/src/expr.c:1605
#9  0x4005e5ae in G__calc_internal (exprwithspace=0x85339b8 "KanCompoundObj<HepAList<IfrAbs3D> >::Class_Version()") at cint/src/expr.c:228
#10 0x4005e651 in G__calc (exprwithspace=0x85339b8 "KanCompoundObj<HepAList<IfrAbs3D> >::Class_Version()") at cint/src/expr.c:288
#11 0x0804ed79 in GetClassVersion (cl=@0xbfffc70c) at utils/src/rootcint.cxx:576
#12 0x0805038a in NeedConstructor (cl=@0xbfffc70c) at utils/src/rootcint.cxx:879
#13 0x0805045e in CheckConstructor (cl=@0xbfffc70c) at utils/src/rootcint.cxx:892
#14 0x0805f0f5 in main (argc=14, argv=0xbfffdb94) at utils/src/rootcint.cxx:3868
#15 0x40304657 in __libc_start_main (main=0x805d030 <main>, argc=14, ubp_av=0xbfffdb94, init=0x804d490 <_init>, fini=0x806206c <_fini>, rtld_fini=0x4000dcd4 <_dl_fini>, stack_end=0xbfffdb8c) at ../sysdeps/generic/libc-start.c:129
Current language:  auto; currently c


(c)

#0  0x40316b11 in __kill () at __kill:-1
#1  0x403168ea in raise (sig=6) at ../sysdeps/posix/raise.c:27
#2  0x40318092 in abort () at ../sysdeps/generic/abort.c:88
#3  0x4036b6a7 in free_check () at malloc.c:4678
#4  0x4036936d in __libc_free (mem=0x8536318) at malloc.c:3122
#5  0x4006bf42 in G__getexpr (expression=0x85362d8 "KanCompoundObj<HepAList<IfrAbs3D>>::Class_Version()") at cint/src/expr.c:1615
#6  0x4005e5ae in G__calc_internal (exprwithspace=0x8536298 "KanCompoundObj<HepAList<IfrAbs3D> >::Class_Version()") at cint/src/expr.c:228
#7  0x4005e651 in G__calc (exprwithspace=0x8536298 "KanCompoundObj<HepAList<IfrAbs3D> >::Class_Version()") at cint/src/expr.c:288
#8  0x0804ed79 in GetClassVersion (cl=@0xbfffcb7c) at utils/src/rootcint.cxx:576#9  0x0805038a in NeedConstructor (cl=@0xbfffcb7c) at utils/src/rootcint.cxx:879#10 0x0805045e in CheckConstructor (cl=@0xbfffcb7c) at utils/src/rootcint.cxx:892
#11 0x0805f0f5 in main (argc=14, argv=0xbfffe004) at utils/src/rootcint.cxx:3868#12 0x40304657 in __libc_start_main (main=0x805d030 <main>, argc=14, ubp_av=0xbfffe004, init=0x804d490 <_init>, fini=0x806206c <_fini>, rtld_fini=0x4000dcd4 <_dl_fini>, stack_end=0xbfffdffc) at ../sysdeps/generic/libc-start.c:129
<...>
(gdb) 
#5  0x4006bf42 in G__getexpr (expression=0x85362d8 "KanCompoundObj<HepAList<IfrAbs3D>>::Class_Version()") at cint/src/expr.c:1615 
1615      if(vv!=ebuf) free((void*)ebuf);
(gdb) list 1610,1620
1610      G__RESTORE_ANDOPR
1611      G__RESTORE_OROPR
1612    #endif
1613      
1614    #ifndef G__OLDIMPLEMENTATION1802
1615      if(vv!=ebuf) free((void*)ebuf);
1616    #endif
1617      return(vstack[0]);
1618    }
1619
1620
(gdb) print vv
$1 = "IfrAbs3DCompK::Class_Version()\0\0\0"
(gdb) print ebuf
$2 = 0x8536318 "KanCompoundObj<HepAList<IfrAbs3D> >::Class_Version()"

-------------------------------------------------------------------------
Peter Elmer     E-mail: Peter.Elmer@cern.ch      Phone: +41 (22) 767-4644
Address: CERN Division PPE, Bat. 32 2C-14, CH-1211 Geneva 23, Switzerland
-------------------------------------------------------------------------



This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:15 MET