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
|