Re: RE: rootcint segmentation fault with SL3/gcc 3.2.3

From: Paul Russo <russo_at_fnal.gov>
Date: Wed, 18 Apr 2007 16:24:45 -0500


Nick,

I am unable to reproduce this problem with either the head of the repository or v5.14/00e. I've checked with exactly what you sent and several modifications. I'm able to run without crashing and valgrind finds no hidden problems.

Could you try with the head of the repository please? It is possible that we are dealing with a problem that arose and was fixed sometime between v5.14 and the head.

I'm also a bit surprised that changing os releases fixes your problem, unless it is because of binary incompatibility issues between glibc versions and the root executable that you were using. I'm afraid that you were not completely specific about the exact root version/os version mixes.

Rene Brun wrote:

> Hi Nick,
> 
> Apologies for the delay to process this problem (post-workshop 
> synchronization problem).
> I expect that Paul/Philippe will process this problem as soon as they 
> are back online and they will let
> you know.
> 
> Rene
> 
> 
> Nick West wrote:

>> Hi Roottalk,
>>
>> Any progress with this?
>>
>> Cheers,
>>
>> Nick West.
>>
>>
>>> -----Original Message-----
>>> From: Nick West Sent: 04 April 2007 11:20
>>> To: 'roottalk_at_root.cern.ch'
>>> Subject: rootcint segmentation fault with SL3/gcc 3.2.3
>>>
>>> Hi Roottalk,
>>>
>>> Running on
>>> Scientific Linux SL release 3.0.8 with gcc version 3.2.3
>>> I am having trouble building a particularly dictionary with rootcint
>>> versions 5.15.04 and beyond. The command:-
>>>
>>> rootcint -f NueMatrixHelperDict.cc -c NueMatrixHelper.h LinkDef.h
>>>
>>> gives a segmentation fault. I have isolated the problem to the code:-
>>>
>>> const float k_std_dis_res[2][2][4] = {
>>> /* v+p v+n vb+p vb+n */
>>> {{0.20, 0.20, 0.200, 0.20},{1.000, 1.000, 1.000, 1.000}}, // cc
>>> {{0.20, 0.20, 0.200, 0.20},{1.000, 1.000, 1.000, 1.000}} // nc
>>> /* multiplicity = 2 */ /* multiplicity = 3 */
>>> };
>>>
>>> The stack dump looks like this:-
>>>
>>> #0 0x001ddb01 in G__initary (new_name=0xbffeb1b0
>>> "k_std_dis_res[2][2][4]") at cint/src/v6_decl.cxx:2781
>>> 2781 inc *= var->varlabel[varid][pi--];
>>> (gdb) info stack
>>> #0 0x001ddb01 in G__initary (new_name=0xbffeb1b0
>>> "k_std_dis_res[2][2][4]") at cint/src/v6_decl.cxx:2781
>>> #1 0x001dc7c4 in G__define_var (tagnum=-1, typenum=-1) at
>>> cint/src/v6_decl.cxx:2389
>>> #2 0x00259685 in G__exec_statement () at cint/src/v6_parse.cxx:3603
>>> #3 0x0022cea1 in G__loadfile (filenamein=0xbffefd10
>>> "NueMatrixHelper.h") at cint/src/v6_loadfile.cxx:2013
>>> #4 0x00226398 in G__main (argc=23, argv=0xbfff8b20) at
>>> cint/src/v6_init.cxx:1270
>>> #5 0x08068361 in main (argc=6, argv=0xbfff9e24) at
>>> utils/src/rootcint.cxx:4475
>>>
>>> and looking at the source line:-
>>>
>>> inc *= var->varlabel[varid][pi--];
>>>
>>> the problem is:-
>>>
>>> print varid
>>> $3 = 0
>>> print pi
>>> $4 = 166049132 <=========== !!
>>>
>>> The problem goes away if I switch to
>>> Scientific Linux SL release 4.4 with gcc version 3.4.6
>>>
>>> or retreat to ROOT version 5.15.02, but neither is an option for me.
>>>
>>> I attach the two files NueMatrixHelper.h LinkDef.h that illustrate
>>> the problem.
>>>
>>> Thanks,
>>>
>>> Nick West
>>>
>>>

> Received on Wed Apr 18 2007 - 23:24:52 CEST

This archive was generated by hypermail 2.2.0 : Thu Apr 19 2007 - 11:50:01 CEST