Problem 811

Summary: Crash while optimising geometry at initialisation
Product: Geant4 Reporter: wdridi
Component: geometry/volumesAssignee: Gabriele Cosmo <Gabriele.Cosmo>
Status: RESOLVED WONTFIX    
Severity: normal    
Priority: P2    
Version: 7.0   
Hardware: PC   
OS: Linux   

Description Gabriele Cosmo 2005-11-11 06:19:59 CET
Sorry, no specification of what this report is about ?!
Comment 1 Gabriele Cosmo 2005-11-14 06:17:59 CET
Original posting from Hypernews #458 (Geometry Forum):

--------------
I have to simulate a 4pi BaF2 calorimeter.
This calorimeter is basically made by paving a sphere thanks to regular
pentagons and irregular hexagons. I used geant4 7.0p1 for performing my
test My geometry is made of :

- 1 cylindical beam pipe in aluminium
- 2 hemisphericals neutrons absorbers (NA) (6Li based)
- 40 BaF2 crystals (12 regulars pentagons and 28 irregulars hexagons)
- 40 Photomulipliers (PMT) with their housing
- A spherical honey comb (HC) structure build in a similar way than the crystals

Visually everything seems to be all right. But when I want to start a
run or when performing an overlapping test the program simply crash. For
trying to find the problem I have tested many combination between the
various calorimeter components, like for instance:

1) each parts alone = no problem
2) crystals + PMT + HC = aborted
3) crystals + PMT = no problem
4) PMT + HC = no problem
5) crystals + HC = aborted
6) crystals + NA + PMT = aborted
7) crystals + NA = no problem
8) NA + PMT = no problem

and so on.

At the end I did not succeed to find any logic for crashing or not.

In debugging I found the problem came during the "SmartVoxelisation"
operation.

Idle> geometry/test/grid_test

Program received signal SIGABRT, Aborted. gdb) backtrace

#0  0x04734cef in raise () from /lib/tls/libc.so.6
#1  0x047364f5 in abort () from /lib/tls/libc.so.6
#2  0x018b6527 in __cxa_call_unexpected () from /usr/lib/libstdc++.so.5
#3  0x018b6574 in std::terminate () from /usr/lib/libstdc++.so.5
#4  0x018b66e6 in __cxa_throw () from /usr/lib/libstdc++.so.5
#5  0x0186feab in std::__throw_length_error () from /usr/lib/libstdc++.so.5
#6  0x00f494ba in std::vector<G4SmartVoxelNode*,
std::allocator<G4SmartVoxelNode*> >::reserve ()
#7  0x00f47d3d in G4SmartVoxelHeader::BuildNodes ()
#8  0x00f46b82 in G4SmartVoxelHeader::BuildVoxelsWithinLimits ()
#9  0x00f45927 in G4SmartVoxelHeader::G4SmartVoxelHeader ()
#10 0x00f486eb in G4SmartVoxelHeader::RefineNodes ()
#11 0x00f46f56 in G4SmartVoxelHeader::BuildVoxelsWithinLimits ()
#12 0x00f45927 in G4SmartVoxelHeader::G4SmartVoxelHeader ()
#13 0x00f486eb in G4SmartVoxelHeader::RefineNodes ()
#14 0x00f46f56 in G4SmartVoxelHeader::BuildVoxelsWithinLimits ()
#15 0x00f45f0a in G4SmartVoxelHeader::BuildVoxels ()
#16 0x00f457c4 in G4SmartVoxelHeader::G4SmartVoxelHeader ()
#17 0x00f3d4d1 in G4GeometryManager::BuildOptimisations ()
#18 0x00f3d2e8 in G4GeometryManager::CloseGeometry ()
#19 0x00ee703e in G4GeometryMessenger::CheckGeometry ()
#20 0x00ee7211 in G4GeometryMessenger::GridTest ()
#21 0x00ee6abb in G4GeometryMessenger::SetNewValue ()
#22 0x03b03d98 in G4UIcommand::DoIt ()
#23 0x03b16ba3 in G4UImanager::ApplyCommand ()
#24 0x03b16247 in G4UImanager::ApplyCommand ()
#25 0x00bf134d in G4UIterminal::ExecuteCommand ()
#26 0x00bf0fb2 in G4UIterminal::SessionStart ()
#27 0x0804edb2 in main (argc=1, argv=0x0) at miniTAC.cc:110
------------

The user provided the source code for verification.
Problem under investigation.
Comment 2 Gabriele Cosmo 2006-03-15 03:19:59 CET
Have been tested the geometry setup provided and verified its correctness using
the overlapping tool at construction available in release 8.0.
It appears the geometry is ill in several places with overlaps:

          Overlap is detected for volume CrystalAlTefCapHA
          with its mother volume CFiberCapsuleHex1
          at point (0.0792156,22.1972,-7.68487)

          Overlap is detected for volume CrystalAlTefCapHB
          with its mother volume CFiberCapsuleHex2
          at point (-4.09389,-26.0075,6.41092)

          Overlap is detected for volume CrystalHA
          with its mother volume AlTeflonCapsuleHex1
          at point (-2.77757,23.8325,-0.635689)

          Overlap is detected for volume CrystalHB
          with its mother volume AlTeflonCapsuleHex2
          at point (-5.87313,-21.389,-9.67474)

          Overlap is detected for volume Manchette1
          with volume BeamPipe1
          at point (16.1953,-19.7275,-205)

          Overlap is detected for volume Manchette2
          with volume BeamPipe2
          at point (-16.364,19.6961,-200)

          Overlap is detected for volume TRSupport2
          with volume TRSupport1
          at point (30.7836,-1.34134,-10)

          Overlap is detected for volume AlAbsCapsule2
          with its mother volume ScotchAbsCapsule
          at point (85.2161,-5.3,31.2908)

          Overlap is detected for volume NAbsorber2
          with its mother volume AlAbsCapsule
          at point (65.5541,-6.3,-32.2685)

These may certainly be not all existing overlaps, but just the most obvious
ones; others may be hidden in the creation of the assemblies (the tool is not
yet extended to G4Assembly, it will be in a near future), or show up after
fixing these first ones.
The optimisation algorithm may well be confused by the overlaps at the creation
of the nodes for the voxels. Let us know if once fixed the overlaps, you still
observe the problem. The manual tuning of the 'smarteless' for the voxels can
also help in this case, if the problem persists (see the documentation).

The geometry setup is of a certain complexity and uses a good variety of
shapes and transformations. It represents an interesting test-case which, once
corrected, if agreed by the user, we could adopt as benchmark test. Thanks.
Comment 3 Gabriele Cosmo 2006-03-15 11:15:59 CET
More overlaps from the assemblies:

          Overlap is detected for volume av_1_impr_3_CFiberCapsulePent_pv_0
          with volume av_1_impr_2_CFiberCapsulePent_pv_0
          at point (4.80148,68.6013,74.3234)

          Overlap is detected for volume av_1_impr_4_CFiberCapsulePent_pv_0
          with volume av_1_impr_3_CFiberCapsulePent_pv_0
          at point (15.5611,65.2302,71.7986)

          Overlap is detected for volume av_1_impr_5_CFiberCapsulePent_pv_0
          with volume av_1_impr_4_CFiberCapsulePent_pv_0
          at point (8.8731,68.3774,72.3844)

          Overlap is detected for volume av_1_impr_6_CFiberCapsulePent_pv_0
          with volume av_1_impr_1_CFiberCapsulePent_pv_0
          at point (8.40952,-67.1715,73.8336)

          Overlap is detected for volume av_1_impr_7_CFiberCapsulePent_pv_0
          with volume av_1_impr_6_CFiberCapsulePent_pv_0
          at point (-55.3693,-37.5885,74.6463)

          Overlap is detected for volume av_1_impr_8_CFiberCapsulePent_pv_0
          with volume av_1_impr_7_CFiberCapsulePent_pv_0
          at point (39.1678,58.8002,73.8948)

          Overlap is detected for volume av_1_impr_9_CFiberCapsulePent_pv_0
          with volume BeamPipe1
          at point (4.76752,-26.3893,122.274)

          Overlap is detected for volume av_1_impr_10_CFiberCapsulePent_pv_0
          with volume av_1_impr_3_CFiberCapsulePent_pv_0
          at point (-62.7455,-26.6531,73.6457)

          Overlap is detected for volume av_1_impr_11_CFiberCapsulePent_pv_0
          with volume BeamPipe2
          at point (-16.5305,-21.1336,134.653)

          Overlap is detected for volume av_1_impr_12_CFiberCapsulePent_pv_0
          with volume av_1_impr_10_CFiberCapsulePent_pv_0
          at point (69.0707,-5.03184,70.6598)

          Overlap is detected for volume av_2_impr_1_CFiberCapsuleHex1_pv_0
          with volume av_1_impr_2_CFiberCapsulePent_pv_0
          at point (19.3474,-1.68794,61.26)

          Overlap is detected for volume av_2_impr_1_CFiberCapsuleHex2_pv_1
          with volume av_1_impr_1_CFiberCapsulePent_pv_0
          at point (-23.7642,-15.554,46.6601)

          Overlap is detected for volume av_2_impr_2_CFiberCapsuleHex1_pv_0
          with volume av_2_impr_1_CFiberCapsuleHex2_pv_1
          at point (-64.5117,18.5497,54.9239)

          Overlap is detected for volume av_2_impr_2_CFiberCapsuleHex2_pv_1
          with volume av_2_impr_2_CFiberCapsuleHex1_pv_0
          at point (-51.9253,23.8648,62.9776)

          Overlap is detected for volume av_2_impr_3_CFiberCapsuleHex1_pv_0
          with volume av_1_impr_4_CFiberCapsulePent_pv_0
          at point (28.5806,7.29064,74.1262)

          Overlap is detected for volume av_2_impr_3_CFiberCapsuleHex2_pv_1
          with volume av_1_impr_1_CFiberCapsulePent_pv_0
          at point (44.6771,10.6753,53.7947)

          Overlap is detected for volume av_2_impr_4_CFiberCapsuleHex1_pv_0
          with volume av_1_impr_5_CFiberCapsulePent_pv_0
          at point (34.1783,26.7068,37.2636)

          Overlap is detected for volume av_2_impr_4_CFiberCapsuleHex2_pv_1
          with volume av_2_impr_3_CFiberCapsuleHex1_pv_0
          at point (-16.3978,36.3199,64.6355)

          Overlap is detected for volume av_2_impr_5_CFiberCapsuleHex1_pv_0
          with volume av_2_impr_4_CFiberCapsuleHex2_pv_1
          at point (-61.5301,8.06322,47.1355)

          Overlap is detected for volume av_2_impr_5_CFiberCapsuleHex2_pv_1
          with volume av_1_impr_1_CFiberCapsulePent_pv_0
          at point (-46.9326,-46.0157,45.216)

          Overlap is detected for volume av_2_impr_6_CFiberCapsuleHex1_pv_0
          with volume av_1_impr_3_CFiberCapsulePent_pv_0
          at point (-9.98497,-35.9436,42.2459)

          Overlap is detected for volume av_2_impr_6_CFiberCapsuleHex2_pv_1
          with volume av_1_impr_2_CFiberCapsulePent_pv_0
          at point (50.8251,7.37242,70.5034)

          Overlap is detected for volume av_2_impr_7_CFiberCapsuleHex1_pv_0
          with volume av_1_impr_4_CFiberCapsulePent_pv_0
          at point (-36.2637,-29.7682,64.8877)

          Overlap is detected for volume av_2_impr_7_CFiberCapsuleHex2_pv_1
          with volume av_2_impr_7_CFiberCapsuleHex1_pv_0
          at point (-13.3445,18.0112,22.87)

          Overlap is detected for volume av_2_impr_8_CFiberCapsuleHex1_pv_0
          with volume av_1_impr_5_CFiberCapsulePent_pv_0
          at point (24.1894,-32.7634,30.0529)

          Overlap is detected for volume av_2_impr_8_CFiberCapsuleHex2_pv_1
          with volume av_2_impr_8_CFiberCapsuleHex1_pv_0
          at point (-11.2178,3.91562,75.0141)

          Overlap is detected for volume av_2_impr_9_CFiberCapsuleHex1_pv_0
          with volume av_2_impr_4_CFiberCapsuleHex2_pv_1
          at point (-60.5167,-13.0489,43.9559)

          Overlap is detected for volume av_2_impr_9_CFiberCapsuleHex2_pv_1
          with volume av_1_impr_6_CFiberCapsulePent_pv_0
          at point (-2.06841,-65.5189,60.7414)

          Overlap is detected for volume av_2_impr_10_CFiberCapsuleHex1_pv_0
          with volume av_2_impr_1_CFiberCapsuleHex1_pv_0
          at point (40.1533,-24.0163,0.902184)

          Overlap is detected for volume av_2_impr_10_CFiberCapsuleHex2_pv_1
          with volume av_1_impr_1_CFiberCapsulePent_pv_0
          at point (15.6391,-68.3822,74.6801)

          Overlap is detected for volume av_2_impr_11_CFiberCapsuleHex1_pv_0
          with volume av_1_impr_11_CFiberCapsulePent_pv_0
          at point (-46.0941,14.427,45.9473)

          Overlap is detected for volume av_2_impr_11_CFiberCapsuleHex2_pv_1
          with volume av_1_impr_2_CFiberCapsulePent_pv_0
          at point (-61.4247,24.8407,35.7793)

          Overlap is detected for volume av_2_impr_12_CFiberCapsuleHex1_pv_0
          with volume av_1_impr_10_CFiberCapsulePent_pv_0
          at point (-6.39856,42.392,75.0617)

          Overlap is detected for volume av_2_impr_12_CFiberCapsuleHex2_pv_1
          with volume av_1_impr_2_CFiberCapsulePent_pv_0
          at point (-26.4788,0.625036,69.9297)

          Overlap is detected for volume av_2_impr_13_CFiberCapsuleHex1_pv_0
          with volume av_1_impr_10_CFiberCapsulePent_pv_0
          at point (2.30309,-50.712,73.7333)

          Overlap is detected for volume av_2_impr_13_CFiberCapsuleHex2_pv_1
          with volume av_1_impr_3_CFiberCapsulePent_pv_0
          at point (-43.4939,-8.32928,27.7044)

          Overlap is detected for volume av_2_impr_14_CFiberCapsuleHex1_pv_0
          with volume av_1_impr_9_CFiberCapsulePent_pv_0
          at point (-7.29973,29.0912,55.3414)

          Overlap is detected for volume av_2_impr_14_CFiberCapsuleHex2_pv_1
          with volume av_1_impr_3_CFiberCapsulePent_pv_0
          at point (10.4177,59.7704,49.3525)

          Overlap is detected for volume av_2_impr_15_CFiberCapsuleHex1_pv_0
          with volume av_1_impr_8_CFiberCapsulePent_pv_0
          at point (19.2011,57.2756,63.2264)

          Overlap is detected for volume av_2_impr_15_CFiberCapsuleHex2_pv_1
          with volume av_1_impr_4_CFiberCapsulePent_pv_0
          at point (-55.9055,-37.4881,55.0328)

          Overlap is detected for volume av_2_impr_16_CFiberCapsuleHex1_pv_0
          with volume av_1_impr_8_CFiberCapsulePent_pv_0
          at point (-36.5318,7.11348,51.5089)

          Overlap is detected for volume av_2_impr_16_CFiberCapsuleHex2_pv_1
          with volume av_2_impr_16_CFiberCapsuleHex1_pv_0
          at point (-4.47521,15.8778,30.7621)

          Overlap is detected for volume av_2_impr_17_CFiberCapsuleHex1_pv_0
          with volume av_1_impr_5_CFiberCapsulePent_pv_0
          at point (-49.9359,47.7254,54.3828)

          Overlap is detected for volume av_2_impr_17_CFiberCapsuleHex2_pv_1
          with volume av_2_impr_9_CFiberCapsuleHex2_pv_1
          at point (24.3764,4.19729,10.1334)

          Overlap is detected for volume av_2_impr_18_CFiberCapsuleHex1_pv_0
          with volume av_1_impr_7_CFiberCapsulePent_pv_0
          at point (-31.6977,-33.1392,19.5548)

          Overlap is detected for volume av_2_impr_18_CFiberCapsuleHex2_pv_1
          with volume av_2_impr_17_CFiberCapsuleHex1_pv_0
          at point (-47.0707,5.34863,51.3073)

          Overlap is detected for volume av_2_impr_19_CFiberCapsuleHex1_pv_0
          with volume av_2_impr_16_CFiberCapsuleHex1_pv_0
          at point (-28.8156,32.2844,64.5867)

          Overlap is detected for volume av_2_impr_19_CFiberCapsuleHex2_pv_1
          with volume av_1_impr_7_CFiberCapsulePent_pv_0
          at point (-28.7007,35.6607,52.0349)

          Overlap is detected for volume av_2_impr_20_CFiberCapsuleHex1_pv_0
          with volume av_1_impr_9_CFiberCapsulePent_pv_0
          at point (14.6503,-19.9326,54.5665)

          Overlap is detected for volume av_2_impr_20_CFiberCapsuleHex2_pv_1
          with volume av_1_impr_8_CFiberCapsulePent_pv_0
          at point (29.2311,41.8171,13.5946)

          Overlap is detected for volume av_2_impr_21_CFiberCapsuleHex1_pv_0
          with volume av_1_impr_10_CFiberCapsulePent_pv_0
          at point (67.4348,1.42339,68.5046)

          Overlap is detected for volume av_2_impr_21_CFiberCapsuleHex2_pv_1
          with volume av_1_impr_9_CFiberCapsulePent_pv_0
          at point (55.9705,16.476,39.2213)

          Overlap is detected for volume av_2_impr_22_CFiberCapsuleHex1_pv_0
          with volume av_1_impr_11_CFiberCapsulePent_pv_0
          at point (54.7115,-5.05595,69.8832)

          Overlap is detected for volume av_2_impr_22_CFiberCapsuleHex2_pv_1
          with volume av_1_impr_10_CFiberCapsulePent_pv_0
          at point (43.334,24.4176,33.3185)

          Overlap is detected for volume av_2_impr_23_CFiberCapsuleHex1_pv_0
          with volume av_1_impr_7_CFiberCapsulePent_pv_0
          at point (46.598,-9.02859,70.6687)

          Overlap is detected for volume av_2_impr_23_CFiberCapsuleHex2_pv_1
          with volume av_1_impr_11_CFiberCapsulePent_pv_0
          at point (-8.29992,27.258,54.765)

          Overlap is detected for volume av_2_impr_24_CFiberCapsuleHex1_pv_0
          with volume av_2_impr_19_CFiberCapsuleHex2_pv_1
          at point (-38.9133,9.73887,-18.9477)

          Overlap is detected for volume av_2_impr_24_CFiberCapsuleHex2_pv_1
          with volume av_2_impr_19_CFiberCapsuleHex2_pv_1
          at point (-50.9017,-0.856027,50.8495)

          Overlap is detected for volume av_2_impr_25_CFiberCapsuleHex1_pv_0
          with volume av_1_impr_8_CFiberCapsulePent_pv_0
          at point (57.3013,2.49365,-0.149464)

          Overlap is detected for volume av_2_impr_25_CFiberCapsuleHex2_pv_1
          with volume av_1_impr_8_CFiberCapsulePent_pv_0
          at point (49.0516,-15.155,72.5752)

          Overlap is detected for volume av_2_impr_26_CFiberCapsuleHex1_pv_0
          with volume av_2_impr_15_CFiberCapsuleHex1_pv_0
          at point (70.9896,-21.8724,70.7125)

          Overlap is detected for volume av_2_impr_26_CFiberCapsuleHex2_pv_1
          with volume av_2_impr_25_CFiberCapsuleHex2_pv_1
          at point (-32.4216,13.6523,4.36916)

          Overlap is detected for volume av_2_impr_27_CFiberCapsuleHex1_pv_0
          with volume av_1_impr_10_CFiberCapsulePent_pv_0
          at point (51.001,3.32081,10.0444)

          Overlap is detected for volume av_2_impr_27_CFiberCapsuleHex2_pv_1
          with volume av_1_impr_12_CFiberCapsulePent_pv_0
          at point (23.5833,-18.5729,54.4021)

          Overlap is detected for volume av_2_impr_28_CFiberCapsuleHex1_pv_0
          with volume av_1_impr_11_CFiberCapsulePent_pv_0
          at point (29.3534,1.66917,45.0702)

          Overlap is detected for volume av_2_impr_28_CFiberCapsuleHex2_pv_1
          with volume av_1_impr_12_CFiberCapsulePent_pv_0
          at point (45.9611,-6.41799,69.0134)

          Overlap is detected for volume av_3_impr_15_LogAl1BHousing_pv_16
          with volume av_3_impr_1_LogAl1BHousing_pv_16
          at point (23.1589,70.1694,23.383)

          Overlap is detected for volume av_3_impr_38_LogAl1BHousing_pv_16
          with volume av_3_impr_12_LogAl1BHousing_pv_16
          at point (21.6747,70.6656,23.3792)

          Overlap is detected for volume av_3_impr_39_LogAl1BHousing_pv_16
          with volume av_3_impr_10_LogAl1BHousing_pv_16
          at point (73.9358,-2.27938,23.3853)