./Ultimate.py --spec ../../../trunk/examples/svcomp/properties/unreach-call.prp --file ../../../trunk/examples/svcomp/ldv-races/race-3_2-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_2-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_2-container_of-global.i ./goblint.2023-12-19_14-39-08.files/SV-COMP24_unreach-call/race-3_2-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:35:44,482 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-02-02 09:35:44,545 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2024-02-02 09:35:44,554 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-02-02 09:35:44,554 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-02-02 09:35:44,574 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-02-02 09:35:44,575 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-02-02 09:35:44,575 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-02-02 09:35:44,575 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-02-02 09:35:44,579 INFO L153 SettingsManager]: * Use memory slicer=true [2024-02-02 09:35:44,579 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-02-02 09:35:44,580 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-02-02 09:35:44,581 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-02-02 09:35:44,582 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-02-02 09:35:44,582 INFO L153 SettingsManager]: * Use SBE=true [2024-02-02 09:35:44,582 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-02-02 09:35:44,583 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-02-02 09:35:44,583 INFO L153 SettingsManager]: * sizeof long=4 [2024-02-02 09:35:44,583 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-02-02 09:35:44,583 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-02-02 09:35:44,584 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-02-02 09:35:44,584 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-02-02 09:35:44,584 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-02-02 09:35:44,585 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-02-02 09:35:44,585 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-02-02 09:35:44,585 INFO L153 SettingsManager]: * sizeof long double=12 [2024-02-02 09:35:44,585 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-02-02 09:35:44,586 INFO L153 SettingsManager]: * Use constant arrays=true [2024-02-02 09:35:44,586 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-02-02 09:35:44,586 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-02-02 09:35:44,587 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-02-02 09:35:44,587 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-02-02 09:35:44,588 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-02-02 09:35:44,588 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-02-02 09:35:44,588 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-02-02 09:35:44,588 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-02-02 09:35:44,588 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-02-02 09:35:44,589 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-02-02 09:35:44,589 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-02-02 09:35:44,589 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2024-02-02 09:35:44,589 INFO L153 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2024-02-02 09:35:44,589 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2024-02-02 09:35:44,590 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2024-02-02 09:35:44,590 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:35:44,949 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-02-02 09:35:44,969 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-02-02 09:35:44,971 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-02-02 09:35:44,972 INFO L270 PluginConnector]: Initializing Witness Parser... [2024-02-02 09:35:44,973 INFO L274 PluginConnector]: Witness Parser initialized [2024-02-02 09:35:44,973 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_2-container_of-global.yml/witness.yml [2024-02-02 09:35:45,096 INFO L270 PluginConnector]: Initializing CDTParser... [2024-02-02 09:35:45,099 INFO L274 PluginConnector]: CDTParser initialized [2024-02-02 09:35:45,100 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/ldv-races/race-3_2-container_of-global.i [2024-02-02 09:35:46,301 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-02-02 09:35:46,573 INFO L384 CDTParser]: Found 1 translation units. [2024-02-02 09:35:46,573 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/ldv-races/race-3_2-container_of-global.i [2024-02-02 09:35:46,596 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/73e4cb7cf/88f20931790e44b79588779ae14a5e14/FLAG3a5d4c3c8 [2024-02-02 09:35:46,609 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/73e4cb7cf/88f20931790e44b79588779ae14a5e14 [2024-02-02 09:35:46,610 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-02-02 09:35:46,613 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2024-02-02 09:35:46,615 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-02-02 09:35:46,616 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-02-02 09:35:46,619 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-02-02 09:35:46,620 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 02.02 09:35:45" (1/2) ... [2024-02-02 09:35:46,621 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1e85c508 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 02.02 09:35:46, skipping insertion in model container [2024-02-02 09:35:46,621 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 02.02 09:35:45" (1/2) ... [2024-02-02 09:35:46,622 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@245f20ed and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 02.02 09:35:46, skipping insertion in model container [2024-02-02 09:35:46,622 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 02.02 09:35:46" (2/2) ... [2024-02-02 09:35:46,623 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1e85c508 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 02.02 09:35:46, skipping insertion in model container [2024-02-02 09:35:46,623 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 02.02 09:35:46" (2/2) ... [2024-02-02 09:35:46,623 INFO L86 nessWitnessExtractor]: Extracting all invariants from correctness witness [2024-02-02 09:35:46,731 INFO L99 nessWitnessExtractor]: Found the following entries in the witness: [2024-02-02 09:35:46,732 INFO L101 nessWitnessExtractor]: Location invariant after [L3940-L3945] (unsigned long )status == 0UL [2024-02-02 09:35:46,733 INFO L101 nessWitnessExtractor]: Location invariant before [L3927-L3927] ((my_dev == 0) && (data->shared.a == 0)) && (data->shared.b == 0) [2024-02-02 09:35:46,733 INFO L101 nessWitnessExtractor]: Location invariant before [L3953-L3953] (((((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:35:46,733 INFO L101 nessWitnessExtractor]: Location invariant before [L3965-L3965] (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:35:46,733 INFO L101 nessWitnessExtractor]: Location invariant before [L3969-L3969] (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:35:46,733 INFO L101 nessWitnessExtractor]: Location invariant before [L3911-L3911] (unsigned long )arg == 0UL [2024-02-02 09:35:46,733 INFO L101 nessWitnessExtractor]: Location invariant before [L3957-L3957] ((((((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:35:46,734 INFO L101 nessWitnessExtractor]: Location invariant before [L3958-L3962] (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:35:46,734 INFO L101 nessWitnessExtractor]: Location invariant before [L3917-L3917] (unsigned long )arg == 0UL [2024-02-02 09:35:46,734 INFO L101 nessWitnessExtractor]: Location invariant before [L3960-L3960] ((((((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:35:46,734 INFO L101 nessWitnessExtractor]: Location invariant before [L3943-L3943] (unsigned long )status == 0UL [2024-02-02 09:35:46,734 INFO L101 nessWitnessExtractor]: Location invariant before [L3922-L3922] my_dev == 0 [2024-02-02 09:35:46,734 INFO L101 nessWitnessExtractor]: Location invariant before [L3954-L3968] ((((((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:35:46,734 INFO L101 nessWitnessExtractor]: Location invariant before [L3935-L3935] res == 0 [2024-02-02 09:35:46,734 INFO L101 nessWitnessExtractor]: Location invariant before [L3915-L3915] (unsigned long )arg == 0UL [2024-02-02 09:35:46,735 INFO L101 nessWitnessExtractor]: Location invariant before [L3909-L3909] (unsigned long )arg == 0UL [2024-02-02 09:35:46,735 INFO L101 nessWitnessExtractor]: Location invariant before [L3914-L3914] (unsigned long )arg == 0UL [2024-02-02 09:35:46,735 INFO L101 nessWitnessExtractor]: Location invariant before [L3959-L3959] ((((((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:35:46,735 INFO L101 nessWitnessExtractor]: Location invariant before [L3961-L3961] ((((((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:35:46,735 INFO L101 nessWitnessExtractor]: Location invariant before [L3933-L3933] ((res == 0) && (data->shared.a == 0)) && (data->shared.b == 0) [2024-02-02 09:35:46,736 INFO L101 nessWitnessExtractor]: Location invariant after [L3936-L3937] (((my_dev == 0) && (data->shared.a == 0)) && (data->shared.b == 0)) && (res != 0) [2024-02-02 09:35:46,736 INFO L101 nessWitnessExtractor]: Location invariant before [L3964-L3964] (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:35:46,736 INFO L101 nessWitnessExtractor]: Location invariant before [L3908-L3908] (unsigned long )arg == 0UL [2024-02-02 09:35:46,736 INFO L101 nessWitnessExtractor]: Location invariant before [L3963-L3963] (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:35:46,736 INFO L101 nessWitnessExtractor]: Location invariant before [L3913-L3913] (unsigned long )arg == 0UL [2024-02-02 09:35:46,736 INFO L101 nessWitnessExtractor]: Location invariant before [L3912-L3912] (unsigned long )arg == 0UL [2024-02-02 09:35:46,737 INFO L101 nessWitnessExtractor]: Location invariant before [L3925-L3925] (((((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:35:46,737 INFO L101 nessWitnessExtractor]: Location invariant before [L3910-L3910] (unsigned long )arg == 0UL [2024-02-02 09:35:46,737 INFO L101 nessWitnessExtractor]: Location invariant before [L3938-L3938] (((my_dev == 0) && (data->shared.a == 0)) && (data->shared.b == 0)) && (res != 0) [2024-02-02 09:35:46,737 INFO L101 nessWitnessExtractor]: Location invariant before [L3926-L3926] ((my_dev == 0) && (data->shared.a == 0)) && (data->shared.b == 0) [2024-02-02 09:35:46,737 INFO L101 nessWitnessExtractor]: Location invariant before [L3923-L3923] my_dev == 0 [2024-02-02 09:35:46,738 INFO L101 nessWitnessExtractor]: Location invariant before [L3944-L3944] (unsigned long )status == 0UL [2024-02-02 09:35:46,738 INFO L101 nessWitnessExtractor]: Location invariant before [L3904-L3904] (unsigned long )arg == 0UL [2024-02-02 09:35:46,738 INFO L101 nessWitnessExtractor]: Location invariant before [L3967-L3967] (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:35:46,738 INFO L101 nessWitnessExtractor]: Location invariant before [L3907-L3907] (unsigned long )arg == 0UL [2024-02-02 09:35:46,738 INFO L101 nessWitnessExtractor]: Location invariant before [L3931-L3931] (((my_dev == 0) && (res == 0)) && (data->shared.a == 0)) && (data->shared.b == 0) [2024-02-02 09:35:46,738 INFO L101 nessWitnessExtractor]: Location invariant before [L3934-L3934] res == 0 [2024-02-02 09:35:46,739 INFO L101 nessWitnessExtractor]: Location invariant before [L3947-L3947] my_dev == 0 [2024-02-02 09:35:46,740 INFO L101 nessWitnessExtractor]: Location invariant before [L3966-L3966] (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:35:46,740 INFO L101 nessWitnessExtractor]: Location invariant before [L3887-L3887] ((expression == 1) && ((expression == 1 && my_dev == 0) || ((0 <= expression && expression <= 1) && (expression == 0 || expression == 1)))) && (expression == 0) [2024-02-02 09:35:46,740 INFO L101 nessWitnessExtractor]: Location invariant before [L3928-L3929] ((my_dev == 0) && (data->shared.a == 0)) && (data->shared.b == 0) [2024-02-02 09:35:46,740 INFO L101 nessWitnessExtractor]: Location invariant before [L3924-L3924] ((0 == data->shared.a) && (my_dev == 0)) && (data->shared.a == 0) [2024-02-02 09:35:46,803 INFO L177 MainTranslator]: Built tables and reachable declarations [2024-02-02 09:35:47,157 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_2-container_of-global.i[186294,186307] [2024-02-02 09:35:47,198 INFO L209 PostProcessor]: Analyzing one entry point: main [2024-02-02 09:35:47,207 INFO L202 MainTranslator]: Completed pre-run [2024-02-02 09:35:47,243 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_2-container_of-global.i[186294,186307] [2024-02-02 09:35:47,255 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 Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local [2024-02-02 09:35:47,367 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:35:47,381 ERROR L324 MainTranslator]: Incorrect Syntax: Undeclared variable in ACSL expression: probe_ret [2024-02-02 09:35:47,381 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@245f20ed and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 02.02 09:35:47, skipping insertion in model container [2024-02-02 09:35:47,381 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-02-02 09:35:47,382 INFO L186 ToolchainWalker]: Toolchain execution was canceled (user or tool) before executing de.uni_freiburg.informatik.ultimate.boogie.procedureinliner [2024-02-02 09:35:47,383 INFO L158 Benchmark]: Toolchain (without parser) took 769.96ms. Allocated memory is still 184.5MB. Free memory was 129.4MB in the beginning and 90.9MB in the end (delta: 38.5MB). Peak memory consumption was 39.8MB. Max. memory is 16.1GB. [2024-02-02 09:35:47,383 INFO L158 Benchmark]: Witness Parser took 0.14ms. Allocated memory is still 184.5MB. Free memory is still 154.8MB. There was no memory consumed. Max. memory is 16.1GB. [2024-02-02 09:35:47,384 INFO L158 Benchmark]: CDTParser took 0.11ms. Allocated memory is still 184.5MB. Free memory is still 148.5MB. There was no memory consumed. Max. memory is 16.1GB. [2024-02-02 09:35:47,384 INFO L158 Benchmark]: CACSL2BoogieTranslator took 766.79ms. Allocated memory is still 184.5MB. Free memory was 129.4MB in the beginning and 90.9MB in the end (delta: 38.5MB). Peak memory consumption was 39.8MB. Max. memory is 16.1GB. [2024-02-02 09:35:47,385 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.14ms. Allocated memory is still 184.5MB. Free memory is still 154.8MB. There was no memory consumed. Max. memory is 16.1GB. * CDTParser took 0.11ms. Allocated memory is still 184.5MB. Free memory is still 148.5MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 766.79ms. Allocated memory is still 184.5MB. Free memory was 129.4MB in the beginning and 90.9MB in the end (delta: 38.5MB). Peak memory consumption was 39.8MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: - SyntaxErrorResult [Line: 3953]: 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_2-container_of-global.i ./goblint.2023-12-19_14-39-08.files/SV-COMP24_unreach-call/race-3_2-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:35:49,378 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-02-02 09:35:49,455 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2024-02-02 09:35:49,459 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-02-02 09:35:49,459 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-02-02 09:35:49,487 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-02-02 09:35:49,487 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-02-02 09:35:49,488 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-02-02 09:35:49,488 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-02-02 09:35:49,491 INFO L153 SettingsManager]: * Use memory slicer=true [2024-02-02 09:35:49,492 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-02-02 09:35:49,492 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-02-02 09:35:49,492 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-02-02 09:35:49,493 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-02-02 09:35:49,494 INFO L153 SettingsManager]: * Use SBE=true [2024-02-02 09:35:49,494 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-02-02 09:35:49,495 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-02-02 09:35:49,495 INFO L153 SettingsManager]: * sizeof long=4 [2024-02-02 09:35:49,495 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-02-02 09:35:49,495 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-02-02 09:35:49,495 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-02-02 09:35:49,496 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-02-02 09:35:49,497 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-02-02 09:35:49,497 INFO L153 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2024-02-02 09:35:49,497 INFO L153 SettingsManager]: * Use bitvectors instead of ints=true [2024-02-02 09:35:49,497 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-02-02 09:35:49,497 INFO L153 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2024-02-02 09:35:49,498 INFO L153 SettingsManager]: * sizeof long double=12 [2024-02-02 09:35:49,498 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-02-02 09:35:49,498 INFO L153 SettingsManager]: * Use constant arrays=true [2024-02-02 09:35:49,499 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-02-02 09:35:49,499 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-02-02 09:35:49,500 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-02-02 09:35:49,500 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-02-02 09:35:49,500 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-02-02 09:35:49,500 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-02-02 09:35:49,501 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-02-02 09:35:49,501 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-02-02 09:35:49,501 INFO L153 SettingsManager]: * Trace refinement strategy=WOLF [2024-02-02 09:35:49,502 INFO L153 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2024-02-02 09:35:49,502 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-02-02 09:35:49,502 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2024-02-02 09:35:49,502 INFO L153 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2024-02-02 09:35:49,502 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2024-02-02 09:35:49,503 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2024-02-02 09:35:49,503 INFO L153 SettingsManager]: * Logic for external solver=AUFBV [2024-02-02 09:35:49,503 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:35:49,779 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-02-02 09:35:49,808 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-02-02 09:35:49,810 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-02-02 09:35:49,811 INFO L270 PluginConnector]: Initializing CDTParser... [2024-02-02 09:35:49,813 INFO L274 PluginConnector]: CDTParser initialized [2024-02-02 09:35:49,814 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/ldv-races/race-3_2-container_of-global.i [2024-02-02 09:35:50,982 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-02-02 09:35:51,253 INFO L384 CDTParser]: Found 1 translation units. [2024-02-02 09:35:51,254 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/ldv-races/race-3_2-container_of-global.i [2024-02-02 09:35:51,304 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/680d80184/5deddffd284b427bba179955ef4e8cea/FLAG1f281dd2a [2024-02-02 09:35:51,319 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/680d80184/5deddffd284b427bba179955ef4e8cea [2024-02-02 09:35:51,321 INFO L270 PluginConnector]: Initializing Witness Parser... [2024-02-02 09:35:51,321 INFO L274 PluginConnector]: Witness Parser initialized [2024-02-02 09:35:51,323 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_2-container_of-global.yml/witness.yml [2024-02-02 09:35:51,453 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-02-02 09:35:51,454 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2024-02-02 09:35:51,455 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-02-02 09:35:51,455 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-02-02 09:35:51,458 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-02-02 09:35:51,458 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 02.02 09:35:51" (1/2) ... [2024-02-02 09:35:51,459 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@69034cc6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 02.02 09:35:51, skipping insertion in model container [2024-02-02 09:35:51,459 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 02.02 09:35:51" (1/2) ... [2024-02-02 09:35:51,460 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@2a0af56a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 02.02 09:35:51, skipping insertion in model container [2024-02-02 09:35:51,460 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 02.02 09:35:51" (2/2) ... [2024-02-02 09:35:51,461 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@69034cc6 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 02.02 09:35:51, skipping insertion in model container [2024-02-02 09:35:51,461 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 02.02 09:35:51" (2/2) ... [2024-02-02 09:35:51,461 INFO L86 nessWitnessExtractor]: Extracting all invariants from correctness witness [2024-02-02 09:35:51,568 INFO L99 nessWitnessExtractor]: Found the following entries in the witness: [2024-02-02 09:35:51,570 INFO L101 nessWitnessExtractor]: Location invariant before [L3964-L3964] (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:35:51,570 INFO L101 nessWitnessExtractor]: Location invariant before [L3953-L3953] (((((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:35:51,570 INFO L101 nessWitnessExtractor]: Location invariant before [L3913-L3913] (unsigned long )arg == 0UL [2024-02-02 09:35:51,570 INFO L101 nessWitnessExtractor]: Location invariant before [L3959-L3959] ((((((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:35:51,570 INFO L101 nessWitnessExtractor]: Location invariant before [L3912-L3912] (unsigned long )arg == 0UL [2024-02-02 09:35:51,570 INFO L101 nessWitnessExtractor]: Location invariant before [L3943-L3943] (unsigned long )status == 0UL [2024-02-02 09:35:51,570 INFO L101 nessWitnessExtractor]: Location invariant before [L3931-L3931] (((my_dev == 0) && (res == 0)) && (data->shared.a == 0)) && (data->shared.b == 0) [2024-02-02 09:35:51,570 INFO L101 nessWitnessExtractor]: Location invariant before [L3938-L3938] (((my_dev == 0) && (data->shared.a == 0)) && (data->shared.b == 0)) && (res != 0) [2024-02-02 09:35:51,571 INFO L101 nessWitnessExtractor]: Location invariant after [L3940-L3945] (unsigned long )status == 0UL [2024-02-02 09:35:51,571 INFO L101 nessWitnessExtractor]: Location invariant before [L3887-L3887] ((expression == 1) && ((expression == 1 && my_dev == 0) || ((0 <= expression && expression <= 1) && (expression == 0 || expression == 1)))) && (expression == 0) [2024-02-02 09:35:51,571 INFO L101 nessWitnessExtractor]: Location invariant before [L3967-L3967] (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:35:51,571 INFO L101 nessWitnessExtractor]: Location invariant before [L3935-L3935] res == 0 [2024-02-02 09:35:51,571 INFO L101 nessWitnessExtractor]: Location invariant before [L3922-L3922] my_dev == 0 [2024-02-02 09:35:51,571 INFO L101 nessWitnessExtractor]: Location invariant before [L3954-L3968] ((((((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:35:51,571 INFO L101 nessWitnessExtractor]: Location invariant before [L3928-L3929] ((my_dev == 0) && (data->shared.a == 0)) && (data->shared.b == 0) [2024-02-02 09:35:51,572 INFO L101 nessWitnessExtractor]: Location invariant after [L3936-L3937] (((my_dev == 0) && (data->shared.a == 0)) && (data->shared.b == 0)) && (res != 0) [2024-02-02 09:35:51,572 INFO L101 nessWitnessExtractor]: Location invariant before [L3904-L3904] (unsigned long )arg == 0UL [2024-02-02 09:35:51,572 INFO L101 nessWitnessExtractor]: Location invariant before [L3926-L3926] ((my_dev == 0) && (data->shared.a == 0)) && (data->shared.b == 0) [2024-02-02 09:35:51,573 INFO L101 nessWitnessExtractor]: Location invariant before [L3965-L3965] (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:35:51,573 INFO L101 nessWitnessExtractor]: Location invariant before [L3909-L3909] (unsigned long )arg == 0UL [2024-02-02 09:35:51,573 INFO L101 nessWitnessExtractor]: Location invariant before [L3914-L3914] (unsigned long )arg == 0UL [2024-02-02 09:35:51,573 INFO L101 nessWitnessExtractor]: Location invariant before [L3934-L3934] res == 0 [2024-02-02 09:35:51,573 INFO L101 nessWitnessExtractor]: Location invariant before [L3933-L3933] ((res == 0) && (data->shared.a == 0)) && (data->shared.b == 0) [2024-02-02 09:35:51,573 INFO L101 nessWitnessExtractor]: Location invariant before [L3960-L3960] ((((((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:35:51,573 INFO L101 nessWitnessExtractor]: Location invariant before [L3915-L3915] (unsigned long )arg == 0UL [2024-02-02 09:35:51,573 INFO L101 nessWitnessExtractor]: Location invariant before [L3969-L3969] (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:35:51,574 INFO L101 nessWitnessExtractor]: Location invariant before [L3927-L3927] ((my_dev == 0) && (data->shared.a == 0)) && (data->shared.b == 0) [2024-02-02 09:35:51,574 INFO L101 nessWitnessExtractor]: Location invariant before [L3947-L3947] my_dev == 0 [2024-02-02 09:35:51,574 INFO L101 nessWitnessExtractor]: Location invariant before [L3908-L3908] (unsigned long )arg == 0UL [2024-02-02 09:35:51,574 INFO L101 nessWitnessExtractor]: Location invariant before [L3944-L3944] (unsigned long )status == 0UL [2024-02-02 09:35:51,574 INFO L101 nessWitnessExtractor]: Location invariant before [L3911-L3911] (unsigned long )arg == 0UL [2024-02-02 09:35:51,574 INFO L101 nessWitnessExtractor]: Location invariant before [L3966-L3966] (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:35:51,575 INFO L101 nessWitnessExtractor]: Location invariant before [L3958-L3962] (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:35:51,575 INFO L101 nessWitnessExtractor]: Location invariant before [L3923-L3923] my_dev == 0 [2024-02-02 09:35:51,576 INFO L101 nessWitnessExtractor]: Location invariant before [L3924-L3924] ((0 == data->shared.a) && (my_dev == 0)) && (data->shared.a == 0) [2024-02-02 09:35:51,576 INFO L101 nessWitnessExtractor]: Location invariant before [L3961-L3961] ((((((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:35:51,576 INFO L101 nessWitnessExtractor]: Location invariant before [L3907-L3907] (unsigned long )arg == 0UL [2024-02-02 09:35:51,577 INFO L101 nessWitnessExtractor]: Location invariant before [L3910-L3910] (unsigned long )arg == 0UL [2024-02-02 09:35:51,577 INFO L101 nessWitnessExtractor]: Location invariant before [L3963-L3963] (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:35:51,577 INFO L101 nessWitnessExtractor]: Location invariant before [L3957-L3957] ((((((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:35:51,577 INFO L101 nessWitnessExtractor]: Location invariant before [L3925-L3925] (((((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:35:51,577 INFO L101 nessWitnessExtractor]: Location invariant before [L3917-L3917] (unsigned long )arg == 0UL [2024-02-02 09:35:51,631 INFO L177 MainTranslator]: Built tables and reachable declarations [2024-02-02 09:35:51,954 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_2-container_of-global.i[186294,186307] [2024-02-02 09:35:51,991 INFO L209 PostProcessor]: Analyzing one entry point: main [2024-02-02 09:35:52,005 INFO L199 MainTranslator]: Restarting translation with changed settings: SettingsChange [mNewPreferredMemoryModel=HoenickeLindenmann_1ByteResolution] [2024-02-02 09:35:52,019 INFO L177 MainTranslator]: Built tables and reachable declarations [2024-02-02 09:35:52,059 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_2-container_of-global.i[186294,186307] [2024-02-02 09:35:52,072 INFO L209 PostProcessor]: Analyzing one entry point: main [2024-02-02 09:35:52,077 INFO L202 MainTranslator]: Completed pre-run [2024-02-02 09:35:52,121 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_2-container_of-global.i[186294,186307] [2024-02-02 09:35:52,122 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 Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local Start Parsing Local [2024-02-02 09:35:52,237 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:35:52,239 ERROR L324 MainTranslator]: Incorrect Syntax: Undeclared variable in ACSL expression: probe_ret [2024-02-02 09:35:52,240 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@2a0af56a and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 02.02 09:35:52, skipping insertion in model container [2024-02-02 09:35:52,240 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-02-02 09:35:52,240 INFO L186 ToolchainWalker]: Toolchain execution was canceled (user or tool) before executing de.uni_freiburg.informatik.ultimate.boogie.procedureinliner [2024-02-02 09:35:52,242 INFO L158 Benchmark]: Toolchain (without parser) took 786.73ms. Allocated memory is still 67.1MB. Free memory was 37.8MB in the beginning and 23.9MB in the end (delta: 13.9MB). Peak memory consumption was 17.1MB. Max. memory is 16.1GB. [2024-02-02 09:35:52,242 INFO L158 Benchmark]: CDTParser took 0.79ms. Allocated memory is still 48.2MB. Free memory is still 29.4MB. There was no memory consumed. Max. memory is 16.1GB. [2024-02-02 09:35:52,242 INFO L158 Benchmark]: Witness Parser took 0.17ms. Allocated memory is still 67.1MB. Free memory is still 44.0MB. There was no memory consumed. Max. memory is 16.1GB. [2024-02-02 09:35:52,243 INFO L158 Benchmark]: CACSL2BoogieTranslator took 785.25ms. Allocated memory is still 67.1MB. Free memory was 37.6MB in the beginning and 23.9MB in the end (delta: 13.7MB). Peak memory consumption was 17.1MB. Max. memory is 16.1GB. [2024-02-02 09:35:52,244 INFO L338 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.79ms. Allocated memory is still 48.2MB. Free memory is still 29.4MB. There was no memory consumed. Max. memory is 16.1GB. * Witness Parser took 0.17ms. Allocated memory is still 67.1MB. Free memory is still 44.0MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 785.25ms. Allocated memory is still 67.1MB. Free memory was 37.6MB in the beginning and 23.9MB in the end (delta: 13.7MB). Peak memory consumption was 17.1MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: - SyntaxErrorResult [Line: 3953]: 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