./Ultimate.py --spec ../../../trunk/examples/svcomp/properties/unreach-call.prp --file ../../../trunk/examples/svcomp/ldv-races/race-3_1-container_of-global.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/race-3_1-container_of-global.yml/witness.yml --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 59af5db6 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/ldv-races/race-3_1-container_of-global.i ./goblint.2023-12-19_14-39-08.files/SV-COMP24_unreach-call/race-3_1-container_of-global.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-59af5db-m [2024-02-02 09:15:53,556 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-02-02 09:15:53,607 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2024-02-02 09:15:53,610 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-02-02 09:15:53,611 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-02-02 09:15:53,654 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-02-02 09:15:53,655 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-02-02 09:15:53,655 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-02-02 09:15:53,656 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-02-02 09:15:53,656 INFO L153 SettingsManager]: * Use memory slicer=true [2024-02-02 09:15:53,656 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-02-02 09:15:53,657 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-02-02 09:15:53,657 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-02-02 09:15:53,657 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-02-02 09:15:53,658 INFO L153 SettingsManager]: * Use SBE=true [2024-02-02 09:15:53,658 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-02-02 09:15:53,658 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-02-02 09:15:53,659 INFO L153 SettingsManager]: * sizeof long=4 [2024-02-02 09:15:53,659 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-02-02 09:15:53,659 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-02-02 09:15:53,659 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-02-02 09:15:53,660 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-02-02 09:15:53,660 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-02-02 09:15:53,660 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-02-02 09:15:53,660 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-02-02 09:15:53,661 INFO L153 SettingsManager]: * sizeof long double=12 [2024-02-02 09:15:53,661 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-02-02 09:15:53,661 INFO L153 SettingsManager]: * Use constant arrays=true [2024-02-02 09:15:53,661 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-02-02 09:15:53,661 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-02-02 09:15:53,662 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-02-02 09:15:53,662 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-02-02 09:15:53,662 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-02-02 09:15:53,662 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-02-02 09:15:53,663 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-02-02 09:15:53,663 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-02-02 09:15:53,663 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-02-02 09:15:53,663 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-02-02 09:15:53,663 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-02-02 09:15:53,664 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2024-02-02 09:15:53,664 INFO L153 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2024-02-02 09:15:53,664 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2024-02-02 09:15:53,664 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2024-02-02 09:15:53,664 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-02-02 09:15:53,908 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-02-02 09:15:53,932 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-02-02 09:15:53,934 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-02-02 09:15:53,935 INFO L270 PluginConnector]: Initializing Witness Parser... [2024-02-02 09:15:53,936 INFO L274 PluginConnector]: Witness Parser initialized [2024-02-02 09:15:53,937 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/race-3_1-container_of-global.yml/witness.yml [2024-02-02 09:15:54,111 INFO L270 PluginConnector]: Initializing CDTParser... [2024-02-02 09:15:54,112 INFO L274 PluginConnector]: CDTParser initialized [2024-02-02 09:15:54,112 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/ldv-races/race-3_1-container_of-global.i [2024-02-02 09:15:55,178 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-02-02 09:15:55,405 INFO L384 CDTParser]: Found 1 translation units. [2024-02-02 09:15:55,406 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/ldv-races/race-3_1-container_of-global.i [2024-02-02 09:15:55,432 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/02a49fbf4/a6f457b3f25b435cac72f027d79d1f34/FLAGf4b930eda [2024-02-02 09:15:55,446 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/02a49fbf4/a6f457b3f25b435cac72f027d79d1f34 [2024-02-02 09:15:55,449 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-02-02 09:15:55,450 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2024-02-02 09:15:55,452 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-02-02 09:15:55,452 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-02-02 09:15:55,456 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-02-02 09:15:55,457 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 02.02 09:15:54" (1/2) ... [2024-02-02 09:15:55,458 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@238a8ecb and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 02.02 09:15:55, skipping insertion in model container [2024-02-02 09:15:55,458 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 02.02 09:15:54" (1/2) ... [2024-02-02 09:15:55,460 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@58c7f78d and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 02.02 09:15:55, skipping insertion in model container [2024-02-02 09:15:55,460 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 02.02 09:15:55" (2/2) ... [2024-02-02 09:15:55,460 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@238a8ecb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 02.02 09:15:55, skipping insertion in model container [2024-02-02 09:15:55,460 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 02.02 09:15:55" (2/2) ... [2024-02-02 09:15:55,461 INFO L86 nessWitnessExtractor]: Extracting all invariants from correctness witness [2024-02-02 09:15:55,558 INFO L99 nessWitnessExtractor]: Found the following entries in the witness: [2024-02-02 09:15:55,560 INFO L101 nessWitnessExtractor]: Location invariant before [L3905-L3905] (unsigned long )arg == 0UL [2024-02-02 09:15:55,560 INFO L101 nessWitnessExtractor]: Location invariant before [L3933-L3933] (unsigned long )status == 0UL [2024-02-02 09:15:55,560 INFO L101 nessWitnessExtractor]: Location invariant before [L3906-L3906] (unsigned long )arg == 0UL [2024-02-02 09:15:55,560 INFO L101 nessWitnessExtractor]: Location invariant before [L3921-L3921] (((my_dev == 0) && (res == 0)) && (data->shared.a == 0)) && (data->shared.b == 0) [2024-02-02 09:15:55,560 INFO L101 nessWitnessExtractor]: Location invariant before [L3957-L3957] (ret == 0) && ((((((((((((1LL + (long long )probe_ret) + (long long )ret >= 0LL && (-1LL - (long long )probe_ret) + (long long )ret >= 0LL) && (1LL + (long long )probe_ret) - (long long )ret >= 0LL) && (-1LL - (long long )probe_ret) - (long long )ret >= 0LL) && -1 == data.shared.a) && -1 == data.shared.b) && my_dev == 0) && probe_ret == -1) && data.shared.a == -1) && data.shared.a == data.shared.b) && data.shared.b == -1) || (((((0LL - (long long )probe_ret) + (long long )ret >= 0LL && (long long )probe_ret + (long long )ret >= 0LL) && (0LL - (long long )probe_ret) - (long long )ret >= 0LL) && (long long )probe_ret - (long long )ret >= 0LL) && probe_ret == 0)) [2024-02-02 09:15:55,561 INFO L101 nessWitnessExtractor]: Location invariant before [L3944-L3958] ((((((2147483648LL + (long long )probe_ret) + (long long )ret >= 0LL) && ((2147483647LL - (long long )probe_ret) + (long long )ret >= 0LL)) && ((2147483648LL + (long long )probe_ret) - (long long )ret >= 0LL)) && ((2147483647LL - (long long )probe_ret) - (long long )ret >= 0LL)) && (my_dev == 0)) && (ret == 0) [2024-02-02 09:15:55,561 INFO L101 nessWitnessExtractor]: Location invariant before [L3934-L3934] (unsigned long )status == 0UL [2024-02-02 09:15:55,561 INFO L101 nessWitnessExtractor]: Location invariant before [L3916-L3916] ((my_dev == 0) && (data->shared.a == 0)) && (data->shared.b == 0) [2024-02-02 09:15:55,561 INFO L101 nessWitnessExtractor]: Location invariant before [L3951-L3951] ((((((0LL - (long long )probe_ret) + (long long )ret >= 0LL) && ((long long )probe_ret + (long long )ret >= 0LL)) && ((0LL - (long long )probe_ret) - (long long )ret >= 0LL)) && ((long long )probe_ret - (long long )ret >= 0LL)) && (ret == 0)) && (probe_ret == 0) [2024-02-02 09:15:55,561 INFO L101 nessWitnessExtractor]: Location invariant before [L3953-L3953] (ret == 0) && (((((((((1LL + (long long )probe_ret) + (long long )ret >= 0LL && (-1LL - (long long )probe_ret) + (long long )ret >= 0LL) && (1LL + (long long )probe_ret) - (long long )ret >= 0LL) && (-1LL - (long long )probe_ret) - (long long )ret >= 0LL) && my_dev == 0) && probe_ret == -1) && data.shared.a == 0) && data.shared.b == 0) || (((((0LL - (long long )probe_ret) + (long long )ret >= 0LL && (long long )probe_ret + (long long )ret >= 0LL) && (0LL - (long long )probe_ret) - (long long )ret >= 0LL) && (long long )probe_ret - (long long )ret >= 0LL) && probe_ret == 0)) [2024-02-02 09:15:55,562 INFO L101 nessWitnessExtractor]: Location invariant before [L3914-L3914] ((0 == data->shared.a) && (my_dev == 0)) && (data->shared.a == 0) [2024-02-02 09:15:55,562 INFO L101 nessWitnessExtractor]: Location invariant before [L3925-L3925] res == 0 [2024-02-02 09:15:55,562 INFO L101 nessWitnessExtractor]: Location invariant before [L3912-L3912] my_dev == 0 [2024-02-02 09:15:55,562 INFO L101 nessWitnessExtractor]: Location invariant before [L3902-L3902] (unsigned long )arg == 0UL [2024-02-02 09:15:55,562 INFO L101 nessWitnessExtractor]: Location invariant before [L3937-L3937] my_dev == 0 [2024-02-02 09:15:55,562 INFO L101 nessWitnessExtractor]: Location invariant before [L3885-L3885] ((expression == 1) && ((expression == 1 && my_dev == 0) || ((0 <= expression && expression <= 1) && (expression == 0 || expression == 1)))) && (expression == 0) [2024-02-02 09:15:55,562 INFO L101 nessWitnessExtractor]: Location invariant before [L3949-L3949] ((((((0LL - (long long )probe_ret) + (long long )ret >= 0LL) && ((long long )probe_ret + (long long )ret >= 0LL)) && ((0LL - (long long )probe_ret) - (long long )ret >= 0LL)) && ((long long )probe_ret - (long long )ret >= 0LL)) && (ret == 0)) && (probe_ret == 0) [2024-02-02 09:15:55,563 INFO L101 nessWitnessExtractor]: Location invariant before [L3956-L3956] (ret == 0) && ((((((((((((1LL + (long long )probe_ret) + (long long )ret >= 0LL && (-1LL - (long long )probe_ret) + (long long )ret >= 0LL) && (1LL + (long long )probe_ret) - (long long )ret >= 0LL) && (-1LL - (long long )probe_ret) - (long long )ret >= 0LL) && -1 == data.shared.a) && -1 == data.shared.b) && my_dev == 0) && probe_ret == -1) && data.shared.a == -1) && data.shared.a == data.shared.b) && data.shared.b == -1) || (((((0LL - (long long )probe_ret) + (long long )ret >= 0LL && (long long )probe_ret + (long long )ret >= 0LL) && (0LL - (long long )probe_ret) - (long long )ret >= 0LL) && (long long )probe_ret - (long long )ret >= 0LL) && probe_ret == 0)) [2024-02-02 09:15:55,563 INFO L101 nessWitnessExtractor]: Location invariant before [L3918-L3919] ((my_dev == 0) && (data->shared.a == 0)) && (data->shared.b == 0) [2024-02-02 09:15:55,563 INFO L101 nessWitnessExtractor]: Location invariant before [L3955-L3955] (ret == 0) && ((((((((((1LL + (long long )probe_ret) + (long long )ret >= 0LL && (-1LL - (long long )probe_ret) + (long long )ret >= 0LL) && (1LL + (long long )probe_ret) - (long long )ret >= 0LL) && (-1LL - (long long )probe_ret) - (long long )ret >= 0LL) && -1 == data.shared.a) && my_dev == 0) && probe_ret == -1) && data.shared.a == -1) && data.shared.b == 0) || (((((0LL - (long long )probe_ret) + (long long )ret >= 0LL && (long long )probe_ret + (long long )ret >= 0LL) && (0LL - (long long )probe_ret) - (long long )ret >= 0LL) && (long long )probe_ret - (long long )ret >= 0LL) && probe_ret == 0)) [2024-02-02 09:15:55,563 INFO L101 nessWitnessExtractor]: Location invariant before [L3948-L3952] (ret == 0) && (((((((((1LL + (long long )probe_ret) + (long long )ret >= 0LL && (-1LL - (long long )probe_ret) + (long long )ret >= 0LL) && (1LL + (long long )probe_ret) - (long long )ret >= 0LL) && (-1LL - (long long )probe_ret) - (long long )ret >= 0LL) && my_dev == 0) && probe_ret == -1) && data.shared.a == 0) && data.shared.b == 0) || (((((0LL - (long long )probe_ret) + (long long )ret >= 0LL && (long long )probe_ret + (long long )ret >= 0LL) && (0LL - (long long )probe_ret) - (long long )ret >= 0LL) && (long long )probe_ret - (long long )ret >= 0LL) && probe_ret == 0)) [2024-02-02 09:15:55,564 INFO L101 nessWitnessExtractor]: Location invariant before [L3947-L3947] ((((((2147483648LL + (long long )probe_ret) + (long long )ret >= 0LL) && ((2147483647LL - (long long )probe_ret) + (long long )ret >= 0LL)) && ((2147483648LL + (long long )probe_ret) - (long long )ret >= 0LL)) && ((2147483647LL - (long long )probe_ret) - (long long )ret >= 0LL)) && (my_dev == 0)) && (ret == 0) [2024-02-02 09:15:55,564 INFO L101 nessWitnessExtractor]: Location invariant after [L3926-L3927] (((my_dev == 0) && (data->shared.a == 0)) && (data->shared.b == 0)) && (res != 0) [2024-02-02 09:15:55,564 INFO L101 nessWitnessExtractor]: Location invariant before [L3907-L3907] (unsigned long )arg == 0UL [2024-02-02 09:15:55,564 INFO L101 nessWitnessExtractor]: Location invariant before [L3923-L3923] ((res == 0) && (data->shared.a == 0)) && (data->shared.b == 0) [2024-02-02 09:15:55,564 INFO L101 nessWitnessExtractor]: Location invariant before [L3904-L3904] (unsigned long )arg == 0UL [2024-02-02 09:15:55,564 INFO L101 nessWitnessExtractor]: Location invariant before [L3915-L3915] (((((0 == data->shared.a) && (0 == data->shared.b)) && (my_dev == 0)) && (data->shared.a == 0)) && (data->shared.a == data->shared.b)) && (data->shared.b == 0) [2024-02-02 09:15:55,564 INFO L101 nessWitnessExtractor]: Location invariant before [L3954-L3954] (ret == 0) && (((((((((1LL + (long long )probe_ret) + (long long )ret >= 0LL && (-1LL - (long long )probe_ret) + (long long )ret >= 0LL) && (1LL + (long long )probe_ret) - (long long )ret >= 0LL) && (-1LL - (long long )probe_ret) - (long long )ret >= 0LL) && my_dev == 0) && probe_ret == -1) && data.shared.a == 0) && data.shared.b == 0) || (((((0LL - (long long )probe_ret) + (long long )ret >= 0LL && (long long )probe_ret + (long long )ret >= 0LL) && (0LL - (long long )probe_ret) - (long long )ret >= 0LL) && (long long )probe_ret - (long long )ret >= 0LL) && probe_ret == 0)) [2024-02-02 09:15:55,565 INFO L101 nessWitnessExtractor]: Location invariant before [L3928-L3928] (((my_dev == 0) && (data->shared.a == 0)) && (data->shared.b == 0)) && (res != 0) [2024-02-02 09:15:55,565 INFO L101 nessWitnessExtractor]: Location invariant before [L3943-L3943] (((((4294967296LL + (long long )probe_ret) + (long long )ret >= 0LL) && ((4294967295LL - (long long )probe_ret) + (long long )ret >= 0LL)) && ((4294967295LL + (long long )probe_ret) - (long long )ret >= 0LL)) && ((4294967294LL - (long long )probe_ret) - (long long )ret >= 0LL)) && (my_dev == 0) [2024-02-02 09:15:55,565 INFO L101 nessWitnessExtractor]: Location invariant before [L3917-L3917] ((my_dev == 0) && (data->shared.a == 0)) && (data->shared.b == 0) [2024-02-02 09:15:55,565 INFO L101 nessWitnessExtractor]: Location invariant after [L3930-L3935] (unsigned long )status == 0UL [2024-02-02 09:15:55,565 INFO L101 nessWitnessExtractor]: Location invariant before [L3913-L3913] my_dev == 0 [2024-02-02 09:15:55,566 INFO L101 nessWitnessExtractor]: Location invariant before [L3959-L3959] (ret == 0) && ((((((((((((1LL + (long long )probe_ret) + (long long )ret >= 0LL && (-1LL - (long long )probe_ret) + (long long )ret >= 0LL) && (1LL + (long long )probe_ret) - (long long )ret >= 0LL) && (-1LL - (long long )probe_ret) - (long long )ret >= 0LL) && -1 == data.shared.a) && -1 == data.shared.b) && my_dev == 0) && probe_ret == -1) && data.shared.a == -1) && data.shared.a == data.shared.b) && data.shared.b == -1) || (((((0LL - (long long )probe_ret) + (long long )ret >= 0LL && (long long )probe_ret + (long long )ret >= 0LL) && (0LL - (long long )probe_ret) - (long long )ret >= 0LL) && (long long )probe_ret - (long long )ret >= 0LL) && probe_ret == 0)) [2024-02-02 09:15:55,566 INFO L101 nessWitnessExtractor]: Location invariant before [L3903-L3903] (unsigned long )arg == 0UL [2024-02-02 09:15:55,566 INFO L101 nessWitnessExtractor]: Location invariant before [L3950-L3950] ((((((0LL - (long long )probe_ret) + (long long )ret >= 0LL) && ((long long )probe_ret + (long long )ret >= 0LL)) && ((0LL - (long long )probe_ret) - (long long )ret >= 0LL)) && ((long long )probe_ret - (long long )ret >= 0LL)) && (ret == 0)) && (probe_ret == 0) [2024-02-02 09:15:55,566 INFO L101 nessWitnessExtractor]: Location invariant before [L3924-L3924] res == 0 [2024-02-02 09:15:55,618 INFO L177 MainTranslator]: Built tables and reachable declarations [2024-02-02 09:15:55,925 WARN L239 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/ldv-races/race-3_1-container_of-global.i[186210,186223] [2024-02-02 09:15:56,016 INFO L209 PostProcessor]: Analyzing one entry point: main [2024-02-02 09:15:56,027 INFO L202 MainTranslator]: Completed pre-run [2024-02-02 09:15:56,089 WARN L239 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/ldv-races/race-3_1-container_of-global.i[186210,186223] [2024-02-02 09:15:56,096 WARN L424 MainDispatcher]: Unable to annotate void ldv_assert(int expression) { if (!expression) { ERROR: {reach_error();abort();}}; return; } 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 Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local [2024-02-02 09:15:56,207 WARN L424 MainDispatcher]: Unable to annotate void my_drv_disconnect(struct my_data *data) { void *status; pthread_join(t1, &status); pthread_join(t2, &status); pthread_mutex_destroy(&data->lock); } with a witness entry Start Parsing Local Start Parsing Local [2024-02-02 09:15:56,222 ERROR L324 MainTranslator]: Incorrect Syntax: Undeclared variable in ACSL expression: probe_ret [2024-02-02 09:15:56,224 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@58c7f78d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 02.02 09:15:56, skipping insertion in model container [2024-02-02 09:15:56,224 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-02-02 09:15:56,224 INFO L186 ToolchainWalker]: Toolchain execution was canceled (user or tool) before executing de.uni_freiburg.informatik.ultimate.boogie.procedureinliner [2024-02-02 09:15:56,226 INFO L158 Benchmark]: Toolchain (without parser) took 775.62ms. Allocated memory is still 207.6MB. Free memory was 125.9MB in the beginning and 88.1MB in the end (delta: 37.8MB). Peak memory consumption was 37.7MB. Max. memory is 16.1GB. [2024-02-02 09:15:56,226 INFO L158 Benchmark]: Witness Parser took 0.13ms. Allocated memory is still 134.2MB. Free memory is still 102.8MB. There was no memory consumed. Max. memory is 16.1GB. [2024-02-02 09:15:56,227 INFO L158 Benchmark]: CDTParser took 0.14ms. Allocated memory is still 207.6MB. Free memory is still 175.3MB. There was no memory consumed. Max. memory is 16.1GB. [2024-02-02 09:15:56,228 INFO L158 Benchmark]: CACSL2BoogieTranslator took 772.40ms. Allocated memory is still 207.6MB. Free memory was 125.9MB in the beginning and 88.1MB in the end (delta: 37.8MB). Peak memory consumption was 37.7MB. Max. memory is 16.1GB. [2024-02-02 09:15:56,230 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.13ms. Allocated memory is still 134.2MB. Free memory is still 102.8MB. There was no memory consumed. Max. memory is 16.1GB. * CDTParser took 0.14ms. Allocated memory is still 207.6MB. Free memory is still 175.3MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 772.40ms. Allocated memory is still 207.6MB. Free memory was 125.9MB in the beginning and 88.1MB in the end (delta: 37.8MB). Peak memory consumption was 37.7MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: - SyntaxErrorResult [Line: 3943]: Incorrect Syntax Undeclared variable in ACSL expression: probe_ret RESULT: Ultimate could not prove your program: Incorrect Syntax Received shutdown request... --- End real Ultimate output --- Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis ### Bit-precise run ### 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/ldv-races/race-3_1-container_of-global.i ./goblint.2023-12-19_14-39-08.files/SV-COMP24_unreach-call/race-3_1-container_of-global.yml/witness.yml -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.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-59af5db-m [2024-02-02 09:15:58,053 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-02-02 09:15:58,115 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2024-02-02 09:15:58,118 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-02-02 09:15:58,118 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-02-02 09:15:58,157 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-02-02 09:15:58,158 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-02-02 09:15:58,158 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-02-02 09:15:58,159 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-02-02 09:15:58,162 INFO L153 SettingsManager]: * Use memory slicer=true [2024-02-02 09:15:58,162 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-02-02 09:15:58,162 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-02-02 09:15:58,163 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-02-02 09:15:58,164 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-02-02 09:15:58,164 INFO L153 SettingsManager]: * Use SBE=true [2024-02-02 09:15:58,164 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-02-02 09:15:58,164 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-02-02 09:15:58,165 INFO L153 SettingsManager]: * sizeof long=4 [2024-02-02 09:15:58,165 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-02-02 09:15:58,165 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-02-02 09:15:58,165 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-02-02 09:15:58,166 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-02-02 09:15:58,166 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-02-02 09:15:58,166 INFO L153 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2024-02-02 09:15:58,167 INFO L153 SettingsManager]: * Use bitvectors instead of ints=true [2024-02-02 09:15:58,167 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-02-02 09:15:58,167 INFO L153 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2024-02-02 09:15:58,167 INFO L153 SettingsManager]: * sizeof long double=12 [2024-02-02 09:15:58,168 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-02-02 09:15:58,168 INFO L153 SettingsManager]: * Use constant arrays=true [2024-02-02 09:15:58,169 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-02-02 09:15:58,169 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-02-02 09:15:58,169 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-02-02 09:15:58,169 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-02-02 09:15:58,170 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-02-02 09:15:58,170 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-02-02 09:15:58,170 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-02-02 09:15:58,171 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-02-02 09:15:58,171 INFO L153 SettingsManager]: * Trace refinement strategy=WOLF [2024-02-02 09:15:58,171 INFO L153 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2024-02-02 09:15:58,171 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-02-02 09:15:58,171 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2024-02-02 09:15:58,171 INFO L153 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2024-02-02 09:15:58,172 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2024-02-02 09:15:58,172 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2024-02-02 09:15:58,172 INFO L153 SettingsManager]: * Logic for external solver=AUFBV [2024-02-02 09:15:58,172 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-02-02 09:15:58,462 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-02-02 09:15:58,481 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-02-02 09:15:58,484 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-02-02 09:15:58,485 INFO L270 PluginConnector]: Initializing Witness Parser... [2024-02-02 09:15:58,485 INFO L274 PluginConnector]: Witness Parser initialized [2024-02-02 09:15:58,486 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/race-3_1-container_of-global.yml/witness.yml [2024-02-02 09:15:58,651 INFO L270 PluginConnector]: Initializing CDTParser... [2024-02-02 09:15:58,651 INFO L274 PluginConnector]: CDTParser initialized [2024-02-02 09:15:58,652 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/ldv-races/race-3_1-container_of-global.i [2024-02-02 09:15:59,799 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-02-02 09:16:00,063 INFO L384 CDTParser]: Found 1 translation units. [2024-02-02 09:16:00,064 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/ldv-races/race-3_1-container_of-global.i [2024-02-02 09:16:00,114 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9974b81ee/b0d59b1cf5374f2aa520703cee9195a7/FLAG32137534c [2024-02-02 09:16:00,129 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9974b81ee/b0d59b1cf5374f2aa520703cee9195a7 [2024-02-02 09:16:00,130 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-02-02 09:16:00,131 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2024-02-02 09:16:00,133 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-02-02 09:16:00,134 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-02-02 09:16:00,137 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-02-02 09:16:00,138 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 02.02 09:15:58" (1/2) ... [2024-02-02 09:16:00,138 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2d5d7385 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 02.02 09:16:00, skipping insertion in model container [2024-02-02 09:16:00,139 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 02.02 09:15:58" (1/2) ... [2024-02-02 09:16:00,140 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@7d38b5ee and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 02.02 09:16:00, skipping insertion in model container [2024-02-02 09:16:00,140 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 02.02 09:16:00" (2/2) ... [2024-02-02 09:16:00,140 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2d5d7385 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 02.02 09:16:00, skipping insertion in model container [2024-02-02 09:16:00,141 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 02.02 09:16:00" (2/2) ... [2024-02-02 09:16:00,141 INFO L86 nessWitnessExtractor]: Extracting all invariants from correctness witness [2024-02-02 09:16:00,255 INFO L99 nessWitnessExtractor]: Found the following entries in the witness: [2024-02-02 09:16:00,256 INFO L101 nessWitnessExtractor]: Location invariant before [L3948-L3952] (ret == 0) && (((((((((1LL + (long long )probe_ret) + (long long )ret >= 0LL && (-1LL - (long long )probe_ret) + (long long )ret >= 0LL) && (1LL + (long long )probe_ret) - (long long )ret >= 0LL) && (-1LL - (long long )probe_ret) - (long long )ret >= 0LL) && my_dev == 0) && probe_ret == -1) && data.shared.a == 0) && data.shared.b == 0) || (((((0LL - (long long )probe_ret) + (long long )ret >= 0LL && (long long )probe_ret + (long long )ret >= 0LL) && (0LL - (long long )probe_ret) - (long long )ret >= 0LL) && (long long )probe_ret - (long long )ret >= 0LL) && probe_ret == 0)) [2024-02-02 09:16:00,256 INFO L101 nessWitnessExtractor]: Location invariant before [L3913-L3913] my_dev == 0 [2024-02-02 09:16:00,256 INFO L101 nessWitnessExtractor]: Location invariant before [L3924-L3924] res == 0 [2024-02-02 09:16:00,256 INFO L101 nessWitnessExtractor]: Location invariant before [L3915-L3915] (((((0 == data->shared.a) && (0 == data->shared.b)) && (my_dev == 0)) && (data->shared.a == 0)) && (data->shared.a == data->shared.b)) && (data->shared.b == 0) [2024-02-02 09:16:00,257 INFO L101 nessWitnessExtractor]: Location invariant before [L3914-L3914] ((0 == data->shared.a) && (my_dev == 0)) && (data->shared.a == 0) [2024-02-02 09:16:00,257 INFO L101 nessWitnessExtractor]: Location invariant before [L3933-L3933] (unsigned long )status == 0UL [2024-02-02 09:16:00,257 INFO L101 nessWitnessExtractor]: Location invariant before [L3918-L3919] ((my_dev == 0) && (data->shared.a == 0)) && (data->shared.b == 0) [2024-02-02 09:16:00,257 INFO L101 nessWitnessExtractor]: Location invariant before [L3954-L3954] (ret == 0) && (((((((((1LL + (long long )probe_ret) + (long long )ret >= 0LL && (-1LL - (long long )probe_ret) + (long long )ret >= 0LL) && (1LL + (long long )probe_ret) - (long long )ret >= 0LL) && (-1LL - (long long )probe_ret) - (long long )ret >= 0LL) && my_dev == 0) && probe_ret == -1) && data.shared.a == 0) && data.shared.b == 0) || (((((0LL - (long long )probe_ret) + (long long )ret >= 0LL && (long long )probe_ret + (long long )ret >= 0LL) && (0LL - (long long )probe_ret) - (long long )ret >= 0LL) && (long long )probe_ret - (long long )ret >= 0LL) && probe_ret == 0)) [2024-02-02 09:16:00,257 INFO L101 nessWitnessExtractor]: Location invariant before [L3937-L3937] my_dev == 0 [2024-02-02 09:16:00,257 INFO L101 nessWitnessExtractor]: Location invariant before [L3928-L3928] (((my_dev == 0) && (data->shared.a == 0)) && (data->shared.b == 0)) && (res != 0) [2024-02-02 09:16:00,257 INFO L101 nessWitnessExtractor]: Location invariant before [L3903-L3903] (unsigned long )arg == 0UL [2024-02-02 09:16:00,258 INFO L101 nessWitnessExtractor]: Location invariant before [L3904-L3904] (unsigned long )arg == 0UL [2024-02-02 09:16:00,258 INFO L101 nessWitnessExtractor]: Location invariant before [L3957-L3957] (ret == 0) && ((((((((((((1LL + (long long )probe_ret) + (long long )ret >= 0LL && (-1LL - (long long )probe_ret) + (long long )ret >= 0LL) && (1LL + (long long )probe_ret) - (long long )ret >= 0LL) && (-1LL - (long long )probe_ret) - (long long )ret >= 0LL) && -1 == data.shared.a) && -1 == data.shared.b) && my_dev == 0) && probe_ret == -1) && data.shared.a == -1) && data.shared.a == data.shared.b) && data.shared.b == -1) || (((((0LL - (long long )probe_ret) + (long long )ret >= 0LL && (long long )probe_ret + (long long )ret >= 0LL) && (0LL - (long long )probe_ret) - (long long )ret >= 0LL) && (long long )probe_ret - (long long )ret >= 0LL) && probe_ret == 0)) [2024-02-02 09:16:00,258 INFO L101 nessWitnessExtractor]: Location invariant before [L3953-L3953] (ret == 0) && (((((((((1LL + (long long )probe_ret) + (long long )ret >= 0LL && (-1LL - (long long )probe_ret) + (long long )ret >= 0LL) && (1LL + (long long )probe_ret) - (long long )ret >= 0LL) && (-1LL - (long long )probe_ret) - (long long )ret >= 0LL) && my_dev == 0) && probe_ret == -1) && data.shared.a == 0) && data.shared.b == 0) || (((((0LL - (long long )probe_ret) + (long long )ret >= 0LL && (long long )probe_ret + (long long )ret >= 0LL) && (0LL - (long long )probe_ret) - (long long )ret >= 0LL) && (long long )probe_ret - (long long )ret >= 0LL) && probe_ret == 0)) [2024-02-02 09:16:00,258 INFO L101 nessWitnessExtractor]: Location invariant before [L3902-L3902] (unsigned long )arg == 0UL [2024-02-02 09:16:00,258 INFO L101 nessWitnessExtractor]: Location invariant after [L3930-L3935] (unsigned long )status == 0UL [2024-02-02 09:16:00,259 INFO L101 nessWitnessExtractor]: Location invariant before [L3921-L3921] (((my_dev == 0) && (res == 0)) && (data->shared.a == 0)) && (data->shared.b == 0) [2024-02-02 09:16:00,259 INFO L101 nessWitnessExtractor]: Location invariant before [L3925-L3925] res == 0 [2024-02-02 09:16:00,259 INFO L101 nessWitnessExtractor]: Location invariant before [L3907-L3907] (unsigned long )arg == 0UL [2024-02-02 09:16:00,259 INFO L101 nessWitnessExtractor]: Location invariant after [L3926-L3927] (((my_dev == 0) && (data->shared.a == 0)) && (data->shared.b == 0)) && (res != 0) [2024-02-02 09:16:00,259 INFO L101 nessWitnessExtractor]: Location invariant before [L3951-L3951] ((((((0LL - (long long )probe_ret) + (long long )ret >= 0LL) && ((long long )probe_ret + (long long )ret >= 0LL)) && ((0LL - (long long )probe_ret) - (long long )ret >= 0LL)) && ((long long )probe_ret - (long long )ret >= 0LL)) && (ret == 0)) && (probe_ret == 0) [2024-02-02 09:16:00,260 INFO L101 nessWitnessExtractor]: Location invariant before [L3956-L3956] (ret == 0) && ((((((((((((1LL + (long long )probe_ret) + (long long )ret >= 0LL && (-1LL - (long long )probe_ret) + (long long )ret >= 0LL) && (1LL + (long long )probe_ret) - (long long )ret >= 0LL) && (-1LL - (long long )probe_ret) - (long long )ret >= 0LL) && -1 == data.shared.a) && -1 == data.shared.b) && my_dev == 0) && probe_ret == -1) && data.shared.a == -1) && data.shared.a == data.shared.b) && data.shared.b == -1) || (((((0LL - (long long )probe_ret) + (long long )ret >= 0LL && (long long )probe_ret + (long long )ret >= 0LL) && (0LL - (long long )probe_ret) - (long long )ret >= 0LL) && (long long )probe_ret - (long long )ret >= 0LL) && probe_ret == 0)) [2024-02-02 09:16:00,260 INFO L101 nessWitnessExtractor]: Location invariant before [L3944-L3958] ((((((2147483648LL + (long long )probe_ret) + (long long )ret >= 0LL) && ((2147483647LL - (long long )probe_ret) + (long long )ret >= 0LL)) && ((2147483648LL + (long long )probe_ret) - (long long )ret >= 0LL)) && ((2147483647LL - (long long )probe_ret) - (long long )ret >= 0LL)) && (my_dev == 0)) && (ret == 0) [2024-02-02 09:16:00,260 INFO L101 nessWitnessExtractor]: Location invariant before [L3905-L3905] (unsigned long )arg == 0UL [2024-02-02 09:16:00,260 INFO L101 nessWitnessExtractor]: Location invariant before [L3917-L3917] ((my_dev == 0) && (data->shared.a == 0)) && (data->shared.b == 0) [2024-02-02 09:16:00,260 INFO L101 nessWitnessExtractor]: Location invariant before [L3955-L3955] (ret == 0) && ((((((((((1LL + (long long )probe_ret) + (long long )ret >= 0LL && (-1LL - (long long )probe_ret) + (long long )ret >= 0LL) && (1LL + (long long )probe_ret) - (long long )ret >= 0LL) && (-1LL - (long long )probe_ret) - (long long )ret >= 0LL) && -1 == data.shared.a) && my_dev == 0) && probe_ret == -1) && data.shared.a == -1) && data.shared.b == 0) || (((((0LL - (long long )probe_ret) + (long long )ret >= 0LL && (long long )probe_ret + (long long )ret >= 0LL) && (0LL - (long long )probe_ret) - (long long )ret >= 0LL) && (long long )probe_ret - (long long )ret >= 0LL) && probe_ret == 0)) [2024-02-02 09:16:00,260 INFO L101 nessWitnessExtractor]: Location invariant before [L3912-L3912] my_dev == 0 [2024-02-02 09:16:00,260 INFO L101 nessWitnessExtractor]: Location invariant before [L3949-L3949] ((((((0LL - (long long )probe_ret) + (long long )ret >= 0LL) && ((long long )probe_ret + (long long )ret >= 0LL)) && ((0LL - (long long )probe_ret) - (long long )ret >= 0LL)) && ((long long )probe_ret - (long long )ret >= 0LL)) && (ret == 0)) && (probe_ret == 0) [2024-02-02 09:16:00,261 INFO L101 nessWitnessExtractor]: Location invariant before [L3916-L3916] ((my_dev == 0) && (data->shared.a == 0)) && (data->shared.b == 0) [2024-02-02 09:16:00,261 INFO L101 nessWitnessExtractor]: Location invariant before [L3947-L3947] ((((((2147483648LL + (long long )probe_ret) + (long long )ret >= 0LL) && ((2147483647LL - (long long )probe_ret) + (long long )ret >= 0LL)) && ((2147483648LL + (long long )probe_ret) - (long long )ret >= 0LL)) && ((2147483647LL - (long long )probe_ret) - (long long )ret >= 0LL)) && (my_dev == 0)) && (ret == 0) [2024-02-02 09:16:00,261 INFO L101 nessWitnessExtractor]: Location invariant before [L3906-L3906] (unsigned long )arg == 0UL [2024-02-02 09:16:00,261 INFO L101 nessWitnessExtractor]: Location invariant before [L3885-L3885] ((expression == 1) && ((expression == 1 && my_dev == 0) || ((0 <= expression && expression <= 1) && (expression == 0 || expression == 1)))) && (expression == 0) [2024-02-02 09:16:00,262 INFO L101 nessWitnessExtractor]: Location invariant before [L3950-L3950] ((((((0LL - (long long )probe_ret) + (long long )ret >= 0LL) && ((long long )probe_ret + (long long )ret >= 0LL)) && ((0LL - (long long )probe_ret) - (long long )ret >= 0LL)) && ((long long )probe_ret - (long long )ret >= 0LL)) && (ret == 0)) && (probe_ret == 0) [2024-02-02 09:16:00,262 INFO L101 nessWitnessExtractor]: Location invariant before [L3943-L3943] (((((4294967296LL + (long long )probe_ret) + (long long )ret >= 0LL) && ((4294967295LL - (long long )probe_ret) + (long long )ret >= 0LL)) && ((4294967295LL + (long long )probe_ret) - (long long )ret >= 0LL)) && ((4294967294LL - (long long )probe_ret) - (long long )ret >= 0LL)) && (my_dev == 0) [2024-02-02 09:16:00,263 INFO L101 nessWitnessExtractor]: Location invariant before [L3959-L3959] (ret == 0) && ((((((((((((1LL + (long long )probe_ret) + (long long )ret >= 0LL && (-1LL - (long long )probe_ret) + (long long )ret >= 0LL) && (1LL + (long long )probe_ret) - (long long )ret >= 0LL) && (-1LL - (long long )probe_ret) - (long long )ret >= 0LL) && -1 == data.shared.a) && -1 == data.shared.b) && my_dev == 0) && probe_ret == -1) && data.shared.a == -1) && data.shared.a == data.shared.b) && data.shared.b == -1) || (((((0LL - (long long )probe_ret) + (long long )ret >= 0LL && (long long )probe_ret + (long long )ret >= 0LL) && (0LL - (long long )probe_ret) - (long long )ret >= 0LL) && (long long )probe_ret - (long long )ret >= 0LL) && probe_ret == 0)) [2024-02-02 09:16:00,263 INFO L101 nessWitnessExtractor]: Location invariant before [L3923-L3923] ((res == 0) && (data->shared.a == 0)) && (data->shared.b == 0) [2024-02-02 09:16:00,263 INFO L101 nessWitnessExtractor]: Location invariant before [L3934-L3934] (unsigned long )status == 0UL [2024-02-02 09:16:00,307 INFO L177 MainTranslator]: Built tables and reachable declarations [2024-02-02 09:16:00,614 WARN L239 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/ldv-races/race-3_1-container_of-global.i[186210,186223] [2024-02-02 09:16:00,647 INFO L209 PostProcessor]: Analyzing one entry point: main [2024-02-02 09:16:00,672 INFO L199 MainTranslator]: Restarting translation with changed settings: SettingsChange [mNewPreferredMemoryModel=HoenickeLindenmann_1ByteResolution] [2024-02-02 09:16:00,684 INFO L177 MainTranslator]: Built tables and reachable declarations [2024-02-02 09:16:00,712 WARN L239 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/ldv-races/race-3_1-container_of-global.i[186210,186223] [2024-02-02 09:16:00,718 INFO L209 PostProcessor]: Analyzing one entry point: main [2024-02-02 09:16:00,731 INFO L202 MainTranslator]: Completed pre-run [2024-02-02 09:16:00,763 WARN L239 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/ldv-races/race-3_1-container_of-global.i[186210,186223] [2024-02-02 09:16:00,767 WARN L424 MainDispatcher]: Unable to annotate void ldv_assert(int expression) { if (!expression) { ERROR: {reach_error();abort();}}; return; } 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 Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local [2024-02-02 09:16:00,891 WARN L424 MainDispatcher]: Unable to annotate void my_drv_disconnect(struct my_data *data) { void *status; pthread_join(t1, &status); pthread_join(t2, &status); pthread_mutex_destroy(&data->lock); } with a witness entry Start Parsing Local Start Parsing Local [2024-02-02 09:16:00,896 ERROR L324 MainTranslator]: Incorrect Syntax: Undeclared variable in ACSL expression: probe_ret [2024-02-02 09:16:00,896 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@7d38b5ee and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 02.02 09:16:00, skipping insertion in model container [2024-02-02 09:16:00,897 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-02-02 09:16:00,897 INFO L186 ToolchainWalker]: Toolchain execution was canceled (user or tool) before executing de.uni_freiburg.informatik.ultimate.boogie.procedureinliner [2024-02-02 09:16:00,899 INFO L158 Benchmark]: Toolchain (without parser) took 767.32ms. Allocated memory was 81.8MB in the beginning and 125.8MB in the end (delta: 44.0MB). Free memory was 58.9MB in the beginning and 70.6MB in the end (delta: -11.7MB). Peak memory consumption was 33.6MB. Max. memory is 16.1GB. [2024-02-02 09:16:00,900 INFO L158 Benchmark]: Witness Parser took 0.19ms. Allocated memory is still 52.4MB. Free memory was 25.7MB in the beginning and 25.7MB in the end (delta: 38.7kB). There was no memory consumed. Max. memory is 16.1GB. [2024-02-02 09:16:00,900 INFO L158 Benchmark]: CDTParser took 6.52ms. Allocated memory is still 81.8MB. Free memory is still 64.8MB. There was no memory consumed. Max. memory is 16.1GB. [2024-02-02 09:16:00,901 INFO L158 Benchmark]: CACSL2BoogieTranslator took 763.68ms. Allocated memory was 81.8MB in the beginning and 125.8MB in the end (delta: 44.0MB). Free memory was 58.6MB in the beginning and 70.6MB in the end (delta: -11.9MB). Peak memory consumption was 33.6MB. Max. memory is 16.1GB. [2024-02-02 09:16:00,903 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.19ms. Allocated memory is still 52.4MB. Free memory was 25.7MB in the beginning and 25.7MB in the end (delta: 38.7kB). There was no memory consumed. Max. memory is 16.1GB. * CDTParser took 6.52ms. Allocated memory is still 81.8MB. Free memory is still 64.8MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 763.68ms. Allocated memory was 81.8MB in the beginning and 125.8MB in the end (delta: 44.0MB). Free memory was 58.6MB in the beginning and 70.6MB in the end (delta: -11.9MB). Peak memory consumption was 33.6MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: - SyntaxErrorResult [Line: 3943]: Incorrect Syntax Undeclared variable in ACSL expression: probe_ret RESULT: Ultimate could not prove your program: Incorrect Syntax Received shutdown request... --- End real Ultimate output --- Execution finished normally Writing output log to file Ultimate.log Result: UNKNOWN