./Ultimate.py --spec ../../../trunk/examples/svcomp/properties/unreach-call.prp --file ../../../trunk/examples/svcomp/goblint-regression/28-race_reach_24-sound_lock_racing.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/28-race_reach_24-sound_lock_racing.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/goblint-regression/28-race_reach_24-sound_lock_racing.i ./goblint.2023-12-19_14-39-08.files/SV-COMP24_unreach-call/28-race_reach_24-sound_lock_racing.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:40:37,731 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-01-30 14:40:37,791 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2024-01-30 14:40:37,796 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-01-30 14:40:37,797 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-01-30 14:40:37,821 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-01-30 14:40:37,821 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-01-30 14:40:37,822 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-01-30 14:40:37,822 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-01-30 14:40:37,828 INFO L153 SettingsManager]: * Use memory slicer=true [2024-01-30 14:40:37,828 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-01-30 14:40:37,828 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-01-30 14:40:37,829 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-01-30 14:40:37,829 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-01-30 14:40:37,829 INFO L153 SettingsManager]: * Use SBE=true [2024-01-30 14:40:37,829 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-01-30 14:40:37,829 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-01-30 14:40:37,830 INFO L153 SettingsManager]: * sizeof long=4 [2024-01-30 14:40:37,830 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-01-30 14:40:37,830 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-01-30 14:40:37,830 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-01-30 14:40:37,830 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-01-30 14:40:37,830 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-01-30 14:40:37,831 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-01-30 14:40:37,831 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-01-30 14:40:37,831 INFO L153 SettingsManager]: * sizeof long double=12 [2024-01-30 14:40:37,831 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-01-30 14:40:37,831 INFO L153 SettingsManager]: * Use constant arrays=true [2024-01-30 14:40:37,832 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-01-30 14:40:37,832 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-01-30 14:40:37,833 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-01-30 14:40:37,833 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-01-30 14:40:37,833 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-01-30 14:40:37,834 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-01-30 14:40:37,834 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-01-30 14:40:37,834 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-01-30 14:40:37,834 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-01-30 14:40:37,834 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-01-30 14:40:37,834 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-01-30 14:40:37,835 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2024-01-30 14:40:37,835 INFO L153 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2024-01-30 14:40:37,835 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2024-01-30 14:40:37,835 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2024-01-30 14:40:37,835 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:40:38,036 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-01-30 14:40:38,054 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-01-30 14:40:38,056 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-01-30 14:40:38,057 INFO L270 PluginConnector]: Initializing Witness Parser... [2024-01-30 14:40:38,057 INFO L274 PluginConnector]: Witness Parser initialized [2024-01-30 14:40:38,058 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/28-race_reach_24-sound_lock_racing.yml/witness.yml [2024-01-30 14:40:38,165 INFO L270 PluginConnector]: Initializing CDTParser... [2024-01-30 14:40:38,165 INFO L274 PluginConnector]: CDTParser initialized [2024-01-30 14:40:38,165 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/goblint-regression/28-race_reach_24-sound_lock_racing.i [2024-01-30 14:40:39,130 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-01-30 14:40:39,388 INFO L384 CDTParser]: Found 1 translation units. [2024-01-30 14:40:39,389 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/goblint-regression/28-race_reach_24-sound_lock_racing.i [2024-01-30 14:40:39,400 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e6f67cf62/c30428c87215402bbc38da3a32065d2f/FLAG7643dea1d [2024-01-30 14:40:39,412 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e6f67cf62/c30428c87215402bbc38da3a32065d2f [2024-01-30 14:40:39,412 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-01-30 14:40:39,413 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2024-01-30 14:40:39,414 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-01-30 14:40:39,414 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-01-30 14:40:39,418 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-01-30 14:40:39,419 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 30.01 02:40:38" (1/2) ... [2024-01-30 14:40:39,419 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@136dc28e and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 30.01 02:40:39, skipping insertion in model container [2024-01-30 14:40:39,420 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 30.01 02:40:38" (1/2) ... [2024-01-30 14:40:39,421 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@1176bd00 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 30.01 02:40:39, skipping insertion in model container [2024-01-30 14:40:39,421 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 30.01 02:40:39" (2/2) ... [2024-01-30 14:40:39,421 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@136dc28e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.01 02:40:39, skipping insertion in model container [2024-01-30 14:40:39,421 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 30.01 02:40:39" (2/2) ... [2024-01-30 14:40:39,422 INFO L83 nessWitnessExtractor]: Extracting all invariants from correctness witness [2024-01-30 14:40:39,482 INFO L96 nessWitnessExtractor]: Found the following entries in the witness: [2024-01-30 14:40:39,484 INFO L98 nessWitnessExtractor]: Location invariant before [L715-L715] ((i == 10000) && (i == 10000)) && (m == & mutex2 || m == & mutex1) [2024-01-30 14:40:39,484 INFO L98 nessWitnessExtractor]: Location invariant before [L710-L710] (m == & mutex2 || m == & mutex1) && (((((((((((((((((((((((((i == 18 || i == 17) || i == 16) || i == 15) || i == 14) || i == 13) || i == 12) || i == 11) || i == 10) || i == 9) || i == 8) || i == 7) || i == 6) || i == 5) || i == 4) || i == 3) || i == 2) || i == 1) || ((0 == i && global == 0) && i == 0)) || (25 <= i && i <= 9999)) || i == 24) || i == 23) || i == 22) || i == 21) || i == 20) || i == 19) [2024-01-30 14:40:39,484 INFO L98 nessWitnessExtractor]: Loop invariant at [L710-L710] (m == & mutex2 || m == & mutex1) && (((((((((((((((((((((((((i == 19 || i == 18) || i == 17) || i == 16) || i == 15) || i == 14) || i == 13) || i == 12) || i == 11) || i == 10) || i == 9) || i == 8) || i == 7) || i == 6) || i == 5) || i == 4) || i == 3) || i == 2) || i == 1) || ((0 == i && global == 0) && i == 0)) || (25 <= i && i <= 10000)) || i == 24) || i == 23) || i == 22) || i == 21) || i == 20) [2024-01-30 14:40:39,484 INFO L98 nessWitnessExtractor]: Location invariant before [L707-L707] global == 0 [2024-01-30 14:40:39,484 INFO L98 nessWitnessExtractor]: Location invariant before [L712-L712] (((((((0 <= global) && (i == 10000)) && (m == & mutex2 || m == & mutex1)) && (i == 10000)) && (m == & mutex2 || m == & mutex1)) && (0 <= global)) && (i == 10000)) && (m == & mutex2 || m == & mutex1) [2024-01-30 14:40:39,485 INFO L98 nessWitnessExtractor]: Loop invariant at [L712-L712] (i == 10000) && (m == & mutex2 || m == & mutex1) [2024-01-30 14:40:39,485 INFO L98 nessWitnessExtractor]: Location invariant before [L691-L691] ((0 <= global) && (0 <= global)) && (0 <= global) [2024-01-30 14:40:39,485 INFO L98 nessWitnessExtractor]: Location invariant before [L703-L703] ((0 <= global) && (global <= 2147483646)) && ((unsigned long )arg == 0UL) [2024-01-30 14:40:39,485 INFO L98 nessWitnessExtractor]: Loop invariant at [L702-L702] (((0 <= global) && ((unsigned long )arg == 0UL)) && (1 <= global)) && ((unsigned long )arg == 0UL) [2024-01-30 14:40:39,486 INFO L98 nessWitnessExtractor]: Location invariant before [L702-L702] ((((((((((((1 <= global) && ((unsigned long )arg == 0UL)) && (1 <= global)) && ((unsigned long )arg == 0UL)) && (0 <= global)) && ((unsigned long )arg == 0UL)) && (0 <= global)) && (global <= 2147483646)) && ((unsigned long )arg == 0UL)) && (1 <= global)) && ((unsigned long )arg == 0UL)) && (0 <= global)) && ((unsigned long )arg == 0UL) [2024-01-30 14:40:39,486 INFO L98 nessWitnessExtractor]: Location invariant before [L708-L708] global == 0 [2024-01-30 14:40:39,486 INFO L98 nessWitnessExtractor]: Location invariant before [L704-L704] (unsigned long )arg == 0UL [2024-01-30 14:40:39,486 INFO L98 nessWitnessExtractor]: Location invariant before [L701-L701] (unsigned long )arg == 0UL [2024-01-30 14:40:39,486 INFO L98 nessWitnessExtractor]: Location invariant before [L714-L714] ((i == 10000) && (m == & mutex2 || m == & mutex1)) && (((((((((((((((((((((((((i == 4 || i == 3) || i == 2) || i == 1) || (0 == i && i == 0)) || (25 <= i && i <= 9999)) || i == 24) || i == 23) || i == 22) || i == 21) || i == 20) || i == 19) || i == 18) || i == 17) || i == 16) || i == 15) || i == 14) || i == 13) || i == 12) || i == 11) || i == 10) || i == 9) || i == 8) || i == 7) || i == 6) || i == 5) [2024-01-30 14:40:39,486 INFO L98 nessWitnessExtractor]: Loop invariant at [L714-L714] ((i == 10000) && (m == & mutex2 || m == & mutex1)) && (((((((((((((((((((((((((i == 4 || i == 3) || i == 2) || i == 1) || (0 == i && i == 0)) || (25 <= i && i <= 10000)) || i == 24) || i == 23) || i == 22) || i == 21) || i == 20) || i == 19) || i == 18) || i == 17) || i == 16) || i == 15) || i == 14) || i == 13) || i == 12) || i == 11) || i == 10) || i == 9) || i == 8) || i == 7) || i == 6) || i == 5) [2024-01-30 14:40:39,486 INFO L98 nessWitnessExtractor]: Location invariant before [L709-L709] ((((global == 0) && (m == & mutex1)) && (i != 0)) && (global == 0)) && (m == & mutex1) [2024-01-30 14:40:39,487 INFO L98 nessWitnessExtractor]: Location invariant before [L713-L713] (i == 10000) && (m == & mutex2 || m == & mutex1) [2024-01-30 14:40:39,487 INFO L98 nessWitnessExtractor]: Location invariant before [L711-L711] (i == 10000) && (m == & mutex2 || m == & mutex1) [2024-01-30 14:40:39,487 INFO L98 nessWitnessExtractor]: Location invariant before [L22-L22] global == 0 [2024-01-30 14:40:39,487 INFO L98 nessWitnessExtractor]: Loop invariant at [L710-L710] (m == & mutex2 || m == & mutex1) && (((((((((((((((((((((((((i == 19 || i == 18) || i == 17) || i == 16) || i == 15) || i == 14) || i == 13) || i == 12) || i == 11) || i == 10) || i == 9) || i == 8) || i == 7) || i == 6) || i == 5) || i == 4) || i == 3) || i == 2) || i == 1) || ((0 == i && global == 0) && i == 0)) || (25 <= i && i <= 10000)) || i == 24) || i == 23) || i == 22) || i == 21) || i == 20) [2024-01-30 14:40:39,487 INFO L98 nessWitnessExtractor]: Location invariant before [L710-L710] (m == & mutex2 || m == & mutex1) && (((((((((((((((((((((((((i == 18 || i == 17) || i == 16) || i == 15) || i == 14) || i == 13) || i == 12) || i == 11) || i == 10) || i == 9) || i == 8) || i == 7) || i == 6) || i == 5) || i == 4) || i == 3) || i == 2) || i == 1) || ((0 == i && global == 0) && i == 0)) || (25 <= i && i <= 9999)) || i == 24) || i == 23) || i == 22) || i == 21) || i == 20) || i == 19) [2024-01-30 14:40:39,526 INFO L177 MainTranslator]: Built tables and reachable declarations [2024-01-30 14:40:39,759 WARN L239 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/goblint-regression/28-race_reach_24-sound_lock_racing.i[30176,30189] [2024-01-30 14:40:39,774 INFO L209 PostProcessor]: Analyzing one entry point: main [2024-01-30 14:40:39,789 INFO L202 MainTranslator]: Completed pre-run [2024-01-30 14:40:39,798 WARN L424 MainDispatcher]: Unable to annotate typedef long long int __intmax_t; with a witness entry [2024-01-30 14:40:39,828 WARN L239 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/goblint-regression/28-race_reach_24-sound_lock_racing.i[30176,30189] [2024-01-30 14:40:39,828 WARN L424 MainDispatcher]: Unable to annotate void __VERIFIER_assert(int cond) { if(!(cond)) { ERROR: {reach_error();abort();} } } with a witness entry 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:40:39,949 INFO L209 PostProcessor]: Analyzing one entry point: main [2024-01-30 14:40:39,974 INFO L206 MainTranslator]: Completed translation [2024-01-30 14:40:39,975 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.01 02:40:39 WrapperNode [2024-01-30 14:40:39,975 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-01-30 14:40:39,976 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-01-30 14:40:39,976 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-01-30 14:40:39,976 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-01-30 14:40:39,984 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.01 02:40:39" (1/1) ... [2024-01-30 14:40:40,009 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.01 02:40:39" (1/1) ... [2024-01-30 14:40:40,041 INFO L138 Inliner]: procedures = 171, calls = 41, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 104 [2024-01-30 14:40:40,042 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-01-30 14:40:40,042 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-01-30 14:40:40,042 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-01-30 14:40:40,042 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-01-30 14:40:40,056 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.01 02:40:39" (1/1) ... [2024-01-30 14:40:40,057 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.01 02:40:39" (1/1) ... [2024-01-30 14:40:40,072 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.01 02:40:39" (1/1) ... [2024-01-30 14:40:40,098 INFO L175 MemorySlicer]: Split 19 memory accesses to 4 slices as follows [2, 2, 5, 10]. 53 percent of accesses are in the largest equivalence class. The 17 initializations are split as follows [2, 0, 5, 10]. The 1 writes are split as follows [0, 1, 0, 0]. [2024-01-30 14:40:40,100 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.01 02:40:39" (1/1) ... [2024-01-30 14:40:40,100 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.01 02:40:39" (1/1) ... [2024-01-30 14:40:40,112 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.01 02:40:39" (1/1) ... [2024-01-30 14:40:40,121 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.01 02:40:39" (1/1) ... [2024-01-30 14:40:40,126 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.01 02:40:39" (1/1) ... [2024-01-30 14:40:40,129 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.01 02:40:39" (1/1) ... [2024-01-30 14:40:40,132 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-01-30 14:40:40,137 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-01-30 14:40:40,137 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-01-30 14:40:40,138 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-01-30 14:40:40,139 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.01 02:40:39" (1/1) ... [2024-01-30 14:40:40,143 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-01-30 14:40:40,153 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-01-30 14:40:40,294 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:40:40,296 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:40:40,322 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2024-01-30 14:40:40,322 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2024-01-30 14:40:40,322 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#2 [2024-01-30 14:40:40,322 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#3 [2024-01-30 14:40:40,322 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2024-01-30 14:40:40,322 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2024-01-30 14:40:40,322 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#2 [2024-01-30 14:40:40,322 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#3 [2024-01-30 14:40:40,322 INFO L130 BoogieDeclarations]: Found specification of procedure #PthreadsMutexLock [2024-01-30 14:40:40,322 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-01-30 14:40:40,323 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2024-01-30 14:40:40,323 INFO L130 BoogieDeclarations]: Found specification of procedure t_fun [2024-01-30 14:40:40,323 INFO L138 BoogieDeclarations]: Found implementation of procedure t_fun [2024-01-30 14:40:40,323 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-01-30 14:40:40,323 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2024-01-30 14:40:40,323 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2024-01-30 14:40:40,323 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#2 [2024-01-30 14:40:40,323 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#3 [2024-01-30 14:40:40,323 INFO L130 BoogieDeclarations]: Found specification of procedure #PthreadsMutexUnlock [2024-01-30 14:40:40,323 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-01-30 14:40:40,323 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-01-30 14:40:40,324 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:40:40,437 INFO L244 CfgBuilder]: Building ICFG [2024-01-30 14:40:40,439 INFO L270 CfgBuilder]: Building CFG for each procedure with an implementation [2024-01-30 14:40:40,802 INFO L289 CfgBuilder]: Ommited future-live optimization because the input is a concurrent program. [2024-01-30 14:40:40,802 INFO L293 CfgBuilder]: Performing block encoding [2024-01-30 14:40:40,923 INFO L315 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-01-30 14:40:40,923 INFO L320 CfgBuilder]: Removed 10 assume(true) statements. [2024-01-30 14:40:40,925 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 30.01 02:40:40 BoogieIcfgContainer [2024-01-30 14:40:40,925 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2024-01-30 14:40:40,927 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2024-01-30 14:40:40,927 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2024-01-30 14:40:40,930 INFO L274 PluginConnector]: TraceAbstraction initialized [2024-01-30 14:40:40,930 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 30.01 02:40:38" (1/4) ... [2024-01-30 14:40:40,931 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@39037154 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CORRECTNESS_WITNESS 30.01 02:40:40, skipping insertion in model container [2024-01-30 14:40:40,931 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 30.01 02:40:39" (2/4) ... [2024-01-30 14:40:40,931 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@39037154 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 30.01 02:40:40, skipping insertion in model container [2024-01-30 14:40:40,932 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.01 02:40:39" (3/4) ... [2024-01-30 14:40:40,933 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@39037154 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 30.01 02:40:40, skipping insertion in model container [2024-01-30 14:40:40,933 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 30.01 02:40:40" (4/4) ... [2024-01-30 14:40:40,934 INFO L112 eAbstractionObserver]: Analyzing ICFG 28-race_reach_24-sound_lock_racing.i [2024-01-30 14:40:40,950 INFO L204 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2024-01-30 14:40:40,950 INFO L163 ceAbstractionStarter]: Applying trace abstraction to program that has 21 error locations. [2024-01-30 14:40:40,950 INFO L518 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2024-01-30 14:40:41,010 INFO L144 ThreadInstanceAdder]: Constructed 1 joinOtherThreadTransitions. [2024-01-30 14:40:41,048 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 82 places, 89 transitions, 185 flow [2024-01-30 14:40:41,099 INFO L124 PetriNetUnfolderBase]: 13/125 cut-off events. [2024-01-30 14:40:41,099 INFO L125 PetriNetUnfolderBase]: For 1/1 co-relation queries the response was YES. [2024-01-30 14:40:41,102 INFO L83 FinitePrefix]: Finished finitePrefix Result has 130 conditions, 125 events. 13/125 cut-off events. For 1/1 co-relation queries the response was YES. Maximal size of possible extension queue 12. Compared 440 event pairs, 0 based on Foata normal form. 0/79 useless extension candidates. Maximal degree in co-relation 72. Up to 4 conditions per place. [2024-01-30 14:40:41,103 INFO L82 GeneralOperation]: Start removeDead. Operand has 82 places, 89 transitions, 185 flow [2024-01-30 14:40:41,107 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 82 places, 89 transitions, 185 flow [2024-01-30 14:40:41,114 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2024-01-30 14:40:41,119 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;@668e3ed5, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-01-30 14:40:41,119 INFO L358 AbstractCegarLoop]: Starting to check reachability of 28 error locations. [2024-01-30 14:40:41,120 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2024-01-30 14:40:41,121 INFO L124 PetriNetUnfolderBase]: 0/1 cut-off events. [2024-01-30 14:40:41,121 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2024-01-30 14:40:41,121 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-01-30 14:40:41,122 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1] [2024-01-30 14:40:41,122 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 25 more)] === [2024-01-30 14:40:41,128 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-01-30 14:40:41,129 INFO L85 PathProgramCache]: Analyzing trace with hash 12493, now seen corresponding path program 1 times [2024-01-30 14:40:41,136 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-01-30 14:40:41,137 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [869706251] [2024-01-30 14:40:41,137 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-01-30 14:40:41,138 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-01-30 14:40:41,207 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-01-30 14:40:41,286 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2024-01-30 14:40:41,287 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-01-30 14:40:41,287 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [869706251] [2024-01-30 14:40:41,288 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [869706251] provided 1 perfect and 0 imperfect interpolant sequences [2024-01-30 14:40:41,288 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2024-01-30 14:40:41,288 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2024-01-30 14:40:41,290 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [330641822] [2024-01-30 14:40:41,290 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-01-30 14:40:41,297 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2024-01-30 14:40:41,305 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-01-30 14:40:41,330 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2024-01-30 14:40:41,330 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2024-01-30 14:40:41,371 INFO L471 CegarLoopForPetriNet]: Number of universal loopers: 45 out of 89 [2024-01-30 14:40:41,374 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 82 places, 89 transitions, 185 flow. Second operand has 3 states, 3 states have (on average 45.666666666666664) internal successors, (137), 3 states have internal predecessors, (137), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-01-30 14:40:41,374 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2024-01-30 14:40:41,374 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 45 of 89 [2024-01-30 14:40:41,375 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2024-01-30 14:40:41,440 INFO L124 PetriNetUnfolderBase]: 9/101 cut-off events. [2024-01-30 14:40:41,441 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2024-01-30 14:40:41,441 INFO L83 FinitePrefix]: Finished finitePrefix Result has 148 conditions, 101 events. 9/101 cut-off events. For 0/0 co-relation queries the response was YES. Maximal size of possible extension queue 9. Compared 311 event pairs, 9 based on Foata normal form. 18/96 useless extension candidates. Maximal degree in co-relation 93. Up to 42 conditions per place. [2024-01-30 14:40:41,443 INFO L140 encePairwiseOnDemand]: 81/89 looper letters, 15 selfloop transitions, 1 changer transitions 0/42 dead transitions. [2024-01-30 14:40:41,443 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 47 places, 42 transitions, 120 flow [2024-01-30 14:40:41,445 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2024-01-30 14:40:41,447 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2024-01-30 14:40:41,453 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 158 transitions. [2024-01-30 14:40:41,455 INFO L516 CegarLoopForPetriNet]: DFA transition density 0.5917602996254682 [2024-01-30 14:40:41,456 INFO L175 Difference]: Start difference. First operand has 82 places, 89 transitions, 185 flow. Second operand 3 states and 158 transitions. [2024-01-30 14:40:41,457 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 47 places, 42 transitions, 120 flow [2024-01-30 14:40:41,461 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 47 places, 42 transitions, 120 flow, removed 0 selfloop flow, removed 0 redundant places. [2024-01-30 14:40:41,464 INFO L231 Difference]: Finished difference. Result has 47 places, 42 transitions, 90 flow [2024-01-30 14:40:41,465 INFO L264 CegarLoopForPetriNet]: {PETRI_ALPHABET=89, PETRI_DIFFERENCE_MINUEND_FLOW=88, PETRI_DIFFERENCE_MINUEND_PLACES=45, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=42, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=41, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=90, PETRI_PLACES=47, PETRI_TRANSITIONS=42} [2024-01-30 14:40:41,468 INFO L281 CegarLoopForPetriNet]: 82 programPoint places, -35 predicate places. [2024-01-30 14:40:41,468 INFO L495 AbstractCegarLoop]: Abstraction has has 47 places, 42 transitions, 90 flow [2024-01-30 14:40:41,469 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 45.666666666666664) internal successors, (137), 3 states have internal predecessors, (137), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2024-01-30 14:40:41,469 INFO L200 CegarLoopForPetriNet]: Found error trace [2024-01-30 14:40:41,470 INFO L208 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1] [2024-01-30 14:40:41,470 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2024-01-30 14:40:41,471 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT === [ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT, ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (and 25 more)] === [2024-01-30 14:40:41,472 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-01-30 14:40:41,473 INFO L85 PathProgramCache]: Analyzing trace with hash 12017785, now seen corresponding path program 1 times [2024-01-30 14:40:41,473 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-01-30 14:40:41,473 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1453489051] [2024-01-30 14:40:41,473 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-01-30 14:40:41,473 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-01-30 14:40:41,503 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-01-30 14:40:41,506 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-01-30 14:40:41,529 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-01-30 14:40:41,554 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-01-30 14:40:41,555 INFO L360 BasicCegarLoop]: Counterexample is feasible [2024-01-30 14:40:41,557 INFO L805 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr2ASSERT_VIOLATIONWITNESS_INVARIANT (27 of 28 remaining) [2024-01-30 14:40:41,559 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr0ASSERT_VIOLATIONWITNESS_INVARIANT (26 of 28 remaining) [2024-01-30 14:40:41,559 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr1ASSERT_VIOLATIONWITNESS_INVARIANT (25 of 28 remaining) [2024-01-30 14:40:41,560 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr3ASSERT_VIOLATIONWITNESS_INVARIANT (24 of 28 remaining) [2024-01-30 14:40:41,562 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr4ASSERT_VIOLATIONWITNESS_INVARIANT (23 of 28 remaining) [2024-01-30 14:40:41,562 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr5ASSERT_VIOLATIONWITNESS_INVARIANT (22 of 28 remaining) [2024-01-30 14:40:41,563 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr6ASSERT_VIOLATIONWITNESS_INVARIANT (21 of 28 remaining) [2024-01-30 14:40:41,563 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr7ASSERT_VIOLATIONWITNESS_INVARIANT (20 of 28 remaining) [2024-01-30 14:40:41,567 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr10ASSERT_VIOLATIONWITNESS_INVARIANT (19 of 28 remaining) [2024-01-30 14:40:41,567 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr8ASSERT_VIOLATIONERROR_FUNCTION (18 of 28 remaining) [2024-01-30 14:40:41,567 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr11ASSERT_VIOLATIONWITNESS_INVARIANT (17 of 28 remaining) [2024-01-30 14:40:41,567 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr12ASSERT_VIOLATIONWITNESS_INVARIANT (16 of 28 remaining) [2024-01-30 14:40:41,568 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr14ASSERT_VIOLATIONWITNESS_INVARIANT (15 of 28 remaining) [2024-01-30 14:40:41,568 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr9ASSERT_VIOLATIONWITNESS_INVARIANT (14 of 28 remaining) [2024-01-30 14:40:41,568 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr13ASSERT_VIOLATIONWITNESS_INVARIANT (13 of 28 remaining) [2024-01-30 14:40:41,568 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (12 of 28 remaining) [2024-01-30 14:40:41,568 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location t_funErr0ASSERT_VIOLATIONWITNESS_INVARIANT (11 of 28 remaining) [2024-01-30 14:40:41,568 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location t_funErr1ASSERT_VIOLATIONWITNESS_INVARIANT (10 of 28 remaining) [2024-01-30 14:40:41,569 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location t_funErr2ASSERT_VIOLATIONWITNESS_INVARIANT (9 of 28 remaining) [2024-01-30 14:40:41,569 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location t_funErr4ASSERT_VIOLATIONWITNESS_INVARIANT (8 of 28 remaining) [2024-01-30 14:40:41,570 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location t_funErr5ASSERT_VIOLATIONWITNESS_INVARIANT (7 of 28 remaining) [2024-01-30 14:40:41,573 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location t_funErr3ASSERT_VIOLATIONWITNESS_INVARIANT (6 of 28 remaining) [2024-01-30 14:40:41,573 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location t_funErr0ASSERT_VIOLATIONWITNESS_INVARIANT (5 of 28 remaining) [2024-01-30 14:40:41,573 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location t_funErr1ASSERT_VIOLATIONWITNESS_INVARIANT (4 of 28 remaining) [2024-01-30 14:40:41,573 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location t_funErr2ASSERT_VIOLATIONWITNESS_INVARIANT (3 of 28 remaining) [2024-01-30 14:40:41,574 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location t_funErr4ASSERT_VIOLATIONWITNESS_INVARIANT (2 of 28 remaining) [2024-01-30 14:40:41,574 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location t_funErr5ASSERT_VIOLATIONWITNESS_INVARIANT (1 of 28 remaining) [2024-01-30 14:40:41,574 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location t_funErr3ASSERT_VIOLATIONWITNESS_INVARIANT (0 of 28 remaining) [2024-01-30 14:40:41,574 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2024-01-30 14:40:41,574 INFO L445 BasicCegarLoop]: Path program histogram: [1, 1] [2024-01-30 14:40:41,580 INFO L229 ceAbstractionStarter]: Analysis of concurrent program completed with 1 thread instances [2024-01-30 14:40:41,580 INFO L179 ceAbstractionStarter]: Computing trace abstraction results [2024-01-30 14:40:41,596 INFO L503 ceAbstractionStarter]: Automizer considered 20 witness invariants [2024-01-30 14:40:41,596 INFO L504 ceAbstractionStarter]: WitnessConsidered=20 [2024-01-30 14:40:41,597 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 30.01 02:40:41 BasicIcfg [2024-01-30 14:40:41,597 INFO L131 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2024-01-30 14:40:41,600 INFO L158 Benchmark]: Toolchain (without parser) took 2184.72ms. Allocated memory is still 174.1MB. Free memory was 145.5MB in the beginning and 130.0MB in the end (delta: 15.6MB). Peak memory consumption was 15.6MB. Max. memory is 16.1GB. [2024-01-30 14:40:41,600 INFO L158 Benchmark]: Witness Parser took 0.17ms. Allocated memory is still 125.8MB. Free memory is still 77.0MB. There was no memory consumed. Max. memory is 16.1GB. [2024-01-30 14:40:41,600 INFO L158 Benchmark]: CDTParser took 0.11ms. Allocated memory is still 125.8MB. Free memory is still 95.5MB. There was no memory consumed. Max. memory is 16.1GB. [2024-01-30 14:40:41,602 INFO L158 Benchmark]: CACSL2BoogieTranslator took 560.81ms. Allocated memory is still 174.1MB. Free memory was 144.9MB in the beginning and 112.7MB in the end (delta: 32.2MB). Peak memory consumption was 31.5MB. Max. memory is 16.1GB. [2024-01-30 14:40:41,602 INFO L158 Benchmark]: Boogie Procedure Inliner took 66.17ms. Allocated memory is still 174.1MB. Free memory was 112.7MB in the beginning and 110.0MB in the end (delta: 2.7MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2024-01-30 14:40:41,603 INFO L158 Benchmark]: Boogie Preprocessor took 93.96ms. Allocated memory is still 174.1MB. Free memory was 110.0MB in the beginning and 107.1MB in the end (delta: 2.9MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. [2024-01-30 14:40:41,603 INFO L158 Benchmark]: RCFGBuilder took 788.11ms. Allocated memory is still 174.1MB. Free memory was 107.1MB in the beginning and 111.9MB in the end (delta: -4.8MB). Peak memory consumption was 25.2MB. Max. memory is 16.1GB. [2024-01-30 14:40:41,603 INFO L158 Benchmark]: TraceAbstraction took 670.31ms. Allocated memory is still 174.1MB. Free memory was 110.8MB in the beginning and 130.0MB in the end (delta: -19.1MB). There was no memory consumed. Max. memory is 16.1GB. [2024-01-30 14:40:41,607 INFO L338 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * Witness Parser took 0.17ms. Allocated memory is still 125.8MB. Free memory is still 77.0MB. There was no memory consumed. Max. memory is 16.1GB. * CDTParser took 0.11ms. Allocated memory is still 125.8MB. Free memory is still 95.5MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 560.81ms. Allocated memory is still 174.1MB. Free memory was 144.9MB in the beginning and 112.7MB in the end (delta: 32.2MB). Peak memory consumption was 31.5MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 66.17ms. Allocated memory is still 174.1MB. Free memory was 112.7MB in the beginning and 110.0MB in the end (delta: 2.7MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * Boogie Preprocessor took 93.96ms. Allocated memory is still 174.1MB. Free memory was 110.0MB in the beginning and 107.1MB in the end (delta: 2.9MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. * RCFGBuilder took 788.11ms. Allocated memory is still 174.1MB. Free memory was 107.1MB in the beginning and 111.9MB in the end (delta: -4.8MB). Peak memory consumption was 25.2MB. Max. memory is 16.1GB. * TraceAbstraction took 670.31ms. Allocated memory is still 174.1MB. Free memory was 110.8MB in the beginning and 130.0MB in the end (delta: -19.1MB). There was no memory consumed. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - CounterExampleResult [Line: 709]: invariant of correctness witness can be violated invariant of correctness witness can be violated We found a FailurePath: [L696] pthread_mutex_t __global_lock = { { 0, 0, 0, 0, 0, { { 0, 0 } } } }; [L696] pthread_mutex_t __global_lock = { { 0, 0, 0, 0, 0, { { 0, 0 } } } }; [L696] pthread_mutex_t __global_lock = { { 0, 0, 0, 0, 0, { { 0, 0 } } } }; [L696] pthread_mutex_t __global_lock = { { 0, 0, 0, 0, 0, { { 0, 0 } } } }; [L696] pthread_mutex_t __global_lock = { { 0, 0, 0, 0, 0, { { 0, 0 } } } }; [L696] pthread_mutex_t __global_lock = { { 0, 0, 0, 0, 0, { { 0, 0 } } } }; [L697] int global = 0; [L698] pthread_mutex_t mutex1 = { { 0, 0, 0, 0, 0, { { 0, 0 } } } }; [L698] pthread_mutex_t mutex1 = { { 0, 0, 0, 0, 0, { { 0, 0 } } } }; [L698] pthread_mutex_t mutex1 = { { 0, 0, 0, 0, 0, { { 0, 0 } } } }; [L698] pthread_mutex_t mutex1 = { { 0, 0, 0, 0, 0, { { 0, 0 } } } }; [L698] pthread_mutex_t mutex1 = { { 0, 0, 0, 0, 0, { { 0, 0 } } } }; [L698] pthread_mutex_t mutex1 = { { 0, 0, 0, 0, 0, { { 0, 0 } } } }; [L699] pthread_mutex_t mutex2 = { { 0, 0, 0, 0, 0, { { 0, 0 } } } }; [L699] pthread_mutex_t mutex2 = { { 0, 0, 0, 0, 0, { { 0, 0 } } } }; [L699] pthread_mutex_t mutex2 = { { 0, 0, 0, 0, 0, { { 0, 0 } } } }; [L699] pthread_mutex_t mutex2 = { { 0, 0, 0, 0, 0, { { 0, 0 } } } }; [L699] pthread_mutex_t mutex2 = { { 0, 0, 0, 0, 0, { { 0, 0 } } } }; [L699] pthread_mutex_t mutex2 = { { 0, 0, 0, 0, 0, { { 0, 0 } } } }; [L707] CodeAnnotStmt[Assertion[BinaryExpression[COMPEQ,IdentifierExpression[global],IntegerLiteral[0]]]] [L707] int i = __VERIFIER_nondet_int(); [L708] CodeAnnotStmt[Assertion[BinaryExpression[COMPEQ,IdentifierExpression[global],IntegerLiteral[0]]]] [L708] pthread_mutex_t *m = &mutex1; VAL [__global_lock={3:0}, global=0, i=0, m={4:0}, mutex1={4:0}, mutex2={5:0}] [L709] CodeAnnotStmt[Assertion[BinaryExpression[LOGICAND,BinaryExpression[LOGICAND,BinaryExpression[LOGICAND,BinaryExpression[LOGICAND,BinaryExpression[COMPEQ,IdentifierExpression[global],IntegerLiteral[0]],BinaryExpression[COMPEQ,IdentifierExpression[m],UnaryExpression[ADDROF,IdentifierExpression[mutex1]]]],BinaryExpression[COMPNEQ,IdentifierExpression[i],IntegerLiteral[0]]],BinaryExpression[COMPEQ,IdentifierExpression[global],IntegerLiteral[0]]],BinaryExpression[COMPEQ,IdentifierExpression[m],UnaryExpression[ADDROF,IdentifierExpression[mutex1]]]]]] VAL [__global_lock={3:0}, global=0, i=0, m={4:0}, mutex1={4:0}, mutex2={5:0}] - UnprovableResult [Line: 707]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - UnprovableResult [Line: 708]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - UnprovableResult [Line: 710]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - UnprovableResult [Line: 710]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - UnprovableResult [Line: 711]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - UnprovableResult [Line: 712]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - UnprovableResult [Line: 712]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - UnprovableResult [Line: 713]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - UnprovableResult [Line: 691]: 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: 714]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - UnprovableResult [Line: 714]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - UnprovableResult [Line: 715]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - UnprovableResult [Line: 712]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - UnprovableResult [Line: 714]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - UnprovableResult [Line: 710]: 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: 701]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - UnprovableResult [Line: 702]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - UnprovableResult [Line: 702]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - UnprovableResult [Line: 703]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - UnprovableResult [Line: 704]: Unable to prove that invariant of correctness witness holds Unable to prove that invariant of correctness witness holds Reason: Not analyzed. - UnprovableResult [Line: 702]: 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, 110 locations, 28 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.5s, OverallIterations: 2, TraceHistogramMax: 1, PathProgramHistogramMax: 1, EmptinessCheckTime: 0.0s, AutomataDifference: 0.1s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.1s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 61 SdHoareTripleChecker+Valid, 0.1s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 30 mSDsluCounter, 16 SdHoareTripleChecker+Invalid, 0.0s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 0 mSDsCounter, 4 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 43 IncrementalHoareTripleChecker+Invalid, 47 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 4 mSolverCounterUnsat, 16 mSDtfsCounter, 43 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=185occurred in iteration=0, InterpolantAutomatonStates: 3, 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.1s InterpolantComputationTime, 6 NumberOfCodeBlocks, 6 NumberOfCodeBlocksAsserted, 2 NumberOfCheckSat, 1 ConstructedInterpolants, 0 QuantifiedInterpolants, 3 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 1 InterpolantComputations, 1 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:40:41,633 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