About the Execution of ITS-Tools for NeoElection-COL-2
Execution Summary | |||||
Max Memory Used (MB) |
Time wait (ms) | CPU Usage (ms) | I/O Wait (ms) | Computed Result | Execution Status |
15744.900 | 5513.00 | 12366.00 | 119.40 | FFFFTTTTFFFTFFFF | normal |
Execution Chart
We display below the execution chart for this examination (boot time has been removed).
Trace from the execution
Formatting '/local/x2003239/mcc2020-input.r111-csrt-158961257300220.qcow2', fmt=qcow2 size=4294967296 backing_file=/local/x2003239/mcc2020-input.qcow2 encryption=off cluster_size=65536 lazy_refcounts=off refcount_bits=16
Waiting for the VM to be ready (probing ssh)
..................................
=====================================================================
Generated by BenchKit 2-4028
Executing tool itstools
Input is NeoElection-COL-2, examination is CTLFireability
Time confinement is 3600 seconds
Memory confinement is 16384 MBytes
Number of cores is 4
Run identifier is r111-csrt-158961257300220
=====================================================================
--------------------
preparation of the directory to be used:
/home/mcc/execution
total 260K
-rw-r--r-- 1 mcc users 4.3K Apr 30 13:04 CTLCardinality.txt
-rw-r--r-- 1 mcc users 22K Apr 30 13:04 CTLCardinality.xml
-rw-r--r-- 1 mcc users 2.9K Apr 30 13:04 CTLFireability.txt
-rw-r--r-- 1 mcc users 16K Apr 30 13:04 CTLFireability.xml
-rw-r--r-- 1 mcc users 4.0K Apr 30 13:04 GenericPropertiesDefinition.xml
-rw-r--r-- 1 mcc users 6.1K Apr 30 13:04 GenericPropertiesVerdict.xml
-rw-r--r-- 1 mcc users 3.9K Apr 30 13:04 LTLCardinality.txt
-rw-r--r-- 1 mcc users 24K Apr 30 13:04 LTLCardinality.xml
-rw-r--r-- 1 mcc users 2.6K Apr 30 13:04 LTLFireability.txt
-rw-r--r-- 1 mcc users 18K Apr 30 13:04 LTLFireability.xml
-rw-r--r-- 1 mcc users 4.8K Apr 30 13:04 ReachabilityCardinality.txt
-rw-r--r-- 1 mcc users 22K Apr 30 13:04 ReachabilityCardinality.xml
-rw-r--r-- 1 mcc users 2.9K Apr 30 13:04 ReachabilityFireability.txt
-rw-r--r-- 1 mcc users 14K Apr 30 13:04 ReachabilityFireability.xml
-rw-r--r-- 1 mcc users 1.8K Apr 30 13:04 UpperBounds.txt
-rw-r--r-- 1 mcc users 3.8K Apr 30 13:04 UpperBounds.xml
-rw-r--r-- 1 mcc users 5 Apr 30 13:04 equiv_pt
-rw-r--r-- 1 mcc users 2 Apr 30 13:04 instance
-rw-r--r-- 1 mcc users 5 Apr 30 13:04 iscolored
-rw-r--r-- 1 mcc users 69K Apr 30 13:04 model.pnml
--------------------
content from stdout:
=== Data for post analysis generated by BenchKit (invocation template)
The expected result is a vector of booleans
BOOL_VECTOR
here is the order used to build the result vector(from text file)
FORMULA_NAME NeoElection-COL-2-CTLFireability-00
FORMULA_NAME NeoElection-COL-2-CTLFireability-01
FORMULA_NAME NeoElection-COL-2-CTLFireability-02
FORMULA_NAME NeoElection-COL-2-CTLFireability-03
FORMULA_NAME NeoElection-COL-2-CTLFireability-04
FORMULA_NAME NeoElection-COL-2-CTLFireability-05
FORMULA_NAME NeoElection-COL-2-CTLFireability-06
FORMULA_NAME NeoElection-COL-2-CTLFireability-07
FORMULA_NAME NeoElection-COL-2-CTLFireability-08
FORMULA_NAME NeoElection-COL-2-CTLFireability-09
FORMULA_NAME NeoElection-COL-2-CTLFireability-10
FORMULA_NAME NeoElection-COL-2-CTLFireability-11
FORMULA_NAME NeoElection-COL-2-CTLFireability-12
FORMULA_NAME NeoElection-COL-2-CTLFireability-13
FORMULA_NAME NeoElection-COL-2-CTLFireability-14
FORMULA_NAME NeoElection-COL-2-CTLFireability-15
=== Now, execution of the tool begins
BK_START 1589841922858
[2020-05-18 22:45:25] [INFO ] Running its-tools with arguments : [-pnfolder, /home/mcc/execution, -examination, CTLFireability, -z3path, /home/mcc/BenchKit//z3/bin/z3, -yices2path, /home/mcc/BenchKit//yices/bin/yices, -its, -ltsminpath, /home/mcc/BenchKit//lts_install_dir/, -greatspnpath, /home/mcc/BenchKit//greatspn/, -order, META, -manyOrder, -smt, -timeout, 3600]
[2020-05-18 22:45:25] [INFO ] Parsing pnml file : /home/mcc/execution/model.pnml
[2020-05-18 22:45:25] [INFO ] Detected file is not PT type :http://www.pnml.org/version-2009/grammar/symmetricnet
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[2020-05-18 22:45:26] [INFO ] Load time of PNML (colored model parsed with PNMLFW) : 992 ms
[2020-05-18 22:45:26] [INFO ] sort/places :
M * STAGE->P-stage,
M * POS->P-sendAnnPs__broadcasting,P-startNeg__broadcasting,
M * M * MT * M->P-network,P-poll__networl,
M * POS * M->P-masterList,
M * BOOL * M->P-masterState,
M * M * NEGSTEP->P-negotiation,
M->P-crashed,dead,P-electedPrimary,P-electedSecondary,P-electionFailed,P-electionInit,P-poll__handlingMessage,P-poll__pollEnd,P-poll__waitingMessage,P-polling,
[2020-05-18 22:45:26] [INFO ] Detected 4 constant HL places corresponding to 27 PT places.
[2020-05-18 22:45:26] [INFO ] Imported 18 HL places and 22 HL transitions for a total of 438 PT places and 672.0 transition bindings in 55 ms.
[2020-05-18 22:45:26] [INFO ] Computed order based on color domains.
[2020-05-18 22:45:26] [INFO ] Unfolded HLPN to a Petri net with 438 places and 343 transitions in 62 ms.
[2020-05-18 22:45:26] [INFO ] Unfolded HLPN properties in 1 ms.
Deduced a syphon composed of 403 places in 2 ms
Reduce places removed 405 places and 323 transitions.
Parsed 16 properties from file /home/mcc/execution/CTLFireability.xml in 103 ms.
Finished random walk after 28 steps, including 0 resets, run visited all 7 properties in 5 ms. (steps per millisecond=5 )
[2020-05-18 22:45:26] [INFO ] Found a total of 5 fixed domain variables (out of 33 variables) in GAL type petri
[2020-05-18 22:45:26] [INFO ] Found a total of 5 constant array cells/variables (out of 33 variables) in type petri
[2020-05-18 22:45:26] [INFO ] P_stage_6,P_negotiation_14,P_negotiation_26,P_masterState_15,P_stage_3,
[2020-05-18 22:45:26] [INFO ] Removed 5 constant variables :P_stage_6=1, P_negotiation_14=1, P_negotiation_26=1, P_masterState_15=1, P_stage_3=1
[2020-05-18 22:45:26] [INFO ] Simplified 2 expressions due to constant valuations.
[2020-05-18 22:45:26] [INFO ] Initial state reduction rules for CTL removed 10 formulas.
[2020-05-18 22:45:26] [INFO ] Flatten gal took : 47 ms
[2020-05-18 22:45:26] [INFO ] Initial state reduction rules for CTL removed 10 formulas.
[2020-05-18 22:45:26] [INFO ] Flatten gal took : 8 ms
FORMULA NeoElection-COL-2-CTLFireability-14 FALSE TECHNIQUES TOPOLOGICAL INITIAL_STATE
FORMULA NeoElection-COL-2-CTLFireability-13 FALSE TECHNIQUES TOPOLOGICAL INITIAL_STATE
FORMULA NeoElection-COL-2-CTLFireability-12 FALSE TECHNIQUES TOPOLOGICAL INITIAL_STATE
FORMULA NeoElection-COL-2-CTLFireability-08 FALSE TECHNIQUES TOPOLOGICAL INITIAL_STATE
FORMULA NeoElection-COL-2-CTLFireability-06 TRUE TECHNIQUES TOPOLOGICAL INITIAL_STATE
FORMULA NeoElection-COL-2-CTLFireability-04 TRUE TECHNIQUES TOPOLOGICAL INITIAL_STATE
FORMULA NeoElection-COL-2-CTLFireability-03 FALSE TECHNIQUES TOPOLOGICAL INITIAL_STATE
FORMULA NeoElection-COL-2-CTLFireability-02 FALSE TECHNIQUES TOPOLOGICAL INITIAL_STATE
FORMULA NeoElection-COL-2-CTLFireability-01 FALSE TECHNIQUES TOPOLOGICAL INITIAL_STATE
FORMULA NeoElection-COL-2-CTLFireability-00 FALSE TECHNIQUES TOPOLOGICAL INITIAL_STATE
[2020-05-18 22:45:27] [INFO ] Applying decomposition
[2020-05-18 22:45:27] [INFO ] Flatten gal took : 6 ms
Converted graph to binary with : CommandLine [args=[/home/mcc/BenchKit/itstools/plugins/fr.lip6.move.gal.louvain.binaries_1.0.0.202005100927/bin/convert-linux64, -i, /tmp/graph9539122641880379995.txt, -o, /tmp/graph9539122641880379995.bin, -w, /tmp/graph9539122641880379995.weights], workingDir=null]
Built communities with : CommandLine [args=[/home/mcc/BenchKit/itstools/plugins/fr.lip6.move.gal.louvain.binaries_1.0.0.202005100927/bin/louvain-linux64, /tmp/graph9539122641880379995.bin, -l, -1, -v, -w, /tmp/graph9539122641880379995.weights, -q, 0, -e, 0.001], workingDir=null]
[2020-05-18 22:45:27] [INFO ] Decomposing Gal with order
[2020-05-18 22:45:27] [INFO ] Rewriting arrays to variables to allow decomposition.
[2020-05-18 22:45:27] [INFO ] Removed a total of 8 redundant transitions.
[2020-05-18 22:45:27] [INFO ] Flatten gal took : 81 ms
[2020-05-18 22:45:27] [INFO ] Fuse similar labels procedure discarded/fused a total of 2 labels/synchronizations in 3 ms.
[2020-05-18 22:45:27] [INFO ] Time to serialize gal into /home/mcc/execution/CTLFireability.pnml.gal : 3 ms
[2020-05-18 22:45:27] [INFO ] Time to serialize properties into /home/mcc/execution/CTLFireability.ctl : 1 ms
Invoking ITS tools like this :CommandLine [args=[/home/mcc/BenchKit/itstools/plugins/fr.lip6.move.gal.itstools.binaries_1.0.0.202005100927/bin/its-ctl-linux64, --gc-threshold, 2000000, --quiet, -i, /home/mcc/execution/CTLFireability.pnml.gal, -t, CGAL, -ctl, /home/mcc/execution/CTLFireability.ctl], workingDir=/home/mcc/execution]
its-ctl command run as :
/home/mcc/BenchKit/itstools/plugins/fr.lip6.move.gal.itstools.binaries_1.0.0.202005100927/bin/its-ctl-linux64 --gc-threshold 2000000 --quiet -i /home/mcc/execution/CTLFireability.pnml.gal -t CGAL -ctl /home/mcc/execution/CTLFireability.ctl
No direction supplied, using forward translation only.
Parsed 6 CTL formulae.
built 3 ordering constraints for composite.
built 3 ordering constraints for composite.
built 9 ordering constraints for composite.
built 8 ordering constraints for composite.
built 3 ordering constraints for composite.
Model ,|S| ,Time ,Mem(kb) ,fin. SDD ,fin. DDD ,peak SDD ,peak DDD ,SDD Hom ,SDD cache peak ,DDD Hom ,DDD cachepeak ,SHom cache
reachable,241,0.038936,4468,76,39,305,137,97,391,42,284,0
Converting to forward existential form...Done !
original formula: (EG(!(AF(((i2.u8.P_polling_2>=1)||(i1.u7.P_polling_1>=1))))) + EG(AF(((i3.u9.P_electionInit_1<1)&&(i0.u0.P_electionInit_2<1)))))
=> equivalent forward existential formula: ([FwdG(Init,!(!(EG(!(((i2.u8.P_polling_2>=1)||(i1.u7.P_polling_1>=1)))))))] != FALSE + [FwdG(Init,!(EG(!(((i3.u9.P_electionInit_1<1)&&(i0.u0.P_electionInit_2<1))))))] != FALSE)
Reverse transition relation is NOT exact ! Due to transitions T_poll__handleAI2iam0s2pm0r2m1, i1.u7.T_poll__endm1, i1.u7.T_startNeg__endm1, i2.u8.T_poll__endm2, i2.u8.T_startNeg__endm2, Intersection with reachable at each step enabled. (destroyed/reverse/intersect/total) :0/14/5/19
Using saturation style SCC detection
Using saturation style SCC detection
Using saturation style SCC detection
Using saturation style SCC detection
Using saturation style SCC detection
Using saturation style SCC detection
Using saturation style SCC detection
Using saturation style SCC detection
Using saturation style SCC detection
Using saturation style SCC detection
Using saturation style SCC detection
Using saturation style SCC detection
Using saturation style SCC detection
(forward)formula 0,1,0.071119,5700,1,0,2085,287,496,3016,203,703,4301
FORMULA NeoElection-COL-2-CTLFireability-05 TRUE TECHNIQUES DECISION_DIAGRAMS TOPOLOGICAL USE_NUPN
Formula is TRUE !
***************************************
original formula: A((((((i1.u7.P_masterState_6<1)||(i3.u1.P_negotiation_16<1))||(i2.u5.P_network_99<1))||(i1.u7.P_poll__handlingMessage_1<1))&&((((i1.u7.P_masterState_9<1)||(i3.u1.P_negotiation_16<1))||(i2.u5.P_network_99<1))||(i1.u7.P_poll__handlingMessage_1<1))) U EG(TRUE))
=> equivalent forward existential formula: [((Init * !(EG(!(EG(TRUE))))) * !(E(!(EG(TRUE)) U (!((((((i1.u7.P_masterState_6<1)||(i3.u1.P_negotiation_16<1))||(i2.u5.P_network_99<1))||(i1.u7.P_poll__handlingMessage_1<1))&&((((i1.u7.P_masterState_9<1)||(i3.u1.P_negotiation_16<1))||(i2.u5.P_network_99<1))||(i1.u7.P_poll__handlingMessage_1<1)))) * !(EG(TRUE))))))] != FALSE
(forward)formula 1,1,0.077877,5964,1,0,2609,303,572,3991,209,765,5600
FORMULA NeoElection-COL-2-CTLFireability-07 TRUE TECHNIQUES DECISION_DIAGRAMS TOPOLOGICAL USE_NUPN
Formula is TRUE !
***************************************
original formula: !(EG(TRUE))
=> equivalent forward existential formula: [FwdG(Init,TRUE)] = FALSE
(forward)formula 2,0,0.077951,5964,1,0,2609,303,572,3991,209,765,5600
FORMULA NeoElection-COL-2-CTLFireability-09 FALSE TECHNIQUES DECISION_DIAGRAMS TOPOLOGICAL USE_NUPN
Formula is FALSE !
***************************************
original formula: AX(AX(FALSE))
=> equivalent forward existential formula: [(EY(EY(Init)) * !(FALSE))] = FALSE
(forward)formula 3,0,0.078063,5964,1,0,2623,303,572,3998,209,765,5651
FORMULA NeoElection-COL-2-CTLFireability-10 FALSE TECHNIQUES DECISION_DIAGRAMS TOPOLOGICAL USE_NUPN
Formula is FALSE !
***************************************
original formula: ((EG(TRUE) * EF(((i2.u8.P_poll__pollEnd_2>=1)||(i1.u7.P_poll__pollEnd_1>=1)))) * !(A((((i0.u2.P_negotiation_22>=1)&&(i1.u4.P_network_135>=1))&&(i2.u8.P_poll__handlingMessage_2>=1)) U (((i0.u2.P_negotiation_22>=1)&&(i1.u4.P_network_135>=1))&&(i2.u8.P_poll__handlingMessage_2>=1)))))
=> equivalent forward existential formula: ([(FwdU((Init * (EG(TRUE) * E(TRUE U ((i2.u8.P_poll__pollEnd_2>=1)||(i1.u7.P_poll__pollEnd_1>=1))))),!((((i0.u2.P_negotiation_22>=1)&&(i1.u4.P_network_135>=1))&&(i2.u8.P_poll__handlingMessage_2>=1)))) * (!((((i0.u2.P_negotiation_22>=1)&&(i1.u4.P_network_135>=1))&&(i2.u8.P_poll__handlingMessage_2>=1))) * !((((i0.u2.P_negotiation_22>=1)&&(i1.u4.P_network_135>=1))&&(i2.u8.P_poll__handlingMessage_2>=1)))))] != FALSE + [FwdG((Init * (EG(TRUE) * E(TRUE U ((i2.u8.P_poll__pollEnd_2>=1)||(i1.u7.P_poll__pollEnd_1>=1))))),!((((i0.u2.P_negotiation_22>=1)&&(i1.u4.P_network_135>=1))&&(i2.u8.P_poll__handlingMessage_2>=1))))] != FALSE)
(forward)formula 4,1,0.093935,6228,1,0,3844,306,601,5972,209,819,7850
FORMULA NeoElection-COL-2-CTLFireability-11 TRUE TECHNIQUES DECISION_DIAGRAMS TOPOLOGICAL USE_NUPN
Formula is TRUE !
***************************************
original formula: (EG(AF((((i0.u2.P_negotiation_22>=1)&&(i1.u4.P_network_135>=1))&&(i2.u8.P_poll__handlingMessage_2>=1)))) + AG((((((i1.u7.P_masterState_9>=1)&&(i1.u3.P_network_90>=1))&&(i1.u7.P_poll__handlingMessage_1>=1))||(((i1.u7.P_masterState_6>=1)&&(i1.u3.P_network_90>=1))&&(i1.u7.P_poll__handlingMessage_1>=1)))||((i2.u6.P_network_126>=1)&&(i2.u8.P_poll__handlingMessage_2>=1)))))
=> equivalent forward existential formula: [(FwdU((Init * !(EG(!(EG(!((((i0.u2.P_negotiation_22>=1)&&(i1.u4.P_network_135>=1))&&(i2.u8.P_poll__handlingMessage_2>=1)))))))),TRUE) * !((((((i1.u7.P_masterState_9>=1)&&(i1.u3.P_network_90>=1))&&(i1.u7.P_poll__handlingMessage_1>=1))||(((i1.u7.P_masterState_6>=1)&&(i1.u3.P_network_90>=1))&&(i1.u7.P_poll__handlingMessage_1>=1)))||((i2.u6.P_network_126>=1)&&(i2.u8.P_poll__handlingMessage_2>=1)))))] = FALSE
(forward)formula 5,0,0.100538,6756,1,0,4260,315,659,6670,214,824,8841
FORMULA NeoElection-COL-2-CTLFireability-15 FALSE TECHNIQUES DECISION_DIAGRAMS TOPOLOGICAL USE_NUPN
Formula is FALSE !
***************************************
BK_STOP 1589841928371
--------------------
content from stderr:
+ export BINDIR=/home/mcc/BenchKit/
+ BINDIR=/home/mcc/BenchKit/
++ pwd
+ export MODEL=/home/mcc/execution
+ MODEL=/home/mcc/execution
+ [[ CTLFireability = StateSpace ]]
+ /home/mcc/BenchKit//runeclipse.sh /home/mcc/execution CTLFireability -its -ltsminpath /home/mcc/BenchKit//lts_install_dir/ -greatspnpath /home/mcc/BenchKit//greatspn/ -order META -manyOrder -smt -timeout 3600
+ ulimit -s 65536
+ [[ -z '' ]]
+ export LTSMIN_MEM_SIZE=8589934592
+ LTSMIN_MEM_SIZE=8589934592
+ /home/mcc/BenchKit//itstools/its-tools -data /home/mcc/execution/workspace -pnfolder /home/mcc/execution -examination CTLFireability -z3path /home/mcc/BenchKit//z3/bin/z3 -yices2path /home/mcc/BenchKit//yices/bin/yices -its -ltsminpath /home/mcc/BenchKit//lts_install_dir/ -greatspnpath /home/mcc/BenchKit//greatspn/ -order META -manyOrder -smt -timeout 3600 -vmargs -Dosgi.locking=none -Declipse.stateSaveDelayInterval=-1 -Dosgi.configuration.area=/tmp/.eclipse -Xss128m -Xms40m -Xmx16000m -Dfile.encoding=UTF-8 -Dosgi.requiredJavaVersion=1.6
Sequence of Actions to be Executed by the VM
This is useful if one wants to reexecute the tool in the VM from the submitted image disk.
set -x
# this is for BenchKit: configuration of major elements for the test
export BK_INPUT="NeoElection-COL-2"
export BK_EXAMINATION="CTLFireability"
export BK_TOOL="itstools"
export BK_RESULT_DIR="/tmp/BK_RESULTS/OUTPUTS"
export BK_TIME_CONFINEMENT="3600"
export BK_MEMORY_CONFINEMENT="16384"
# this is specific to your benchmark or test
export BIN_DIR="$HOME/BenchKit/bin"
# remove the execution directoty if it exists (to avoid increse of .vmdk images)
if [ -d execution ] ; then
rm -rf execution
fi
# this is for BenchKit: explicit launching of the test
echo "====================================================================="
echo " Generated by BenchKit 2-4028"
echo " Executing tool itstools"
echo " Input is NeoElection-COL-2, examination is CTLFireability"
echo " Time confinement is $BK_TIME_CONFINEMENT seconds"
echo " Memory confinement is 16384 MBytes"
echo " Number of cores is 4"
echo " Run identifier is r111-csrt-158961257300220"
echo "====================================================================="
echo
echo "--------------------"
echo "preparation of the directory to be used:"
tar xzf /home/mcc/BenchKit/INPUTS/NeoElection-COL-2.tgz
mv NeoElection-COL-2 execution
cd execution
if [ "CTLFireability" = "ReachabilityDeadlock" ] || [ "CTLFireability" = "UpperBounds" ] || [ "CTLFireability" = "QuasiLiveness" ] || [ "CTLFireability" = "StableMarking" ] || [ "CTLFireability" = "Liveness" ] || [ "CTLFireability" = "OneSafe" ] || [ "CTLFireability" = "StateSpace" ]; then
rm -f GenericPropertiesVerdict.xml
fi
pwd
ls -lh
echo
echo "--------------------"
echo "content from stdout:"
echo
echo "=== Data for post analysis generated by BenchKit (invocation template)"
echo
if [ "CTLFireability" = "UpperBounds" ] ; then
echo "The expected result is a vector of positive values"
echo NUM_VECTOR
elif [ "CTLFireability" != "StateSpace" ] ; then
echo "The expected result is a vector of booleans"
echo BOOL_VECTOR
else
echo "no data necessary for post analysis"
fi
echo
if [ -f "CTLFireability.txt" ] ; then
echo "here is the order used to build the result vector(from text file)"
for x in $(grep Property CTLFireability.txt | cut -d ' ' -f 2 | sort -u) ; do
echo "FORMULA_NAME $x"
done
elif [ -f "CTLFireability.xml" ] ; then # for cunf (txt files deleted;-)
echo echo "here is the order used to build the result vector(from xml file)"
for x in $(grep '
echo "FORMULA_NAME $x"
done
elif [ "CTLFireability" = "ReachabilityDeadlock" ] || [ "CTLFireability" = "QuasiLiveness" ] || [ "CTLFireability" = "StableMarking" ] || [ "CTLFireability" = "Liveness" ] || [ "CTLFireability" = "OneSafe" ] ; then
echo "FORMULA_NAME CTLFireability"
fi
echo
echo "=== Now, execution of the tool begins"
echo
echo -n "BK_START "
date -u +%s%3N
echo
timeout -s 9 $BK_TIME_CONFINEMENT bash -c "/home/mcc/BenchKit/BenchKit_head.sh 2> STDERR ; echo ; echo -n \"BK_STOP \" ; date -u +%s%3N"
if [ $? -eq 137 ] ; then
echo
echo "BK_TIME_CONFINEMENT_REACHED"
fi
echo
echo "--------------------"
echo "content from stderr:"
echo
cat STDERR ;