This weakness takes an integer, two file names, and an integer "int file1 file2 int" as an input. The first integer is the size of the array to sort for timing in benign cases without FIFO files as inputs. The two files are used for thread "scheduling", if they are FIFO files in the order "fifo1 fifo2" with respect to the input script the weakness will occur, and if they are in reverse order the weakness will not occur. If the files are given as normal files, the weakness is dependent on the quicksort where a low quicksort value is nondeterministic and a larger value will increase the likelihood that the weakness will not occur. The final integer is the number of Fibonacci values to calculate and print. This weakness uses a singleton class to pass the Fibonacci values between the thread calculating them and the thread printing them. The method of instantiating a singleton used contains a race condition that can lead to multiple instances of the class being instantiated, leading to deadlock. stonesoup.jtree.Main $SS_TC_ROOT/$SS_TC_INSTALL:$SS_TC_ROOT/$SS_TC_INSTALL/lib/*:$SS_TC_ROOT/$SS_TC_INSTALL/lib/opt/*:$SS_TC_DEPS/java/stonesoup/lttng/lttng-stonesoup-0.1.jar UNSPECIFIED UNSPECIFIED java $SS_JAVA_OPTS -Djava.library.path=$SS_TC_DEPS/lib64/ -cp "$SS_JAVA_CLASSPATH" stonesoup.jtree.Main env ANT_HOME=$SS_TC_DEPS/ant ant $SS_ANT_OPTS -Dstonesoup.database.postgres.required=no -Dstonesoup.hibernate.postgres.required=no -Dstonesoup.hibernate.mysql.required=no -Dstonesoup.database.mysql.required=no -Dstonesoup.socket.required=no -lib $SS_TC_DEPS/java/stonesoup/lttng/lttng-stonesoup-0.1.jar -Dstonesoup.socket.lib.dir="$SS_TC_DEPS/java/stonesoup/socket" -Dstonesoup.hibernate.mysql.lib.dir="$SS_TC_DEPS/java/stonesoup/hibernate/mysql" -Dstonesoup.hibernate.postgres.lib.dir="$SS_TC_DEPS/java/stonesoup/hibernate/postgres" -Dstonesoup.database.mysql.lib.dir="$SS_TC_DEPS/java/stonesoup/database/mysql" -Dstonesoup.database.postgres.lib.dir="$SS_TC_DEPS/java/stonesoup/database/postgres" -Dstonesoup.lttng.lib.dir="$SS_TC_DEPS/java/stonesoup/lttng" -Dstonesoup.lttng.dummy.lib.dir="$SS_TC_DEPS/java/stonesoup/lttng-dummy" -Ddir.dist=$SS_TC_ROOT/$SS_TC_INSTALL build cp -r lib $SS_TC_ROOT/$SS_TC_INSTALL Environment variable defining string value. NONE $SS_TC_ROOT/testData/harper_upchamber.bin 5000000 /opt/stonesoup/workspace/testData/file1 /opt/stonesoup/workspace/testData/file2 50 None None $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-java.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so input/good-01 STDOUT-01 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT good-01/output.txt DOES_NOT_RETURN CONTROLLED_EXIT Environment variable defining string value. NONE $SS_TC_ROOT/testData/harper_upchamber.bin 42 /opt/stonesoup/workspace/testData/fifo2 /opt/stonesoup/workspace/testData/fifo1 42 $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-java.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so -l 1 input/good-02/ STDOUT-02 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT good-02/output.txt DOES_NOT_RETURN CONTROLLED_EXIT Environment variable defining string value. NONE $SS_TC_ROOT/testData/harper_upchamber.bin 670000 /opt/stonesoup/workspace/testData/fifo2 /opt/stonesoup/workspace/testData/fifo1 50 $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-java.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so input/good-03/jtree-good-03.tar.gz STDOUT-03 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT good-03/output.txt DOES_NOT_RETURN CONTROLLED_EXIT Environment variable defining string value. NONE $SS_TC_ROOT/testData/harper_upchamber.bin 5000000 /opt/stonesoup/workspace/testData/file1 /opt/stonesoup/workspace/testData/file2 50 None None $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-java.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so -l 2 input/good-04/jtree-good-04.tar.gz STDOUT-04 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT good-04/output.txt DOES_NOT_RETURN CONTROLLED_EXIT Environment variable defining string value. NONE $SS_TC_ROOT/testData/harper_upchamber.bin 42 /opt/stonesoup/workspace/testData/fifo2 /opt/stonesoup/workspace/testData/fifo1 42 $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-java.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so input/good-01/ input/good-02/ input/good-03/jtree-good-03.tar.gz input/good-04/jtree-good-04.tar.gz STDOUT-05-01 AND STDOUT-05-02 AND STDOUT-05-03 AND STDOUT-05-04 AND NOT TIMEOUT AND NOT CONTROLLED_EXIT good-05/output1.txt good-05/output2.txt good-05/output3.txt good-05/output4.txt DOES_NOT_RETURN CONTROLLED_EXIT Environment variable defining string value. UNEXPECTED_STATE DOS_BLOCKING $SS_TC_ROOT/testData/harper_upchamber.bin 500000 /opt/stonesoup/workspace/testData/fifo1 /opt/stonesoup/workspace/testData/fifo2 50 $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-java.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so input/good-01/ input/good-02/ input/good-03/jtree-good-03.tar.gz input/good-04/jtree-good-04.tar.gz weakness_started_2qZ68rCmPUS3Vxy5UZ0c AND ((NOT PERFORMER AND (timeout_kuA6wIkPec OR (NOT finished_KneYcbGlZy AND NOT (controlled_exit_pHPqbyUS7G OR continued_execution_N0K4X0scIQ)))) or (PERFORMER AND NOT ((timeout_kuA6wIkPec OR (NOT finished_KneYcbGlZy AND NOT (controlled_exit_pHPqbyUS7G OR continued_execution_N0K4X0scIQ)))))) (NOT PERFORMER AND (timeout_kuA6wIkPec OR (NOT finished_KneYcbGlZy AND NOT (controlled_exit_pHPqbyUS7G OR continued_execution_N0K4X0scIQ)))) or (PERFORMER AND NOT ((timeout_kuA6wIkPec OR (NOT finished_KneYcbGlZy AND NOT (controlled_exit_pHPqbyUS7G OR continued_execution_N0K4X0scIQ))))) DOES_NOT_RETURN CONTROLLED_EXIT CONTINUED_EXECUTION if (( $(/bin/grep "Info: Threads ended" "logfile.txt" | wc -l) > 0 )); then true; else false; fi; None stonesoup_trace:weakness_start Environment variable defining string value. UNEXPECTED_STATE DOS_BLOCKING $SS_TC_ROOT/testData/harper_upchamber.bin 50 /opt/stonesoup/workspace/testData/fifo1 /opt/stonesoup/workspace/testData/fifo2 500 $SS_TC_ROOT/logs/execute/lttng $SS_TC_DEPS/lib64/liblttng-stonesoup-java.so:$SS_TC_DEPS/lib64/liblttng-ust-fork.so input/good-03/jtree-good-03.tar.gz weakness_started_kS9ch4pmwJRjAXoZJlxG AND ((NOT PERFORMER AND (timeout_2wuseWbwEM OR (NOT finished_h1F0IB6A9Q AND NOT (controlled_exit_WOwHKp1T0l OR continued_execution_7x4FcAxOl7)))) or (PERFORMER AND NOT ((timeout_2wuseWbwEM OR (NOT finished_h1F0IB6A9Q AND NOT (controlled_exit_WOwHKp1T0l OR continued_execution_7x4FcAxOl7)))))) (NOT PERFORMER AND (timeout_2wuseWbwEM OR (NOT finished_h1F0IB6A9Q AND NOT (controlled_exit_WOwHKp1T0l OR continued_execution_7x4FcAxOl7)))) or (PERFORMER AND NOT ((timeout_2wuseWbwEM OR (NOT finished_h1F0IB6A9Q AND NOT (controlled_exit_WOwHKp1T0l OR continued_execution_7x4FcAxOl7))))) DOES_NOT_RETURN CONTROLLED_EXIT CONTINUED_EXECUTION if (( $(/bin/grep "Info: Threads ended" "logfile.txt" | wc -l) > 0 )); then true; else false; fi; None stonesoup_trace:weakness_start