./Ultimate.py --spec ../../../trunk/examples/svcomp/properties/unreach-call.prp --file ../../../trunk/examples/svcomp/pthread/queue_longest.i --full-output --witness-type correctness_witness --witnessparser.only.consider.loop.invariants false --cacsl2boogietranslator.check.unreachability.of.reach_error.function false --validate ./goblint.2024-06-19_11-23-25.files/protection/queue_longest.yml/witness.yml --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 2cc22fce Calling Ultimate with: /root/.sdkman/candidates/java/current/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/config/GemCutterReachWitnessValidation.xml -i ../../../trunk/examples/svcomp/pthread/queue_longest.i ./goblint.2024-06-19_11-23-25.files/protection/queue_longest.yml/witness.yml -s /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/config/svcomp-Reach-32bit-GemCutter_Default.epf --cacsl2boogietranslator.entry.function main --traceabstraction.compute.hoare.annotation.of.negated.interpolant.automaton,.abstraction.and.cfg false --witnessparser.only.consider.loop.invariants false --cacsl2boogietranslator.check.unreachability.of.reach_error.function false --- Real Ultimate output --- This is Ultimate 0.2.4-tmp.fs.goblint-validation-2cc22fc-m [2024-07-22 14:41:25,357 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-07-22 14:41:25,649 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/config/svcomp-Reach-32bit-GemCutter_Default.epf [2024-07-22 14:41:25,652 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-07-22 14:41:25,652 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-07-22 14:41:25,670 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-07-22 14:41:25,670 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-07-22 14:41:25,671 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-07-22 14:41:25,671 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-07-22 14:41:25,671 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-07-22 14:41:25,672 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-07-22 14:41:25,672 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-07-22 14:41:25,672 INFO L153 SettingsManager]: * Use SBE=true [2024-07-22 14:41:25,672 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-07-22 14:41:25,673 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-07-22 14:41:25,673 INFO L153 SettingsManager]: * sizeof long=4 [2024-07-22 14:41:25,673 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-07-22 14:41:25,673 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-07-22 14:41:25,674 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-07-22 14:41:25,674 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-07-22 14:41:25,674 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-07-22 14:41:25,674 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-07-22 14:41:25,674 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-07-22 14:41:25,675 INFO L153 SettingsManager]: * sizeof long double=12 [2024-07-22 14:41:25,675 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-07-22 14:41:25,675 INFO L153 SettingsManager]: * Use constant arrays=true [2024-07-22 14:41:25,675 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-07-22 14:41:25,676 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-07-22 14:41:25,676 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-07-22 14:41:25,676 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-07-22 14:41:25,676 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2024-07-22 14:41:25,676 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-07-22 14:41:25,677 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-07-22 14:41:25,677 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-07-22 14:41:25,677 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-07-22 14:41:25,677 INFO L153 SettingsManager]: * DFS Order used in POR=LOOP_LOCKSTEP [2024-07-22 14:41:25,677 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-07-22 14:41:25,678 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-07-22 14:41:25,678 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PARTIAL_ORDER_FA [2024-07-22 14:41:25,678 INFO L153 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2024-07-22 14:41:25,678 INFO L153 SettingsManager]: * CEGAR restart behaviour=ONE_CEGAR_PER_THREAD_INSTANCE [2024-07-22 14:41:25,678 INFO L153 SettingsManager]: * Partial Order Reduction in concurrent analysis=PERSISTENT_SLEEP_NEW_STATES_FIXEDORDER [2024-07-22 14:41:25,679 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode 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/UGemCutter-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 Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Check unreachability of reach_error function -> false [2024-07-22 14:41:25,934 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-07-22 14:41:25,951 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-07-22 14:41:25,953 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-07-22 14:41:25,955 INFO L270 PluginConnector]: Initializing CDTParser... [2024-07-22 14:41:25,956 INFO L274 PluginConnector]: CDTParser initialized [2024-07-22 14:41:25,957 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/../../../trunk/examples/svcomp/pthread/queue_longest.i [2024-07-22 14:41:26,951 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-07-22 14:41:27,149 INFO L384 CDTParser]: Found 1 translation units. [2024-07-22 14:41:27,150 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/pthread/queue_longest.i [2024-07-22 14:41:27,165 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/87868fb22/d1b2964bb72542d9a87102b7fcc5a37c/FLAG9bb034562 [2024-07-22 14:41:27,175 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/data/87868fb22/d1b2964bb72542d9a87102b7fcc5a37c [2024-07-22 14:41:27,178 INFO L270 PluginConnector]: Initializing Witness Parser... [2024-07-22 14:41:27,178 INFO L274 PluginConnector]: Witness Parser initialized [2024-07-22 14:41:27,179 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/./goblint.2024-06-19_11-23-25.files/protection/queue_longest.yml/witness.yml [2024-07-22 14:41:27,268 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-07-22 14:41:27,269 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2024-07-22 14:41:27,270 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-07-22 14:41:27,271 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-07-22 14:41:27,274 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-07-22 14:41:27,275 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.07 02:41:27" (1/2) ... [2024-07-22 14:41:27,276 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1ea5c6f8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 02:41:27, skipping insertion in model container [2024-07-22 14:41:27,276 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.07 02:41:27" (1/2) ... [2024-07-22 14:41:27,277 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@6b9e005a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.07 02:41:27, skipping insertion in model container [2024-07-22 14:41:27,277 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 22.07 02:41:27" (2/2) ... [2024-07-22 14:41:27,278 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1ea5c6f8 and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 22.07 02:41:27, skipping insertion in model container [2024-07-22 14:41:27,278 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser CORRECTNESS_WITNESS 22.07 02:41:27" (2/2) ... [2024-07-22 14:41:27,278 INFO L83 nessWitnessExtractor]: Extracting all invariants from correctness witness [2024-07-22 14:41:27,305 INFO L95 edCorrectnessWitness]: Found the following entries in the witness: [2024-07-22 14:41:27,306 INFO L97 edCorrectnessWitness]: Location invariant before [L1064-L1064] ! multithreaded || (((0 <= queue.head && 0 <= queue.tail) && queue.head <= 800) && queue.tail <= 800) [2024-07-22 14:41:27,306 INFO L97 edCorrectnessWitness]: Location invariant before [L1063-L1063] ! multithreaded || (((0 <= queue.head && 0 <= queue.tail) && queue.head <= 800) && queue.tail <= 800) [2024-07-22 14:41:27,306 INFO L103 edCorrectnessWitness]: ghost_variable multithreaded = 0 [2024-07-22 14:41:27,306 INFO L103 edCorrectnessWitness]: ghost_variable m_locked = 0 [2024-07-22 14:41:27,307 INFO L106 edCorrectnessWitness]: ghost_update [L1017-L1017] m_locked = 0; [2024-07-22 14:41:27,307 INFO L106 edCorrectnessWitness]: ghost_update [L1008-L1008] m_locked = 1; [2024-07-22 14:41:27,307 INFO L106 edCorrectnessWitness]: ghost_update [L1048-L1048] m_locked = 0; [2024-07-22 14:41:27,307 INFO L106 edCorrectnessWitness]: ghost_update [L1062-L1062] multithreaded = 1; [2024-07-22 14:41:27,307 INFO L106 edCorrectnessWitness]: ghost_update [L1039-L1039] m_locked = 1; [2024-07-22 14:41:27,307 INFO L106 edCorrectnessWitness]: ghost_update [L1020-L1020] m_locked = 1; [2024-07-22 14:41:27,307 INFO L106 edCorrectnessWitness]: ghost_update [L1029-L1029] m_locked = 0; [2024-07-22 14:41:27,345 INFO L177 MainTranslator]: Built tables and reachable declarations [2024-07-22 14:41:27,667 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-07-22 14:41:27,679 INFO L202 MainTranslator]: Completed pre-run 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-07-22 14:41:28,276 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-07-22 14:41:28,347 INFO L206 MainTranslator]: Completed translation [2024-07-22 14:41:28,348 INFO L201 PluginConnector]: Adding new model witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 22.07 02:41:28 WrapperNode [2024-07-22 14:41:28,348 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-07-22 14:41:28,349 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2024-07-22 14:41:28,349 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2024-07-22 14:41:28,349 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2024-07-22 14:41:28,354 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 22.07 02:41:28" (1/1) ... [2024-07-22 14:41:28,516 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 22.07 02:41:28" (1/1) ... [2024-07-22 14:41:28,837 INFO L138 Inliner]: procedures = 274, calls = 6480, calls flagged for inlining = 11, calls inlined = 11, statements flattened = 25947 [2024-07-22 14:41:28,837 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2024-07-22 14:41:28,838 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-07-22 14:41:28,838 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-07-22 14:41:28,838 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-07-22 14:41:28,939 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 22.07 02:41:28" (1/1) ... [2024-07-22 14:41:28,939 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 22.07 02:41:28" (1/1) ... [2024-07-22 14:41:29,164 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 22.07 02:41:28" (1/1) ... [2024-07-22 14:41:29,172 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 22.07 02:41:28" (1/1) ... [2024-07-22 14:41:29,501 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 22.07 02:41:28" (1/1) ... [2024-07-22 14:41:29,528 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 22.07 02:41:28" (1/1) ... [2024-07-22 14:41:29,552 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 22.07 02:41:28" (1/1) ... [2024-07-22 14:41:29,573 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 22.07 02:41:28" (1/1) ... [2024-07-22 14:41:29,631 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-07-22 14:41:29,632 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2024-07-22 14:41:29,632 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2024-07-22 14:41:29,632 INFO L274 PluginConnector]: RCFGBuilder initialized [2024-07-22 14:41:29,633 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator CORRECTNESS_WITNESS 22.07 02:41:28" (1/1) ... [2024-07-22 14:41:29,637 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2024-07-22 14:41:29,742 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 [2024-07-22 14:41:29,755 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2024-07-22 14:41:29,771 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2024-07-22 14:41:29,788 INFO L130 BoogieDeclarations]: Found specification of procedure t1 [2024-07-22 14:41:29,788 INFO L138 BoogieDeclarations]: Found implementation of procedure t1 [2024-07-22 14:41:29,788 INFO L130 BoogieDeclarations]: Found specification of procedure t2 [2024-07-22 14:41:29,789 INFO L138 BoogieDeclarations]: Found implementation of procedure t2 [2024-07-22 14:41:29,789 INFO L130 BoogieDeclarations]: Found specification of procedure #PthreadsMutexUnlock [2024-07-22 14:41:29,789 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2024-07-22 14:41:29,789 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2024-07-22 14:41:29,790 INFO L130 BoogieDeclarations]: Found specification of procedure #PthreadsMutexLock [2024-07-22 14:41:29,790 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-07-22 14:41:29,790 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2024-07-22 14:41:29,790 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-07-22 14:41:29,791 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-07-22 14:41:29,796 WARN L214 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement [2024-07-22 14:41:30,623 INFO L244 CfgBuilder]: Building ICFG [2024-07-22 14:41:30,626 INFO L270 CfgBuilder]: Building CFG for each procedure with an implementation [2024-07-22 14:41:41,173 INFO L289 CfgBuilder]: Ommited future-live optimization because the input is a concurrent program. [2024-07-22 14:41:41,173 INFO L293 CfgBuilder]: Performing block encoding