Print

Print


 We, at site RRC-KI, gone into the following problem: last week the DTEAM SGM
this week the ALICE SGM jobs are filled our /home partition. The reason was
the unlimited growth of the log file trying to get some input from the user,
but there was none, because, I think, the standard input was closed. The log
file from the jobs looks like this:
-----
node25
gate.grid.kiae.ru
gate.grid.kiae.ru
The current directory is:
/home/alicesgm/globus-tmp.node25.17634.0/WMS_node25_018104_https_3a_2f_2flxn1177.cern.ch_3a9000_2fBNwTjbYQEtmezgXe1rweng
The files in this directory are:
dirInstallations.tgz
lcg-ManageVOTag
std.out
sw_installation.pl
turl_number_files.txt
The files after moving the tar ball are:
lcg-ManageVOTag
std.out
sw_installation.pl
turl_number_files.txt
Now I should be in another directory:
/opt/exp_soft/alice
The files in this directory are:
dirInstallations.tgz
Starting now: tar zxvf dirInstallations.tgz 
The content of dirInstallations is: 
79M	dirInstallations/dirCLHEP
462M	dirInstallations/dirG4DATA
219M	dirInstallations/dirGeant4-7.0.p01
244M	dirInstallations/dirGeant4-7.1.cand01
18M	dirInstallations/dirGSL
5.1M	dirInstallations/dirPAW
72M	dirInstallations/dirPI
4.0K	dirInstallations/README
4.0K	dirInstallations/setup.sh
340K	dirInstallations/StatAccepTest
4.0K	dirInstallations/test.sh
The content of the README file in dirInstallations is:-----------------------------------------------------------------------------------
 10-June-2005   Information on the packages included
                ====================================

 All libraries are made for 
   ***  SLC3 ( Scientific Linux CERN release 3.0.3 ) with g++ 3.2.3  *** 
 (that should be compatible with SL3 platforms)

 dirCLHEP/          : CLHEP 1.9.1.2  
                      taken from the AFS Geant4 dev area
                      /afs/cern.ch/sw/geant4/dev/CLHEP

 dirPI/             : PI version 1.3.3-Lite
                      which is a special version made by Andreas.
                      Installed also  StatisticsTesting , taken
                      from  /afs/cern.ch/sw/lcg/app/releases/PI/
                            PI_1_3_3/include/StatisticsTesting
                      and copied into  dirPI/include/ 
                      and   /afs/cern.ch/sw/lcg/app/releases/PI/
                            PI_1_3_3/slc3_gcc323/lib/liblcg_StatisticsTesting.so 
                      and copied into  dirPI/lib/ .

 dirG4DATA/         : G4 Data files.
                      taken (1-12-2004) from AFS Geant4 dev area
                      /afs/cern.ch/sw/geant4/dev/data

 dirGeant4-7.0.p01/ : patch01 of Geant4 7.0,
                      downloaded from the Web, and with libraries
                      (both static and shared) built in  lib/  subdirectory.

 dirGeant4-7.0.cand01/  : geant4-07-01-cand-01
                      taken from the CVS repository (and containing the
                      electromagnetic and hadronic physics that will be
	              part of the release 7.1) and with libraries
                      built in  lib/  subdirectory.
                      Only static ( .a ) libraries are included.

 dirPAW/            : static  paw  executable, copied from
                      /afs/cern.ch/sw/lcg/external/cernlib/2004/
                          slc3_ia32_gcc323/bin/paw

 dirGSL/            : GSL 1.5   taken from 
                      /afs/cern.ch/sw/lcg/external/GSL/1.5/slc3_gcc323/

 StatAccepTest/     : statAccepTest-V07-00-06
                      the Geant4-based testing application, and analysis.

 NB) You find also the two following Bash-shell scripts:

     setup.sh : setup necessary to run any Geant4 example or any 
                Geant4-based application.

     test.sh :  test the installation by running one of the Geant4
                (advanced) example. 
                If you use this script you do not need to execute the setup,
                setup.sh , because it is done automatically.

 NB) Size: total size is about  950 MBytes .
           Here is the breakdown:   460 MB  G4DATA 
                                            ( 270 MB  Elastic
                                              120 MB  G4NDL3.7
                                               35 MB  PhotonEvaporation
                                               30 MB  G4EMLOW2.3
                                               10 MB  RadiativeDecay )
                                    160 MB  Geant4 (for one release)
                                            (in the case of both  .a  and  .so
                                             libraries, then the size is  220 MB )
                                     80 MB  CLHEP
                                     30 MB  PI
                                     20 MB  GSL
                                    < 1 MB  PAW and StatAccepTest.

 NB) Jobs to be run:
       Physics: LHEP, QGSP, QGSC, QGSP_BIC, QGSP_BERT.
       Calorimeters: FeSci, CuSci, PbSci, CuLAr, PbLAr, WLAr, PbWO4.
       Particles: e-, pi+, pi-, k+, k-, k0L, p, n.
       Energies: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60, 80,
                 100, 120, 150, 180, 200, 250, 300, 1000.
       Events: 5000
 
-----------------------------------------------------------------------------------

 

--- TESTING the PLATFORM AND THE OS ---
 
 ================ START  test.sh  ====================== 
 
 . setup.sh 
 
 cd /opt/exp_soft/alice/dirInstallations/dirGeant4-7.0.p01/examples/advanced/composite_calorimeter 
 
 . envExample.sh 
 
 gmake 
Making dependency for file CompositeCalorimeter.cc ...
Making dependency for file src/CCalVOrganization.cc ...
Making dependency for file src/CCalVisualisable.cc ...
Making dependency for file src/CCalVisManager.cc ...
Making dependency for file src/CCalutils.cc ...
Making dependency for file src/CCalSteppingAction.cc ...
Making dependency for file src/CCalStackingAction.cc ...
Making dependency for file src/CCalSensitiveDetectors.cc ...
Making dependency for file src/CCalSensitiveConfiguration.cc ...
Making dependency for file src/CCalSensAssign.cc ...
Making dependency for file src/CCalSDList.cc ...
Making dependency for file src/CCalRunAction.cc ...
Making dependency for file src/CCalRotationMatrixFactory.cc ...
Making dependency for file src/CCalPrimaryGeneratorMessenger.cc ...
Making dependency for file src/CCalPrimaryGeneratorAction.cc ...
Making dependency for file src/CCaloSD.cc ...
Making dependency for file src/CCaloOrganization.cc ...
Making dependency for file src/CCalMaterialFactory.cc ...
Making dependency for file src/CCalMaterial.cc ...
Making dependency for file src/CCalMagneticField.cc ...
Making dependency for file src/CCalHit.cc ...
Making dependency for file src/CCalHcalOrganization.cc ...
Making dependency for file src/CCalHcal.cc ...
Making dependency for file src/CCalHall.cc ...
Making dependency for file src/CCalGeometryConfiguration.cc ...
Making dependency for file src/CCalG4Hit.cc ...
Making dependency for file src/CCalG4Hcal.cc ...
Making dependency for file src/CCalG4Hall.cc ...
Making dependency for file src/CCalG4Ecal.cc ...
Making dependency for file src/CCalG4Able.cc ...
Making dependency for file src/CCalEndOfEventAction.cc ...
Making dependency for file src/CCalEcalOrganization.cc ...
Making dependency for file src/CCalEcal.cc ...
Making dependency for file src/CCalDetectorConstruction.cc ...
Making dependency for file src/CCalDetector.cc ...
Making dependency for file src/CCalAnalysis.cc ...
Making dependency for file src/CCalAMaterial.cc ...
Compiling CCalAMaterial.cc ...
Compiling CCalAnalysis.cc ...
Compiling CCalDetector.cc ...
Compiling CCalDetectorConstruction.cc ...
Compiling CCalEcal.cc ...
Compiling CCalEcalOrganization.cc ...
Compiling CCalEndOfEventAction.cc ...
Compiling CCalG4Able.cc ...
Compiling CCalG4Ecal.cc ...
Compiling CCalG4Hall.cc ...
Compiling CCalG4Hcal.cc ...
Compiling CCalG4Hit.cc ...
Compiling CCalGeometryConfiguration.cc ...
Compiling CCalHall.cc ...
Compiling CCalHcal.cc ...
Compiling CCalHcalOrganization.cc ...
Compiling CCalHit.cc ...
Compiling CCalMagneticField.cc ...
Compiling CCalMaterial.cc ...
Compiling CCalMaterialFactory.cc ...
Compiling CCaloOrganization.cc ...
Compiling CCaloSD.cc ...
Compiling CCalPrimaryGeneratorAction.cc ...
Compiling CCalPrimaryGeneratorMessenger.cc ...
Compiling CCalRotationMatrixFactory.cc ...
Compiling CCalRunAction.cc ...
Compiling CCalSDList.cc ...
Compiling CCalSensAssign.cc ...
Compiling CCalSensitiveConfiguration.cc ...
Compiling CCalSensitiveDetectors.cc ...
Compiling CCalStackingAction.cc ...
Compiling CCalSteppingAction.cc ...
Compiling CCalutils.cc ...
Compiling CCalVisManager.cc ...
Compiling CCalVisualisable.cc ...
Compiling CCalVOrganization.cc ...
Creating/replacing object files in /opt/exp_soft/alice/dirInstallations/dirGeant4-7.0.p01/tmp/Linux-g++/CompositeCalorimeter/libCompositeCalorimeter.a ...
Compiling CompositeCalorimeter.cc ...
Using granular libraries ...
Linking CompositeCalorimeter ...
 
 CompositeCalorimeter test.g4mac 
Visualization Manager instantiating...

You have successfully chosen to use the following graphics systems.
Current available graphics systems are:
  ASCIITree (ATree)
  DAWNFILE (DAWNFILE)
  GAGTree (GAGTree)
  G4HepRepFile (HepRepFile)
  G4HepRep (HepRepXML)
  RayTracer (RayTracer)
  VRML1FILE (VRML1FILE)
  VRML2FILE (VRML2FILE)

*************************************************************
 Geant4 version $Name: geant4-07-00-patch-01 $   (23-February-2005)
                      Copyright : Geant4 Collaboration
                      Reference : NIM A 506 (2003), 250-303
                            WWW : http://cern.ch/geant4
*************************************************************



You are using the simulation engine reuse library: PACK 2.4


You are using the simulation engine: QGSP 2.8



phot:  Total cross sections from Sandia parametrisation. 

*******************************************************************
*                                                                 *
* CCalPrimaryGeneratorAction: Current settings :                  *
*                                                                 *
* 1  pi- of 100 GeV
* will be shot from (0,0,0)
* in direction (0.705346,0.705346,0.0705346)
*                                                                 *
*                                                                 *
*******************************************************************
Now Instantiate stepping action
********************************************
* o/p file on ccal.his
********************************************

assertion failed: `false' (in /build/ap/build-aa/seal163/slc3_ia32_gcc323/SEAL_1_6_3/src/Foundation/PluginManager/src/PluginInfo.cpp:108)
[A]bort, [R]etry, [I]gnore, [C]ore, [S]tack trace? assertion failed: `false' (in /build/ap/build-aa/seal163/slc3_ia32_gcc323/SEAL_1_6_3/src/Foundation/PluginManager/src/PluginInfo.cpp:108)
[A]bort, [R]etry, [I]gnore, [C]ore, [S]tack trace? assertion failed: `false' (in /build/ap/build-aa/seal163/slc3_ia32_gcc323/SEAL_1_6_3/src/Foundation/PluginManager/src/PluginInfo.cpp:108)
<and more identical lines up to the partition space>
-----
 I would say that
 1) when someone is trying to read from used he should check the EOF condition.
I mean that instead of writing
-----
        int input;

        while( 1 ) {
                printf("Say [Y]es or [N]o: ");
                input = getchar();
                switch( input ) {
                case 'y':
                case 'Y':
                        printf("OK, fine!\n");
                        exit(0);
                        break;
                case 'n':
                case 'N':
                        printf("Hmm...\n");
                        exit(1);
                        break;
                default:
                        break;
                }
        }
-----
one should do
-----
        int input;

        while( 1 ) {
                printf("Say [Y]es or [N]o: ");
                input = getchar();
                switch( input ) {
                case EOF:
                        printf("End of file, why?\n");
                        exit(-1);
                        break;
                case 'y':
                case 'Y':
                        printf("OK, fine!\n");
                        exit(0);
                        break;
                case 'n':
                case 'N':
                        printf("Hmm...\n");
                        exit(1);
                        break;
                default:
                        break;
                }
        }
-----
 2) There is a good function named isatty(int fd) that permits checking that
the descriptor 'fd' is a terminal. There is generally a very bad practice to
ask user to enter something in the bug assertions, but if one does so, he should
check if he speaks to a human-like device (the terminal).
 3) We (at RRC-KI) must deploy filesystem quotas for all grid users to protect
our Worker Nodes from filling all disk by a malicious process that is doing this
by the whatever reason.
 Thanks!
-- 
 rea