[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: bintree.c:33



Hi Jake,
this happened also to me on  the ifarm here at Jlab.  I found out that  
on the ifarm  the linux version is different than on the desktops.
It worked nicely for me on my desktop but not on the ifarm and I do not 
know why and I did not have time yet to exactly find
out what is going on but my suspicion is that it has to do with wrongly 
set environment variables . I have two suggestions for the moment:
1) do a "make clean" at the top directory and remove the 
${HALLD_HOME}/bin directory all together just to make sure
    and then recompile everything.
2) if this still does not work include the following lines in 
HDGeant/hitFDC.c
     insert after the line
     int layer = getlayer_(); 
     the following four lines
    if (layer==0){
        printf("hitForwardDC(): layer is zero! THIS SHOULD NEVER 
HAPPEN!\n");
        return;
    }
 
that will make sure that the code does not crash in the event that layer 
is 0.

cheers,
Beni
   




> I am having the same problem Blake did, but the solution quoted below doesn't seem to work.  My latest attempt was to simply checkout a new release, which I assume has the updated geometry files?
>
> Any thoughts?
>
> Thanks,
> Jake
> ________________________________________
> From: Blake Leverington <leverinb@uregina.ca<mailto:leverinb@uregina.ca>>
> Date: 4 June 2009 16:16:41 GMT-04:00
> To: Beni Zihlmann <zihlmann@jlab.org<mailto:zihlmann@jlab.org>>
> Cc: HallD Software Group <halld-offline@jlab.org<mailto:halld-offline@jlab.org>>
> Subject: Re: bintree.c:33
> Reply-To: Blake Leverington <leverinb@uregina.ca<mailto:leverinb@uregina.ca>>
>
> Thanks Beni! I can confirm this works for me now.
>
> -Blake
>
> Beni Zihlmann wrote:
> Hi All,
> the error happened in the hitFDC.c code because some of the non sensitive volumes had a name starting
> with the letters "FDA" which are tested for in savehits.c to see if the track is in a sensitive volume. The
> result was that the track was in an insensitive volume while geant was thinking it has to calculate the
> wire number of the chamber and the chamber number. As a consequence this chamber number resulted to be
> zero which is of course not a valid number and the whole thing crashed.
> The geometry file for the FDC has been fixed and put to the repository.
> 1) get last geometry files
> 2) go to  src/programs/Simulation/hddm
>   make clean
>   make install
> 3) go to src/programs/Simulation/HDGeant
>   make clean
>   make
> This should do the trick
>
> cheers,
> Beni
>
> Blake,
>
> I explained this a couple of days back.  The bintree package is what accumulates the hits according to detector segment and spits them out in some predefined order (eg., ordered by wire, layer, package, etc.).  Each hit is assigned a "mark" which is a hash of its wire,layer,package,sector,... indices.  This forms a 32-bit integer that is used to order the hits.  You should never have a mark=0.  If you do, either a hit was registered with invalid indices or a memory corruption has occurred.
>
> Does that help?  Do you want help debugging?  I can trace it for you if you set up a web page with all of the details sufficient for me to reproduce the problem.
>
> -Richard J.
>
>
> Blake Leverington wrote:
> Hi all,
>
> Any idea what this error means?
>
> "hdgeant: bintree.c:33: getTwig: Assertion `node->mark >= 0' failed.
> Abort"
>
> Cheers,
> -Blake
>
>
>
>
>
>
>
>
>
>
> Claire Tarbert
> 260 Swain West Phone: +1 812 855 8933
> Department of Physics E-mail: ctarbert@indiana.edu<mailto:ctarbert@indiana.edu>
> Indiana University
> 727 E Third St
> Bloomington
> IN 47405-7105
>
>