./Ultimate.py --spec ../../../trunk/examples/svcomp/properties/unreach-call.prp --file ../../../trunk/examples/svcomp/pthread-C-DAC/pthread-demo-datarace-1.i --full-output --witness-type correctness_witness --witnessparser.only.consider.loop.invariants false --validate ./goblint.2023-12-19_14-39-08.files/SV-COMP24_unreach-call/pthread-demo-datarace-1.yml/witness.yml --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 3d25acf6 Calling Ultimate with: /root/.sdkman/candidates/java/current/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReachWitnessValidation.xml -i ../../../trunk/examples/svcomp/pthread-C-DAC/pthread-demo-datarace-1.i ./goblint.2023-12-19_14-39-08.files/SV-COMP24_unreach-call/pthread-demo-datarace-1.yml/witness.yml -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --traceabstraction.compute.hoare.annotation.of.negated.interpolant.automaton,.abstraction.and.cfg false --witnessparser.only.consider.loop.invariants false --- Real Ultimate output --- This is Ultimate 0.2.4-dev-3d25acf-m [2024-01-30 14:21:13,576 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-01-30 14:21:13,653 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2024-01-30 14:21:13,659 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-01-30 14:21:13,659 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-01-30 14:21:13,688 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-01-30 14:21:13,689 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-01-30 14:21:13,689 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-01-30 14:21:13,690 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-01-30 14:21:13,694 INFO L153 SettingsManager]: * Use memory slicer=true [2024-01-30 14:21:13,694 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-01-30 14:21:13,694 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-01-30 14:21:13,695 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-01-30 14:21:13,697 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-01-30 14:21:13,697 INFO L153 SettingsManager]: * Use SBE=true [2024-01-30 14:21:13,697 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-01-30 14:21:13,697 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-01-30 14:21:13,705 INFO L153 SettingsManager]: * sizeof long=4 [2024-01-30 14:21:13,706 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-01-30 14:21:13,706 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-01-30 14:21:13,706 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-01-30 14:21:13,708 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-01-30 14:21:13,708 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-01-30 14:21:13,708 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-01-30 14:21:13,708 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-01-30 14:21:13,709 INFO L153 SettingsManager]: * sizeof long double=12 [2024-01-30 14:21:13,709 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-01-30 14:21:13,709 INFO L153 SettingsManager]: * Use constant arrays=true [2024-01-30 14:21:13,710 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-01-30 14:21:13,710 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-01-30 14:21:13,711 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-01-30 14:21:13,711 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-01-30 14:21:13,711 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-01-30 14:21:13,712 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-01-30 14:21:13,712 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-01-30 14:21:13,712 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-01-30 14:21:13,713 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-01-30 14:21:13,713 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-01-30 14:21:13,713 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-01-30 14:21:13,713 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2024-01-30 14:21:13,713 INFO L153 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2024-01-30 14:21:13,714 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2024-01-30 14:21:13,714 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2024-01-30 14:21:13,714 INFO L153 SettingsManager]: * Looper check in Petri net analysis=SEMANTIC WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessparser: Only consider loop invariants -> false [2024-01-30 14:21:13,975 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-01-30 14:21:13,996 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-01-30 14:21:13,998 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-01-30 14:21:14,000 INFO L270 PluginConnector]: Initializing CDTParser... [2024-01-30 14:21:14,000 INFO L274 PluginConnector]: CDTParser initialized [2024-01-30 14:21:14,001 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/pthread-C-DAC/pthread-demo-datarace-1.i [2024-01-30 14:21:15,170 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-01-30 14:21:15,498 INFO L384 CDTParser]: Found 1 translation units. [2024-01-30 14:21:15,499 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/pthread-C-DAC/pthread-demo-datarace-1.i [2024-01-30 14:21:15,514 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c61279d0c/6be101a9929b4c76a528e735c2f409fb/FLAGf62873ab8 [2024-01-30 14:21:15,525 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c61279d0c/6be101a9929b4c76a528e735c2f409fb [2024-01-30 14:21:15,528 INFO L270 PluginConnector]: Initializing Witness Parser... [2024-01-30 14:21:15,528 INFO L274 PluginConnector]: Witness Parser initialized [2024-01-30 14:21:15,529 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/./goblint.2023-12-19_14-39-08.files/SV-COMP24_unreach-call/pthread-demo-datarace-1.yml/witness.yml [2024-01-30 14:21:15,661 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-01-30 14:21:15,663 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2024-01-30 14:21:15,664 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-01-30 14:21:15,664 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-01-30 14:21:15,668 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-01-30 14:21:15,668 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 30.01 02:21:15" (1/2) ... [2024-01-30 14:21:15,669 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@49d10458 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.01 02:21:15, skipping insertion in model container [2024-01-30 14:21:15,669 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 30.01 02:21:15" (1/2) ... [2024-01-30 14:21:15,671 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@60a65a2d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.01 02:21:15, skipping insertion in model container [2024-01-30 14:21:15,671 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 30.01 02:21:15" (2/2) ... [2024-01-30 14:21:15,672 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@49d10458 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 30.01 02:21:15, skipping insertion in model container [2024-01-30 14:21:15,672 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 30.01 02:21:15" (2/2) ... [2024-01-30 14:21:15,672 INFO L83 nessWitnessExtractor]: Extracting all invariants from correctness witness [2024-01-30 14:21:15,807 INFO L96 nessWitnessExtractor]: Found the following entries in the witness: [2024-01-30 14:21:15,808 INFO L98 nessWitnessExtractor]: Location invariant before [L1349-L1349] (((((((((((i == 11 || i == 10) || i == 9) || i == 8) || i == 7) || i == 6) || i == 5) || i == 4) || i == 3) || i == 2) || i == 1) || (0 == i && i == 0)) || (12 <= i && i <= 19) [2024-01-30 14:21:15,808 INFO L98 nessWitnessExtractor]: Location invariant before [L1350-L1350] (0 <= myglobal) && ((((((((((((i == 11 || i == 10) || i == 9) || i == 8) || i == 7) || i == 6) || i == 5) || i == 4) || i == 3) || i == 2) || i == 1) || (0 == i && i == 0)) || (12 <= i && i <= 19)) [2024-01-30 14:21:15,809 INFO L98 nessWitnessExtractor]: Location invariant before [L1353-L1356] i == 20 [2024-01-30 14:21:15,809 INFO L98 nessWitnessExtractor]: Location invariant before [L1341-L1341] (((((2147483648LL + (long long )i) + (long long )myglobal >= 0LL) && ((2147483647LL - (long long )i) + (long long )myglobal >= 0LL)) && ((2147483648LL + (long long )i) - (long long )myglobal >= 0LL)) && ((2147483647LL - (long long )i) - (long long )myglobal >= 0LL)) && (myglobal == 0) [2024-01-30 14:21:15,809 INFO L98 nessWitnessExtractor]: Location invariant before [L1325-L1325] ((unsigned long )arg == 0UL) && ((1 <= j && (((((((7 <= i && i <= 19) || i == 6) || i == 5) || i == 4) || i == 3) || i == 2) || i == 1)) || ((((((2147483648LL + (long long )i) + (long long )j >= 0LL && (2147483648LL - (long long )i) + (long long )j >= 0LL) && (2147483647LL + (long long )i) - (long long )j >= 0LL) && (2147483647LL - (long long )i) - (long long )j >= 0LL) && 0 == i) && i == 0)) [2024-01-30 14:21:15,809 INFO L98 nessWitnessExtractor]: Loop invariant at [L1323-L1331] ((unsigned long )arg == 0UL) && (((1 <= j && ((((((((((((((7 <= i && (i <= 19 || i <= 20)) || i == 6) || i == 6) || i == 5) || i == 5) || i == 4) || i == 4) || i == 3) || i == 3) || i == 2) || i == 2) || i == 1) || i == 1) || (0 == i && i == 0))) || ((((((2147483648LL + (long long )i) + (long long )j >= 0LL && (2147483648LL - (long long )i) + (long long )j >= 0LL) && (2147483647LL + (long long )i) - (long long )j >= 0LL) && (2147483647LL - (long long )i) - (long long )j >= 0LL) && 0 == i) && i == 0)) || ((((4294967296LL + (long long )i) + (long long )j >= 0LL && (4294967295LL - (long long )i) + (long long )j >= 0LL) && (4294967295LL + (long long )i) - (long long )j >= 0LL) && (4294967294LL - (long long )i) - (long long )j >= 0LL)) [2024-01-30 14:21:15,809 INFO L98 nessWitnessExtractor]: Location invariant before [L1351-L1351] (1 <= myglobal) && ((((((((((((i == 11 || i == 10) || i == 9) || i == 8) || i == 7) || i == 6) || i == 5) || i == 4) || i == 3) || i == 2) || i == 1) || (0 == i && i == 0)) || (12 <= i && i <= 19)) [2024-01-30 14:21:15,810 INFO L98 nessWitnessExtractor]: Location invariant before [L1342-L1342] (((((2147483648LL + (long long )i) + (long long )myglobal >= 0LL) && ((2147483647LL - (long long )i) + (long long )myglobal >= 0LL)) && ((2147483648LL + (long long )i) - (long long )myglobal >= 0LL)) && ((2147483647LL - (long long )i) - (long long )myglobal >= 0LL)) && (myglobal == 0) [2024-01-30 14:21:15,810 INFO L98 nessWitnessExtractor]: Location invariant before [L1332-L1332] ((1 <= j) && (i == 20)) && ((unsigned long )arg == 0UL) [2024-01-30 14:21:15,810 INFO L98 nessWitnessExtractor]: Location invariant before [L1330-L1330] (((((1 <= myglobal) && (1 <= j)) && ((0LL - (long long )j) + (long long )myglobal >= 0LL)) && ((long long )j - (long long )myglobal >= 0LL)) && ((unsigned long )arg == 0UL)) && ((((((((7 <= i && i <= 19) || i == 6) || i == 5) || i == 4) || i == 3) || i == 2) || i == 1) || (0 == i && i == 0)) [2024-01-30 14:21:15,810 INFO L98 nessWitnessExtractor]: Location invariant before [L1340-L1340] (((((2147483648LL + (long long )i) + (long long )myglobal >= 0LL) && ((2147483647LL - (long long )i) + (long long )myglobal >= 0LL)) && ((2147483648LL + (long long )i) - (long long )myglobal >= 0LL)) && ((2147483647LL - (long long )i) - (long long )myglobal >= 0LL)) && (myglobal == 0) [2024-01-30 14:21:15,810 INFO L98 nessWitnessExtractor]: Location invariant before [L1338-L1338] (((((2147483648LL + (long long )i) + (long long )myglobal >= 0LL) && ((2147483647LL - (long long )i) + (long long )myglobal >= 0LL)) && ((2147483648LL + (long long )i) - (long long )myglobal >= 0LL)) && ((2147483647LL - (long long )i) - (long long )myglobal >= 0LL)) && (myglobal == 0) [2024-01-30 14:21:15,810 INFO L98 nessWitnessExtractor]: Location invariant before [L1357-L1357] i == 20 [2024-01-30 14:21:15,811 INFO L98 nessWitnessExtractor]: Location invariant before [L1355-L1355] i == 20 [2024-01-30 14:21:15,811 INFO L98 nessWitnessExtractor]: Location invariant before [L1339-L1339] (((((2147483648LL + (long long )i) + (long long )myglobal >= 0LL) && ((2147483647LL - (long long )i) + (long long )myglobal >= 0LL)) && ((2147483648LL + (long long )i) - (long long )myglobal >= 0LL)) && ((2147483647LL - (long long )i) - (long long )myglobal >= 0LL)) && (myglobal == 0) [2024-01-30 14:21:15,811 INFO L98 nessWitnessExtractor]: Location invariant before [L1328-L1328] (((0 <= myglobal) && (1 <= j)) && ((unsigned long )arg == 0UL)) && ((((((((7 <= i && i <= 19) || i == 6) || i == 5) || i == 4) || i == 3) || i == 2) || i == 1) || (0 == i && i == 0)) [2024-01-30 14:21:15,811 INFO L98 nessWitnessExtractor]: Location invariant before [L1329-L1329] (((0 <= myglobal) && (1 <= j)) && ((unsigned long )arg == 0UL)) && ((((((((7 <= i && i <= 19) || i == 6) || i == 5) || i == 4) || i == 3) || i == 2) || i == 1) || (0 == i && i == 0)) [2024-01-30 14:21:15,811 INFO L98 nessWitnessExtractor]: Location invariant before [L1326-L1326] ((0 <= myglobal) && ((unsigned long )arg == 0UL)) && ((1 <= j && (((((((7 <= i && i <= 19) || i == 6) || i == 5) || i == 4) || i == 3) || i == 2) || i == 1)) || ((((((2147483648LL + (long long )i) + (long long )j >= 0LL && (2147483648LL - (long long )i) + (long long )j >= 0LL) && (2147483647LL + (long long )i) - (long long )j >= 0LL) && (2147483647LL - (long long )i) - (long long )j >= 0LL) && 0 == i) && i == 0)) [2024-01-30 14:21:15,812 INFO L98 nessWitnessExtractor]: Location invariant before [L1327-L1327] (((0 <= myglobal) && (0 <= j)) && ((unsigned long )arg == 0UL)) && ((((((((7 <= i && i <= 19) || i == 6) || i == 5) || i == 4) || i == 3) || i == 2) || i == 1) || (0 == i && i == 0)) [2024-01-30 14:21:15,812 INFO L98 nessWitnessExtractor]: Location invariant before [L1358-L1358] i == 20 [2024-01-30 14:21:15,870 INFO L177 MainTranslator]: Built tables and reachable declarations [2024-01-30 14:21:16,047 WARN L239 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-C-DAC/pthread-demo-datarace-1.i[820,833] [2024-01-30 14:21:16,406 INFO L209 PostProcessor]: Analyzing one entry point: main [2024-01-30 14:21:16,420 INFO L202 MainTranslator]: Completed pre-run [2024-01-30 14:21:16,432 WARN L239 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/pthread-C-DAC/pthread-demo-datarace-1.i[820,833] Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local [2024-01-30 14:21:16,601 INFO L209 PostProcessor]: Analyzing one entry point: main [2024-01-30 14:21:16,699 INFO L206 MainTranslator]: Completed translation [2024-01-30 14:21:16,701 INFO L201 PluginConnector]: Adding new model witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 30.01 02:21:16 WrapperNode [2024-01-30 14:21:16,702 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-01-30 14:21:16,703 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-01-30 14:21:16,703 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-01-30 14:21:16,703 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-01-30 14:21:16,709 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 30.01 02:21:16" (1/1) ... [2024-01-30 14:21:16,742 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 30.01 02:21:16" (1/1) ... [2024-01-30 14:21:16,801 INFO L138 Inliner]: procedures = 365, calls = 22, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 76 [2024-01-30 14:21:16,802 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-01-30 14:21:16,803 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-01-30 14:21:16,803 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-01-30 14:21:16,803 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-01-30 14:21:16,812 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 30.01 02:21:16" (1/1) ... [2024-01-30 14:21:16,813 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 30.01 02:21:16" (1/1) ... [2024-01-30 14:21:16,825 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 30.01 02:21:16" (1/1) ... [2024-01-30 14:21:16,843 INFO L175 MemorySlicer]: Split 9 memory accesses to 3 slices as follows [2, 2, 5]. 56 percent of accesses are in the largest equivalence class. The 7 initializations are split as follows [2, 0, 5]. The 1 writes are split as follows [0, 1, 0]. [2024-01-30 14:21:16,843 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 30.01 02:21:16" (1/1) ... [2024-01-30 14:21:16,843 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 30.01 02:21:16" (1/1) ... [2024-01-30 14:21:16,850 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 30.01 02:21:16" (1/1) ... [2024-01-30 14:21:16,853 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 30.01 02:21:16" (1/1) ... [2024-01-30 14:21:16,854 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 30.01 02:21:16" (1/1) ... [2024-01-30 14:21:16,856 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 30.01 02:21:16" (1/1) ... [2024-01-30 14:21:16,863 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-01-30 14:21:16,864 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-01-30 14:21:16,864 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-01-30 14:21:16,864 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-01-30 14:21:16,865 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 30.01 02:21:16" (1/1) ... [2024-01-30 14:21:16,870 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-01-30 14:21:16,878 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-01-30 14:21:16,897 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (exit command is (exit), workingDir is null) [2024-01-30 14:21:16,901 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Waiting until timeout for monitored process [2024-01-30 14:21:16,930 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2024-01-30 14:21:16,930 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-01-30 14:21:16,930 INFO L130 BoogieDeclarations]: Found specification of procedure #PthreadsMutexUnlock [2024-01-30 14:21:16,930 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2024-01-30 14:21:16,930 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2024-01-30 14:21:16,930 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#2 [2024-01-30 14:21:16,931 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2024-01-30 14:21:16,931 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2024-01-30 14:21:16,931 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#2 [2024-01-30 14:21:16,931 INFO L130 BoogieDeclarations]: Found specification of procedure #PthreadsMutexLock [2024-01-30 14:21:16,931 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-01-30 14:21:16,931 INFO L130 BoogieDeclarations]: Found specification of procedure thread_function_mutex [2024-01-30 14:21:16,932 INFO L138 BoogieDeclarations]: Found implementation of procedure thread_function_mutex [2024-01-30 14:21:16,932 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2024-01-30 14:21:16,932 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2024-01-30 14:21:16,932 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#2 [2024-01-30 14:21:16,932 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-01-30 14:21:16,932 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-01-30 14:21:16,934 WARN L214 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement [2024-01-30 14:21:17,051 INFO L244 CfgBuilder]: Building ICFG [2024-01-30 14:21:17,053 INFO L270 CfgBuilder]: Building CFG for each procedure with an implementation [2024-01-30 14:21:17,391 INFO L289 CfgBuilder]: Ommited future-live optimization because the input is a concurrent program. [2024-01-30 14:21:17,392 INFO L293 CfgBuilder]: Performing block encoding [2024-01-30 14:21:17,496 INFO L315 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-01-30 14:21:17,497 INFO L320 CfgBuilder]: Removed 2 assume(true) statements. [2024-01-30 14:21:17,498 INFO L201 PluginConnector]: Adding new model witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 30.01 02:21:17 BoogieIcfgContainer [2024-01-30 14:21:17,498 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-01-30 14:21:17,501 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2024-01-30 14:21:17,501 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2024-01-30 14:21:17,504 INFO L274 PluginConnector]: TraceAbstraction initialized [2024-01-30 14:21:17,504 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 30.01 02:21:15" (1/4) ... [2024-01-30 14:21:17,505 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@762a225 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 30.01 02:21:17, skipping insertion in model container [2024-01-30 14:21:17,505 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 30.01 02:21:15" (2/4) ... [2024-01-30 14:21:17,506 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@762a225 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CORRECTNESS_WITNESS 30.01 02:21:17, skipping insertion in model container [2024-01-30 14:21:17,506 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 30.01 02:21:16" (3/4) ... [2024-01-30 14:21:17,507 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@762a225 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CORRECTNESS_WITNESS 30.01 02:21:17, skipping insertion in model container [2024-01-30 14:21:17,507 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 30.01 02:21:17" (4/4) ... [2024-01-30 14:21:17,508 INFO L112 eAbstractionObserver]: Analyzing ICFG pthread-demo-datarace-1.i [2024-01-30 14:21:17,524 INFO L204 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2024-01-30 14:21:17,524 INFO L163 ceAbstractionStarter]: Applying trace abstraction to program that has 22 error locations. [2024-01-30 14:21:17,524 INFO L518 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2024-01-30 14:21:17,602 INFO L144 ThreadInstanceAdder]: Constructed 1 joinOtherThreadTransitions. [2024-01-30 14:21:17,642 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 67 places, 67 transitions, 141 flow [2024-01-30 14:21:17,679 INFO L124 PetriNetUnfolderBase]: 4/66 cut-off events. [2024-01-30 14:21:17,680 INFO L125 PetriNetUnfolderBase]: For 1/1 co-relation queries the response was YES. [2024-01-30 14:21:17,683 INFO L83 FinitePrefix]: Finished finitePrefix Result has 71 conditions, 66 events. 4/66 cut-off events. For 1/1 co-relation queries the response was YES. Maximal size of possible extension queue 6. Compared 146 event pairs, 0 based on Foata normal form. 0/40 useless extension candidates. Maximal degree in co-relation 40. Up to 2 conditions per place. [2024-01-30 14:21:17,683 INFO L82 GeneralOperation]: Start removeDead. Operand has 67 places, 67 transitions, 141 flow [2024-01-30 14:21:17,686 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 65 places, 65 transitions, 136 flow [2024-01-30 14:21:17,693 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2024-01-30 14:21:17,701 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=false, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopHeads, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=[Lde.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings;@166dec59, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-01-30 14:21:17,701 INFO L358 AbstractCegarLoop]: Starting to check reachability of 32 error locations. [2024-01-30 14:21:17,703 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-01-30 14:21:17,703 INFO L124 PetriNetUnfolderBase]: 0/1 cut-off events. [2024-01-30 14:21:17,703 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2024-01-30 14:21:17,703 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-01-30 14:21:17,703 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1] [2024-01-30 14:21:17,704 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 29 more)] === [2024-01-30 14:21:17,708 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-01-30 14:21:17,708 INFO L85 PathProgramCache]: Analyzing trace with hash 9728, now seen corresponding path program 1 times [2024-01-30 14:21:17,721 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-01-30 14:21:17,721 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1788284009] [2024-01-30 14:21:17,721 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-01-30 14:21:17,722 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-01-30 14:21:17,858 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-01-30 14:21:17,858 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-01-30 14:21:17,911 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-01-30 14:21:17,937 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-01-30 14:21:17,939 INFO L360 BasicCegarLoop]: Counterexample is feasible [2024-01-30 14:21:17,940 INFO L805 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT (31 of 32 remaining) [2024-01-30 14:21:17,941 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT (30 of 32 remaining) [2024-01-30 14:21:17,942 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (29 of 32 remaining) [2024-01-30 14:21:17,942 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr3ASSERT_VIOLATIONWITNESS_INVARIANT (28 of 32 remaining) [2024-01-30 14:21:17,942 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr4ASSERT_VIOLATIONWITNESS_INVARIANT (27 of 32 remaining) [2024-01-30 14:21:17,942 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr5ASSERT_VIOLATIONWITNESS_INVARIANT (26 of 32 remaining) [2024-01-30 14:21:17,943 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr8ASSERT_VIOLATIONWITNESS_INVARIANT (25 of 32 remaining) [2024-01-30 14:21:17,943 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr6ASSERT_VIOLATIONWITNESS_INVARIANT (24 of 32 remaining) [2024-01-30 14:21:17,943 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr9ASSERT_VIOLATIONWITNESS_INVARIANT (23 of 32 remaining) [2024-01-30 14:21:17,943 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr10ASSERT_VIOLATIONWITNESS_INVARIANT (22 of 32 remaining) [2024-01-30 14:21:17,943 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr7ASSERT_VIOLATIONWITNESS_INVARIANT (21 of 32 remaining) [2024-01-30 14:21:17,944 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr11ASSERT_VIOLATIONERROR_FUNCTION (20 of 32 remaining) [2024-01-30 14:21:17,945 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr12ASSERT_VIOLATIONWITNESS_INVARIANT (19 of 32 remaining) [2024-01-30 14:21:17,945 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (18 of 32 remaining) [2024-01-30 14:21:17,945 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location thread_function_mutexErr0ASSERT_VIOLATIONWITNESS_INVARIANT (17 of 32 remaining) [2024-01-30 14:21:17,946 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location thread_function_mutexErr1ASSERT_VIOLATIONWITNESS_INVARIANT (16 of 32 remaining) [2024-01-30 14:21:17,946 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location thread_function_mutexErr8ASSERT_VIOLATIONWITNESS_INVARIANT (15 of 32 remaining) [2024-01-30 14:21:17,946 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location thread_function_mutexErr2ASSERT_VIOLATIONWITNESS_INVARIANT (14 of 32 remaining) [2024-01-30 14:21:17,946 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location thread_function_mutexErr3ASSERT_VIOLATIONWITNESS_INVARIANT (13 of 32 remaining) [2024-01-30 14:21:17,947 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location thread_function_mutexErr4ASSERT_VIOLATIONWITNESS_INVARIANT (12 of 32 remaining) [2024-01-30 14:21:17,947 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location thread_function_mutexErr5ASSERT_VIOLATIONWITNESS_INVARIANT (11 of 32 remaining) [2024-01-30 14:21:17,947 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location thread_function_mutexErr6ASSERT_VIOLATIONWITNESS_INVARIANT (10 of 32 remaining) [2024-01-30 14:21:17,947 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location thread_function_mutexErr7ASSERT_VIOLATIONWITNESS_INVARIANT (9 of 32 remaining) [2024-01-30 14:21:17,948 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location thread_function_mutexErr0ASSERT_VIOLATIONWITNESS_INVARIANT (8 of 32 remaining) [2024-01-30 14:21:17,948 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location thread_function_mutexErr1ASSERT_VIOLATIONWITNESS_INVARIANT (7 of 32 remaining) [2024-01-30 14:21:17,948 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location thread_function_mutexErr8ASSERT_VIOLATIONWITNESS_INVARIANT (6 of 32 remaining) [2024-01-30 14:21:17,948 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location thread_function_mutexErr2ASSERT_VIOLATIONWITNESS_INVARIANT (5 of 32 remaining) [2024-01-30 14:21:17,949 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location thread_function_mutexErr3ASSERT_VIOLATIONWITNESS_INVARIANT (4 of 32 remaining) [2024-01-30 14:21:17,949 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location thread_function_mutexErr4ASSERT_VIOLATIONWITNESS_INVARIANT (3 of 32 remaining) [2024-01-30 14:21:17,950 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location thread_function_mutexErr5ASSERT_VIOLATIONWITNESS_INVARIANT (2 of 32 remaining) [2024-01-30 14:21:17,950 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location thread_function_mutexErr6ASSERT_VIOLATIONWITNESS_INVARIANT (1 of 32 remaining) [2024-01-30 14:21:17,950 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location thread_function_mutexErr7ASSERT_VIOLATIONWITNESS_INVARIANT (0 of 32 remaining) [2024-01-30 14:21:17,951 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2024-01-30 14:21:17,951 INFO L445 BasicCegarLoop]: Path program histogram: [1] [2024-01-30 14:21:17,963 INFO L229 ceAbstractionStarter]: Analysis of concurrent program completed with 1 thread instances [2024-01-30 14:21:17,963 INFO L179 ceAbstractionStarter]: Computing trace abstraction results [2024-01-30 14:21:17,980 INFO L503 ceAbstractionStarter]: Automizer considered 21 witness invariants [2024-01-30 14:21:17,980 INFO L504 ceAbstractionStarter]: WitnessConsidered=21 [2024-01-30 14:21:17,982 INFO L201 PluginConnector]: Adding new model witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 30.01 02:21:17 BasicIcfg [2024-01-30 14:21:17,982 INFO L131 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2024-01-30 14:21:17,984 INFO L158 Benchmark]: Toolchain (without parser) took 2320.63ms. Allocated memory was 167.8MB in the beginning and 220.2MB in the end (delta: 52.4MB). Free memory was 126.3MB in the beginning and 171.8MB in the end (delta: -45.5MB). Peak memory consumption was 7.8MB. Max. memory is 16.1GB. [2024-01-30 14:21:17,984 INFO L158 Benchmark]: CDTParser took 0.18ms. Allocated memory is still 167.8MB. Free memory is still 136.7MB. There was no memory consumed. Max. memory is 16.1GB. [2024-01-30 14:21:17,985 INFO L158 Benchmark]: Witness Parser took 0.16ms. Allocated memory is still 167.8MB. Free memory is still 130.9MB. There was no memory consumed. Max. memory is 16.1GB. [2024-01-30 14:21:17,985 INFO L158 Benchmark]: CACSL2BoogieTranslator took 1038.35ms. Allocated memory was 167.8MB in the beginning and 220.2MB in the end (delta: 52.4MB). Free memory was 126.2MB in the beginning and 184.4MB in the end (delta: -58.3MB). Peak memory consumption was 54.4MB. Max. memory is 16.1GB. [2024-01-30 14:21:17,987 INFO L158 Benchmark]: Boogie Procedure Inliner took 99.02ms. Allocated memory is still 220.2MB. Free memory was 184.4MB in the beginning and 181.8MB in the end (delta: 2.6MB). Peak memory consumption was 9.6MB. Max. memory is 16.1GB. [2024-01-30 14:21:17,987 INFO L158 Benchmark]: Boogie Preprocessor took 60.98ms. Allocated memory is still 220.2MB. Free memory was 181.8MB in the beginning and 179.7MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2024-01-30 14:21:17,988 INFO L158 Benchmark]: RCFGBuilder took 633.62ms. Allocated memory is still 220.2MB. Free memory was 179.7MB in the beginning and 139.8MB in the end (delta: 39.8MB). Peak memory consumption was 39.8MB. Max. memory is 16.1GB. [2024-01-30 14:21:17,990 INFO L158 Benchmark]: TraceAbstraction took 481.52ms. Allocated memory is still 220.2MB. Free memory was 138.7MB in the beginning and 171.8MB in the end (delta: -33.1MB). There was no memory consumed. Max. memory is 16.1GB. [2024-01-30 14:21:17,995 INFO L338 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.18ms. Allocated memory is still 167.8MB. Free memory is still 136.7MB. There was no memory consumed. Max. memory is 16.1GB. * Witness Parser took 0.16ms. Allocated memory is still 167.8MB. Free memory is still 130.9MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 1038.35ms. Allocated memory was 167.8MB in the beginning and 220.2MB in the end (delta: 52.4MB). Free memory was 126.2MB in the beginning and 184.4MB in the end (delta: -58.3MB). Peak memory consumption was 54.4MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 99.02ms. Allocated memory is still 220.2MB. Free memory was 184.4MB in the beginning and 181.8MB in the end (delta: 2.6MB). Peak memory consumption was 9.6MB. Max. memory is 16.1GB. * Boogie Preprocessor took 60.98ms. Allocated memory is still 220.2MB. Free memory was 181.8MB in the beginning and 179.7MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * RCFGBuilder took 633.62ms. Allocated memory is still 220.2MB. Free memory was 179.7MB in the beginning and 139.8MB in the end (delta: 39.8MB). Peak memory consumption was 39.8MB. Max. memory is 16.1GB. * TraceAbstraction took 481.52ms. Allocated memory is still 220.2MB. Free memory was 138.7MB in the beginning and 171.8MB in the end (delta: -33.1MB). There was no memory consumed. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - CounterExampleResult [Line: 1338]: invariant of correctness witness can be violated invariant of correctness witness can be violated We found a FailurePath: [L1318] int myglobal; [L1319] pthread_mutex_t mymutex = { { 0, 0, 0, 0, 0, { { 0, 0 } } } }; [L1319] pthread_mutex_t mymutex = { { 0, 0, 0, 0, 0, { { 0, 0 } } } }; [L1319] pthread_mutex_t mymutex = { { 0, 0, 0, 0, 0, { { 0, 0 } } } }; [L1319] pthread_mutex_t mymutex = { { 0, 0, 0, 0, 0, { { 0, 0 } } } }; [L1319] pthread_mutex_t mymutex = { { 0, 0, 0, 0, 0, { { 0, 0 } } } }; [L1319] pthread_mutex_t mymutex = { { 0, 0, 0, 0, 0, { { 0, 0 } } } }; [L1336] pthread_t mythread; [L1337] int i; VAL [myglobal=0, mymutex={3:0}, mythread={5:0}] [L1338] CodeAnnotStmt[Assertion[BinaryExpression[LOGICAND,BinaryExpression[LOGICAND,BinaryExpression[LOGICAND,BinaryExpression[LOGICAND,BinaryExpression[COMPGEQ,BinaryExpression[ARITHPLUS,BinaryExpression[ARITHPLUS,IntegerLiteral[2147483648LL],CastExpression[ACSLType[long long],IdentifierExpression[i]]],CastExpression[ACSLType[long long],IdentifierExpression[myglobal]]],IntegerLiteral[0LL]],BinaryExpression[COMPGEQ,BinaryExpression[ARITHPLUS,BinaryExpression[ARITHMINUS,IntegerLiteral[2147483647LL],CastExpression[ACSLType[long long],IdentifierExpression[i]]],CastExpression[ACSLType[long long],IdentifierExpression[myglobal]]],IntegerLiteral[0LL]]],BinaryExpression[COMPGEQ,BinaryExpression[ARITHMINUS,BinaryExpression[ARITHPLUS,IntegerLiteral[2147483648LL],CastExpression[ACSLType[long long],IdentifierExpression[i]]],CastExpression[ACSLType[long long],IdentifierExpression[myglobal]]],IntegerLiteral[0LL]]],BinaryExpression[COMPGEQ,BinaryExpression[ARITHMINUS,BinaryExpression[ARITHMINUS,IntegerLiteral[2147483647LL],CastExpression[ACSLType[long long],IdentifierExpression[i]]],CastExpression[ACSLType[long long],IdentifierExpression[myglobal]]],IntegerLiteral[0LL]]],BinaryExpression[COMPEQ,IdentifierExpression[myglobal],IntegerLiteral[0]]]]] VAL [i=-2147483649, myglobal=0, mymutex={3:0}, mythread={5:0}] - UnprovableResult [Line: 1339]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - UnprovableResult [Line: 1340]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - UnprovableResult [Line: 1341]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - UnprovableResult [Line: 1342]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - UnprovableResult [Line: 1349]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - UnprovableResult [Line: 1353]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - UnprovableResult [Line: 1350]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - UnprovableResult [Line: 1355]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - UnprovableResult [Line: 1357]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - UnprovableResult [Line: 1351]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - UnprovableResult [Line: 13]: Unable to prove that a call to reach_error is unreachable Unable to prove that a call to reach_error is unreachable Reason: Not analyzed. - UnprovableResult [Line: 1358]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - UnprovableResult [Line: 1343]: Unable to prove that petrification did provide enough thread instances (tool internal message) Unable to prove that petrification did provide enough thread instances (tool internal message) Reason: Not analyzed. - UnprovableResult [Line: 1323]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - UnprovableResult [Line: 1325]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - UnprovableResult [Line: 1332]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - UnprovableResult [Line: 1326]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - UnprovableResult [Line: 1327]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - UnprovableResult [Line: 1328]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - UnprovableResult [Line: 1329]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - UnprovableResult [Line: 1330]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - UnprovableResult [Line: 1323]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - StatisticsResult: Ultimate Automizer benchmark data with 1 thread instances CFG has 3 procedures, 90 locations, 32 error locations. Started 1 CEGAR loops. EmptinessCheckTime: 0.0s, RemoveRedundantFlowTime: 0.0s, RemoveRedundantFlowUnfoldingTime: 0.0s, BackfoldingTime: 0.0s, BackfoldingUnfoldingTime: 0.0s, FlowIncreaseByBackfolding: 0, BasicCegarLoop: OverallTime: 0.3s, OverallIterations: 1, TraceHistogramMax: 1, PathProgramHistogramMax: 1, EmptinessCheckTime: 0.0s, AutomataDifference: 0.0s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.1s, HoareTripleCheckerStatistics: , PredicateUnifierStatistics: No data available, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=136occurred in iteration=0, InterpolantAutomatonStates: 0, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: No data available, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.0s SatisfiabilityAnalysisTime, 0.0s InterpolantComputationTime, 2 NumberOfCodeBlocks, 2 NumberOfCodeBlocksAsserted, 1 NumberOfCheckSat, 0 ConstructedInterpolants, 0 QuantifiedInterpolants, 0 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 0 InterpolantComputations, 0 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! [2024-01-30 14:21:18,027 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Forceful destruction successful, exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Writing output log to file Ultimate.log Writing human readable error path to file UltimateCounterExample.errorpath Result: FALSE