/usr/bin/java -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data -s ../../../trunk/examples/settings/automizer/concurrent/svcomp-Reach-32bit-Automizer_Default-noMmResRef-POR-None-NoLbe.epf -tc ../../../trunk/examples/toolchains/AutomizerBplInline.xml -i ../../../trunk/examples/concurrent/bpl/POPL2022/bluetooth-incorrect07.bpl -------------------------------------------------------------------------------- This is Ultimate 0.2.1-87fd7473a0bda1db0ad7f77f2116346063730f21-87fd747 [2021-08-21 16:28:55,119 INFO L177 SettingsManager]: Resetting all preferences to default values... [2021-08-21 16:28:55,120 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2021-08-21 16:28:55,138 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2021-08-21 16:28:55,138 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2021-08-21 16:28:55,139 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2021-08-21 16:28:55,140 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2021-08-21 16:28:55,141 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2021-08-21 16:28:55,142 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2021-08-21 16:28:55,143 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2021-08-21 16:28:55,144 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2021-08-21 16:28:55,144 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2021-08-21 16:28:55,145 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2021-08-21 16:28:55,145 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2021-08-21 16:28:55,146 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2021-08-21 16:28:55,147 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2021-08-21 16:28:55,148 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2021-08-21 16:28:55,148 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2021-08-21 16:28:55,150 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2021-08-21 16:28:55,151 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2021-08-21 16:28:55,152 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2021-08-21 16:28:55,153 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2021-08-21 16:28:55,154 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2021-08-21 16:28:55,154 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2021-08-21 16:28:55,156 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2021-08-21 16:28:55,156 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2021-08-21 16:28:55,156 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2021-08-21 16:28:55,157 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2021-08-21 16:28:55,157 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2021-08-21 16:28:55,158 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2021-08-21 16:28:55,158 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2021-08-21 16:28:55,158 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2021-08-21 16:28:55,159 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2021-08-21 16:28:55,159 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2021-08-21 16:28:55,160 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2021-08-21 16:28:55,160 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2021-08-21 16:28:55,161 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2021-08-21 16:28:55,161 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2021-08-21 16:28:55,161 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2021-08-21 16:28:55,161 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2021-08-21 16:28:55,162 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2021-08-21 16:28:55,163 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/concurrent/svcomp-Reach-32bit-Automizer_Default-noMmResRef-POR-None-NoLbe.epf [2021-08-21 16:28:55,177 INFO L113 SettingsManager]: Loading preferences was successful [2021-08-21 16:28:55,177 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2021-08-21 16:28:55,177 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2021-08-21 16:28:55,177 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2021-08-21 16:28:55,178 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2021-08-21 16:28:55,178 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2021-08-21 16:28:55,178 INFO L138 SettingsManager]: * Use SBE=true [2021-08-21 16:28:55,178 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2021-08-21 16:28:55,178 INFO L138 SettingsManager]: * sizeof long=4 [2021-08-21 16:28:55,179 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2021-08-21 16:28:55,179 INFO L138 SettingsManager]: * sizeof POINTER=4 [2021-08-21 16:28:55,179 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2021-08-21 16:28:55,179 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2021-08-21 16:28:55,179 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2021-08-21 16:28:55,179 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2021-08-21 16:28:55,179 INFO L138 SettingsManager]: * sizeof long double=12 [2021-08-21 16:28:55,179 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2021-08-21 16:28:55,179 INFO L138 SettingsManager]: * Use constant arrays=true [2021-08-21 16:28:55,179 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2021-08-21 16:28:55,179 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2021-08-21 16:28:55,180 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2021-08-21 16:28:55,180 INFO L138 SettingsManager]: * To the following directory=./dump/ [2021-08-21 16:28:55,180 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2021-08-21 16:28:55,180 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2021-08-21 16:28:55,180 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2021-08-21 16:28:55,180 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2021-08-21 16:28:55,180 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2021-08-21 16:28:55,180 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2021-08-21 16:28:55,180 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2021-08-21 16:28:55,181 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2021-08-21 16:28:55,181 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PARTIAL_ORDER_FA [2021-08-21 16:28:55,181 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2021-08-21 16:28:55,181 INFO L138 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/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 [2021-08-21 16:28:55,458 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2021-08-21 16:28:55,480 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2021-08-21 16:28:55,482 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2021-08-21 16:28:55,485 INFO L271 PluginConnector]: Initializing Boogie PL CUP Parser... [2021-08-21 16:28:55,486 INFO L275 PluginConnector]: Boogie PL CUP Parser initialized [2021-08-21 16:28:55,486 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/concurrent/bpl/POPL2022/bluetooth-incorrect07.bpl [2021-08-21 16:28:55,487 INFO L110 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/concurrent/bpl/POPL2022/bluetooth-incorrect07.bpl' [2021-08-21 16:28:55,504 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2021-08-21 16:28:55,505 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2021-08-21 16:28:55,506 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2021-08-21 16:28:55,506 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2021-08-21 16:28:55,506 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2021-08-21 16:28:55,515 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "bluetooth-incorrect07.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 21.08 04:28:55" (1/1) ... [2021-08-21 16:28:55,519 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "bluetooth-incorrect07.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 21.08 04:28:55" (1/1) ... [2021-08-21 16:28:55,531 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2021-08-21 16:28:55,532 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2021-08-21 16:28:55,533 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2021-08-21 16:28:55,533 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2021-08-21 16:28:55,537 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "bluetooth-incorrect07.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 21.08 04:28:55" (1/1) ... [2021-08-21 16:28:55,538 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "bluetooth-incorrect07.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 21.08 04:28:55" (1/1) ... [2021-08-21 16:28:55,538 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "bluetooth-incorrect07.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 21.08 04:28:55" (1/1) ... [2021-08-21 16:28:55,538 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "bluetooth-incorrect07.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 21.08 04:28:55" (1/1) ... [2021-08-21 16:28:55,540 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "bluetooth-incorrect07.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 21.08 04:28:55" (1/1) ... [2021-08-21 16:28:55,544 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "bluetooth-incorrect07.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 21.08 04:28:55" (1/1) ... [2021-08-21 16:28:55,544 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "bluetooth-incorrect07.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 21.08 04:28:55" (1/1) ... [2021-08-21 16:28:55,545 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2021-08-21 16:28:55,546 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2021-08-21 16:28:55,546 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2021-08-21 16:28:55,547 INFO L275 PluginConnector]: RCFGBuilder initialized [2021-08-21 16:28:55,548 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "bluetooth-incorrect07.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 21.08 04:28:55" (1/1) ... [2021-08-21 16:28:55,554 INFO L170 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2021-08-21 16:28:55,560 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2021-08-21 16:28:55,574 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2021-08-21 16:28:55,577 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2021-08-21 16:28:55,601 INFO L124 BoogieDeclarations]: Specification and implementation of procedure DeviceThreadWithAssert given in one single declaration [2021-08-21 16:28:55,602 INFO L130 BoogieDeclarations]: Found specification of procedure DeviceThreadWithAssert [2021-08-21 16:28:55,602 INFO L138 BoogieDeclarations]: Found implementation of procedure DeviceThreadWithAssert [2021-08-21 16:28:55,602 INFO L124 BoogieDeclarations]: Specification and implementation of procedure DeviceThread given in one single declaration [2021-08-21 16:28:55,602 INFO L130 BoogieDeclarations]: Found specification of procedure DeviceThread [2021-08-21 16:28:55,602 INFO L138 BoogieDeclarations]: Found implementation of procedure DeviceThread [2021-08-21 16:28:55,602 INFO L124 BoogieDeclarations]: Specification and implementation of procedure ServerThread given in one single declaration [2021-08-21 16:28:55,602 INFO L130 BoogieDeclarations]: Found specification of procedure ServerThread [2021-08-21 16:28:55,602 INFO L138 BoogieDeclarations]: Found implementation of procedure ServerThread [2021-08-21 16:28:55,602 INFO L124 BoogieDeclarations]: Specification and implementation of procedure ULTIMATE.start given in one single declaration [2021-08-21 16:28:55,603 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2021-08-21 16:28:55,603 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2021-08-21 16:28:55,603 WARN L209 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to SingleStatement [2021-08-21 16:28:55,827 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2021-08-21 16:28:55,828 INFO L299 CfgBuilder]: Removed 12 assume(true) statements. [2021-08-21 16:28:55,829 INFO L202 PluginConnector]: Adding new model bluetooth-incorrect07.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 21.08 04:28:55 BoogieIcfgContainer [2021-08-21 16:28:55,829 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2021-08-21 16:28:55,830 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2021-08-21 16:28:55,830 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2021-08-21 16:28:55,832 INFO L275 PluginConnector]: TraceAbstraction initialized [2021-08-21 16:28:55,832 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "bluetooth-incorrect07.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 21.08 04:28:55" (1/2) ... [2021-08-21 16:28:55,833 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@ec32f03 and model type bluetooth-incorrect07.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 21.08 04:28:55, skipping insertion in model container [2021-08-21 16:28:55,833 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "bluetooth-incorrect07.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 21.08 04:28:55" (2/2) ... [2021-08-21 16:28:55,834 INFO L111 eAbstractionObserver]: Analyzing ICFG bluetooth-incorrect07.bpl [2021-08-21 16:28:55,837 WARN L149 ceAbstractionStarter]: Switching off computation of Hoare annotation because input is a concurrent program [2021-08-21 16:28:55,837 INFO L204 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2021-08-21 16:28:55,837 INFO L163 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2021-08-21 16:28:55,837 INFO L516 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2021-08-21 16:28:55,869 INFO L148 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2021-08-21 16:28:55,914 INFO L170 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 [2021-08-21 16:28:55,914 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2021-08-21 16:28:55,915 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (exit command is (exit), workingDir is null) [2021-08-21 16:28:55,916 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (2)] Waiting until timeout for monitored process [2021-08-21 16:28:55,937 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2021-08-21 16:28:55,945 INFO L339 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mConcurrency=PARTIAL_ORDER_FA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mLoopAccelerationTechnique=FAST_UPR [2021-08-21 16:28:55,945 INFO L340 AbstractCegarLoop]: Starting to check reachability of 10 error locations. [2021-08-21 16:28:55,957 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 74 places, 56 transitions, 152 flow [2021-08-21 16:29:09,881 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 294911 states, 294909 states have (on average 8.173687476475795) internal successors, (2410494), 294910 states have internal predecessors, (2410494), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-08-21 16:29:09,898 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting DeviceThreadWithAssertErr0ASSERT_VIOLATIONASSERT === [DeviceThreadWithAssertErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION, ULTIMATE.startErr2INUSE_VIOLATION (and 6 more)] === [2021-08-21 16:29:09,911 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-08-21 16:29:09,912 INFO L82 PathProgramCache]: Analyzing trace with hash -2140832284, now seen corresponding path program 1 times [2021-08-21 16:29:09,918 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-08-21 16:29:09,918 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1497167717] [2021-08-21 16:29:09,918 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-08-21 16:29:09,919 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-08-21 16:29:09,967 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-08-21 16:29:09,998 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2021-08-21 16:29:09,998 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-08-21 16:29:09,998 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1497167717] [2021-08-21 16:29:09,999 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1497167717] provided 1 perfect and 0 imperfect interpolant sequences [2021-08-21 16:29:09,999 INFO L186 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2021-08-21 16:29:09,999 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2021-08-21 16:29:10,000 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1143184304] [2021-08-21 16:29:10,003 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2021-08-21 16:29:10,003 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-08-21 16:29:10,010 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2021-08-21 16:29:10,011 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2021-08-21 16:29:10,011 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2021-08-21 16:29:10,012 INFO L470 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2021-08-21 16:29:10,012 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 2 states have (on average 4.5) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-08-21 16:29:10,012 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2021-08-21 16:29:11,540 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2021-08-21 16:29:11,540 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2021-08-21 16:29:11,541 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting DeviceThreadWithAssertErr0ASSERT_VIOLATIONASSERT === [DeviceThreadWithAssertErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION, ULTIMATE.startErr2INUSE_VIOLATION (and 6 more)] === [2021-08-21 16:29:11,541 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-08-21 16:29:11,541 INFO L82 PathProgramCache]: Analyzing trace with hash -1576655668, now seen corresponding path program 1 times [2021-08-21 16:29:11,541 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-08-21 16:29:11,542 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1257705933] [2021-08-21 16:29:11,542 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-08-21 16:29:11,542 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-08-21 16:29:11,661 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-08-21 16:29:11,843 INFO L134 CoverageAnalysis]: Checked inductivity of 2368 backedges. 328 proven. 0 refuted. 0 times theorem prover too weak. 2040 trivial. 0 not checked. [2021-08-21 16:29:11,843 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-08-21 16:29:11,843 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1257705933] [2021-08-21 16:29:11,843 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1257705933] provided 1 perfect and 0 imperfect interpolant sequences [2021-08-21 16:29:11,844 INFO L186 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2021-08-21 16:29:11,844 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2021-08-21 16:29:11,844 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [426027536] [2021-08-21 16:29:11,845 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2021-08-21 16:29:11,845 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-08-21 16:29:11,846 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2021-08-21 16:29:11,846 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2021-08-21 16:29:11,846 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2021-08-21 16:29:11,846 INFO L470 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2021-08-21 16:29:11,846 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 18.0) internal successors, (54), 3 states have internal predecessors, (54), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-08-21 16:29:11,846 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 3 states. [2021-08-21 16:29:11,846 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2021-08-21 16:29:11,877 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2021-08-21 16:29:11,877 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2021-08-21 16:29:11,878 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2021-08-21 16:29:11,878 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting DeviceThreadWithAssertErr0ASSERT_VIOLATIONASSERT === [DeviceThreadWithAssertErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION, ULTIMATE.startErr2INUSE_VIOLATION (and 6 more)] === [2021-08-21 16:29:11,878 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-08-21 16:29:11,879 INFO L82 PathProgramCache]: Analyzing trace with hash 1018963266, now seen corresponding path program 2 times [2021-08-21 16:29:11,879 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-08-21 16:29:11,879 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [879240989] [2021-08-21 16:29:11,879 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-08-21 16:29:11,880 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-08-21 16:29:11,993 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2021-08-21 16:29:13,130 INFO L134 CoverageAnalysis]: Checked inductivity of 2102 backedges. 628 proven. 463 refuted. 0 times theorem prover too weak. 1011 trivial. 0 not checked. [2021-08-21 16:29:13,130 INFO L139 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2021-08-21 16:29:13,130 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [879240989] [2021-08-21 16:29:13,131 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [879240989] provided 0 perfect and 1 imperfect interpolant sequences [2021-08-21 16:29:13,131 INFO L332 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1326808323] [2021-08-21 16:29:13,131 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2021-08-21 16:29:13,131 INFO L170 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2021-08-21 16:29:13,131 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2021-08-21 16:29:13,132 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2021-08-21 16:29:13,133 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2021-08-21 16:29:13,233 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2021-08-21 16:29:13,233 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2021-08-21 16:29:13,239 WARN L261 TraceCheckSpWp]: Trace formula consists of 324 conjuncts, 219 conjunts are in the unsatisfiable core [2021-08-21 16:29:13,252 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2021-08-21 16:29:15,145 INFO L134 CoverageAnalysis]: Checked inductivity of 2102 backedges. 32 proven. 1059 refuted. 0 times theorem prover too weak. 1011 trivial. 0 not checked. [2021-08-21 16:29:15,146 INFO L160 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1326808323] provided 0 perfect and 1 imperfect interpolant sequences [2021-08-21 16:29:15,146 INFO L186 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2021-08-21 16:29:15,146 INFO L199 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2021-08-21 16:29:15,146 INFO L115 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1335491627] [2021-08-21 16:29:15,147 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2021-08-21 16:29:15,147 INFO L103 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2021-08-21 16:29:15,148 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2021-08-21 16:29:15,148 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=99, Unknown=0, NotChecked=0, Total=156 [2021-08-21 16:29:15,148 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2021-08-21 16:29:15,148 INFO L470 AbstractCegarLoop]: Abstraction has currently 0 states, but on-demand construction may add more states [2021-08-21 16:29:15,148 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 8.846153846153847) internal successors, (115), 12 states have internal predecessors, (115), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2021-08-21 16:29:15,148 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 3 states. [2021-08-21 16:29:15,148 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 3 states. [2021-08-21 16:29:15,148 INFO L154 InterpolantAutomaton]: Switched to On-DemandConstruction mode: deterministic interpolant automaton has 2 states. [2021-08-21 16:29:15,398 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2021-08-21 16:29:15,399 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2021-08-21 16:29:15,408 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2021-08-21 16:29:15,432 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2021-08-21 16:29:15,609 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2021-08-21 16:29:15,610 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting DeviceThreadWithAssertErr0ASSERT_VIOLATIONASSERT === [DeviceThreadWithAssertErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION, ULTIMATE.startErr2INUSE_VIOLATION (and 6 more)] === [2021-08-21 16:29:15,610 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-08-21 16:29:15,610 INFO L82 PathProgramCache]: Analyzing trace with hash 1044881436, now seen corresponding path program 3 times [2021-08-21 16:29:15,610 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-08-21 16:29:15,611 INFO L332 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [945795774] [2021-08-21 16:29:15,611 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-08-21 16:29:15,611 INFO L128 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-08-21 16:29:15,730 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2021-08-21 16:29:15,730 INFO L354 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2021-08-21 16:29:15,770 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2021-08-21 16:29:15,808 INFO L133 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2021-08-21 16:29:15,826 INFO L626 BasicCegarLoop]: Counterexample is feasible [2021-08-21 16:29:15,828 INFO L764 garLoopResultBuilder]: Registering result UNSAFE for location DeviceThreadWithAssertErr0ASSERT_VIOLATIONASSERT [2021-08-21 16:29:15,830 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location DeviceThreadWithAssertErr0ASSERT_VIOLATIONASSERT [2021-08-21 16:29:15,830 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr0INUSE_VIOLATION [2021-08-21 16:29:15,832 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr1INUSE_VIOLATION [2021-08-21 16:29:15,836 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr2INUSE_VIOLATION [2021-08-21 16:29:15,836 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr3INUSE_VIOLATION [2021-08-21 16:29:15,836 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr4INUSE_VIOLATION [2021-08-21 16:29:15,836 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr5INUSE_VIOLATION [2021-08-21 16:29:15,837 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr6INUSE_VIOLATION [2021-08-21 16:29:15,837 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr7INUSE_VIOLATION [2021-08-21 16:29:15,837 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2021-08-21 16:29:15,854 INFO L229 ceAbstractionStarter]: Analysis of concurrent program completed with 1 thread instances [2021-08-21 16:29:15,854 INFO L179 ceAbstractionStarter]: Computing trace abstraction results [2021-08-21 16:29:15,914 INFO L202 PluginConnector]: Adding new model bluetooth-incorrect07.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 21.08 04:29:15 BasicIcfg [2021-08-21 16:29:15,914 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2021-08-21 16:29:15,919 INFO L168 Benchmark]: Toolchain (without parser) took 20413.10 ms. Allocated memory was 204.5 MB in the beginning and 7.4 GB in the end (delta: 7.2 GB). Free memory was 185.1 MB in the beginning and 5.9 GB in the end (delta: -5.7 GB). Peak memory consumption was 1.5 GB. Max. memory is 8.0 GB. [2021-08-21 16:29:15,919 INFO L168 Benchmark]: Boogie PL CUP Parser took 0.09 ms. Allocated memory is still 204.5 MB. Free memory is still 186.1 MB. There was no memory consumed. Max. memory is 8.0 GB. [2021-08-21 16:29:15,919 INFO L168 Benchmark]: Boogie Procedure Inliner took 25.47 ms. Allocated memory is still 204.5 MB. Free memory was 185.1 MB in the beginning and 183.1 MB in the end (delta: 2.0 MB). Peak memory consumption was 1.0 MB. Max. memory is 8.0 GB. [2021-08-21 16:29:15,920 INFO L168 Benchmark]: Boogie Preprocessor took 13.32 ms. Allocated memory is still 204.5 MB. Free memory was 183.1 MB in the beginning and 182.2 MB in the end (delta: 894.2 kB). Peak memory consumption was 2.1 MB. Max. memory is 8.0 GB. [2021-08-21 16:29:15,920 INFO L168 Benchmark]: RCFGBuilder took 283.40 ms. Allocated memory is still 204.5 MB. Free memory was 182.2 MB in the beginning and 167.4 MB in the end (delta: 14.8 MB). Peak memory consumption was 14.7 MB. Max. memory is 8.0 GB. [2021-08-21 16:29:15,920 INFO L168 Benchmark]: TraceAbstraction took 20084.16 ms. Allocated memory was 204.5 MB in the beginning and 7.4 GB in the end (delta: 7.2 GB). Free memory was 166.9 MB in the beginning and 5.9 GB in the end (delta: -5.7 GB). Peak memory consumption was 1.5 GB. Max. memory is 8.0 GB. [2021-08-21 16:29:15,921 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * Boogie PL CUP Parser took 0.09 ms. Allocated memory is still 204.5 MB. Free memory is still 186.1 MB. There was no memory consumed. Max. memory is 8.0 GB. * Boogie Procedure Inliner took 25.47 ms. Allocated memory is still 204.5 MB. Free memory was 185.1 MB in the beginning and 183.1 MB in the end (delta: 2.0 MB). Peak memory consumption was 1.0 MB. Max. memory is 8.0 GB. * Boogie Preprocessor took 13.32 ms. Allocated memory is still 204.5 MB. Free memory was 183.1 MB in the beginning and 182.2 MB in the end (delta: 894.2 kB). Peak memory consumption was 2.1 MB. Max. memory is 8.0 GB. * RCFGBuilder took 283.40 ms. Allocated memory is still 204.5 MB. Free memory was 182.2 MB in the beginning and 167.4 MB in the end (delta: 14.8 MB). Peak memory consumption was 14.7 MB. Max. memory is 8.0 GB. * TraceAbstraction took 20084.16 ms. Allocated memory was 204.5 MB in the beginning and 7.4 GB in the end (delta: 7.2 GB). Free memory was 166.9 MB in the beginning and 5.9 GB in the end (delta: -5.7 GB). Peak memory consumption was 1.5 GB. Max. memory is 8.0 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: Independence relation benchmarks ThreadSeparatingIndependenceRelation.Independence Queries: [ total: 0, positive: 0, positive conditional: 0, positive unconditional: 0, negative: 0, negative conditional: 0, negative unconditional: 0, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ThreadSeparatingIndependenceRelation.Statistics on underlying relation: ConditionTransformingIndependenceRelation.Independence Queries: [ total: 0, positive: 0, positive conditional: 0, positive unconditional: 0, negative: 0, negative conditional: 0, negative unconditional: 0, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ConditionTransformingIndependenceRelation.Statistics on underlying relation: DisjunctiveConditionalIndependenceRelation.Independence Queries: [ total: 0, positive: 0, positive conditional: 0, positive unconditional: 0, negative: 0, negative conditional: 0, negative unconditional: 0, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , DisjunctiveConditionalIndependenceRelation.Statistics on underlying relation: ConditionTransformingIndependenceRelation.Independence Queries: [ total: 0, positive: 0, positive conditional: 0, positive unconditional: 0, negative: 0, negative conditional: 0, negative unconditional: 0, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , ConditionTransformingIndependenceRelation.Statistics on underlying relation: SemanticConditionEliminator.Independence Queries: [ total: 0, positive: 0, positive conditional: 0, positive unconditional: 0, negative: 0, negative conditional: 0, negative unconditional: 0, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , SemanticConditionEliminator.Statistics on underlying relation: CachedIndependenceRelation.Independence Queries: [ total: 0, positive: 0, positive conditional: 0, positive unconditional: 0, negative: 0, negative conditional: 0, negative unconditional: 0, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , CachedIndependenceRelation.Statistics on underlying relation: UnionIndependenceRelation.Independence Queries: [ total: 0, positive: 0, positive conditional: 0, positive unconditional: 0, negative: 0, negative conditional: 0, negative unconditional: 0, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , UnionIndependenceRelation.Statistics on underlying relations: [ SyntacticIndependenceRelation.Independence Queries: [ total: 0, positive: 0, positive conditional: 0, positive unconditional: 0, negative: 0, negative conditional: 0, negative unconditional: 0, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , SemanticIndependenceRelation.Independence Queries: [ total: 0, positive: 0, positive conditional: 0, positive unconditional: 0, negative: 0, negative conditional: 0, negative unconditional: 0, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , SemanticIndependenceRelation.Query Time [ms]: [ total: 0, positive: 0, positive conditional: 0, positive unconditional: 0, negative: 0, negative conditional: 0, negative unconditional: 0, unknown: 0, unknown conditional: 0, unknown unconditional: 0] ], Cache Queries: [ total: 0, positive: 0, positive conditional: 0, positive unconditional: 0, negative: 0, negative conditional: 0, negative unconditional: 0, unknown: 0, unknown conditional: 0, unknown unconditional: 0] , Statistics on independence cache: Total cache size (in pairs): 0, Positive cache size: 0, Positive conditional cache size: 0, Positive unconditional cache size: 0, Negative cache size: 0, Negative conditional cache size: 0, Negative unconditional cache size: 0, Eliminated conditions: 0, Maximal queried relation: -1, Independence queries for same thread: 0 - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0ms ErrorAutomatonConstructionTimeTotal, 0.0ms FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0ms ErrorAutomatonConstructionTimeAvg, 0.0ms ErrorAutomatonDifferenceTimeAvg, 0.0ms ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - CounterExampleResult [Line: 40]: assertion can be violated assertion can be violated We found a FailurePath: [L14] 0 pendingIo := 1; VAL [pendingIo=1] [L15] 0 stopped := false; VAL [pendingIo=1, stopped=false] [L16] 0 stoppingEvent := false; VAL [pendingIo=1, stopped=false, stoppingEvent=false] [L17] 0 stoppingFlag := false; VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L19] FORK 0 fork 0 ServerThread(); VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L21] FORK 0 fork 1 DeviceThreadWithAssert(); VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 2 assume !stoppingFlag; VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 2 pendingIo := pendingIo + 1; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L40] 2 assert !stopped; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L22] FORK 0 fork 2 DeviceThread(); VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 2 pendingIo := pendingIo - 1; [L72] COND FALSE 2 !(pendingIo == 0) VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 2 assume !stoppingFlag; VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 2 pendingIo := pendingIo + 1; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L23] FORK 0 fork 3 DeviceThread(); VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L40] 2 assert !stopped; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 2 pendingIo := pendingIo - 1; [L72] COND FALSE 2 !(pendingIo == 0) VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 2 assume !stoppingFlag; VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L24] FORK 0 fork 4 DeviceThread(); VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 2 pendingIo := pendingIo + 1; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L40] 2 assert !stopped; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 2 pendingIo := pendingIo - 1; [L72] COND FALSE 2 !(pendingIo == 0) VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L25] FORK 0 fork 5 DeviceThread(); VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 2 assume !stoppingFlag; VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 2 pendingIo := pendingIo + 1; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L40] 2 assert !stopped; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L26] FORK 0 fork 6 DeviceThread(); VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 2 pendingIo := pendingIo - 1; [L72] COND FALSE 2 !(pendingIo == 0) VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 2 assume !stoppingFlag; VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 2 pendingIo := pendingIo + 1; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L27] FORK 0 fork 7 DeviceThread(); VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L40] 2 assert !stopped; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 2 pendingIo := pendingIo - 1; [L72] COND FALSE 2 !(pendingIo == 0) VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 2 assume !stoppingFlag; VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 7 assume !stoppingFlag; VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 2 pendingIo := pendingIo + 1; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L40] 2 assert !stopped; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 2 pendingIo := pendingIo - 1; [L72] COND FALSE 2 !(pendingIo == 0) VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 7 pendingIo := pendingIo + 1; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 2 assume !stoppingFlag; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 2 pendingIo := pendingIo + 1; VAL [pendingIo=3, stopped=false, stoppingEvent=false, stoppingFlag=false] [L40] 2 assert !stopped; VAL [pendingIo=3, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 8 assume !stoppingFlag; VAL [pendingIo=3, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 2 pendingIo := pendingIo - 1; [L72] COND FALSE 2 !(pendingIo == 0) VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 2 assume !stoppingFlag; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 2 pendingIo := pendingIo + 1; VAL [pendingIo=3, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 7 pendingIo := pendingIo - 1; [L72] COND FALSE 7 !(pendingIo == 0) VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L40] 2 assert !stopped; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 2 pendingIo := pendingIo - 1; [L72] COND FALSE 2 !(pendingIo == 0) VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 2 assume !stoppingFlag; VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 7 assume !stoppingFlag; VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 2 pendingIo := pendingIo + 1; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L40] 2 assert !stopped; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 2 pendingIo := pendingIo - 1; [L72] COND FALSE 2 !(pendingIo == 0) VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 8 pendingIo := pendingIo + 1; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 2 assume !stoppingFlag; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 2 pendingIo := pendingIo + 1; VAL [pendingIo=3, stopped=false, stoppingEvent=false, stoppingFlag=false] [L40] 2 assert !stopped; VAL [pendingIo=3, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 7 pendingIo := pendingIo + 1; VAL [pendingIo=4, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 2 pendingIo := pendingIo - 1; [L72] COND FALSE 2 !(pendingIo == 0) VAL [pendingIo=3, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 2 assume !stoppingFlag; VAL [pendingIo=3, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 2 pendingIo := pendingIo + 1; VAL [pendingIo=4, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 7 pendingIo := pendingIo - 1; [L72] COND FALSE 7 !(pendingIo == 0) VAL [pendingIo=3, stopped=false, stoppingEvent=false, stoppingFlag=false] [L40] 2 assert !stopped; VAL [pendingIo=3, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 2 pendingIo := pendingIo - 1; [L72] COND FALSE 2 !(pendingIo == 0) VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 2 assume !stoppingFlag; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 2 pendingIo := pendingIo + 1; VAL [pendingIo=3, stopped=false, stoppingEvent=false, stoppingFlag=false] [L40] 2 assert !stopped; VAL [pendingIo=3, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 2 pendingIo := pendingIo - 1; [L72] COND FALSE 2 !(pendingIo == 0) VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 8 pendingIo := pendingIo - 1; [L72] COND FALSE 8 !(pendingIo == 0) VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 2 assume !stoppingFlag; VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 2 pendingIo := pendingIo + 1; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L40] 2 assert !stopped; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 8 assume !stoppingFlag; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 2 pendingIo := pendingIo - 1; [L72] COND FALSE 2 !(pendingIo == 0) VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 2 assume !stoppingFlag; VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 2 pendingIo := pendingIo + 1; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 5 assume !stoppingFlag; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L40] 2 assert !stopped; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 2 pendingIo := pendingIo - 1; [L72] COND FALSE 2 !(pendingIo == 0) VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 2 assume !stoppingFlag; VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 8 pendingIo := pendingIo + 1; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 2 pendingIo := pendingIo + 1; VAL [pendingIo=3, stopped=false, stoppingEvent=false, stoppingFlag=false] [L40] 2 assert !stopped; VAL [pendingIo=3, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 2 pendingIo := pendingIo - 1; [L72] COND FALSE 2 !(pendingIo == 0) VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 8 pendingIo := pendingIo - 1; [L72] COND FALSE 8 !(pendingIo == 0) VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 2 assume !stoppingFlag; VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 2 pendingIo := pendingIo + 1; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L40] 2 assert !stopped; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 2 pendingIo := pendingIo - 1; [L72] COND FALSE 2 !(pendingIo == 0) VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 2 assume !stoppingFlag; VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 2 pendingIo := pendingIo + 1; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 5 pendingIo := pendingIo + 1; VAL [pendingIo=3, stopped=false, stoppingEvent=false, stoppingFlag=false] [L40] 2 assert !stopped; VAL [pendingIo=3, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 2 pendingIo := pendingIo - 1; [L72] COND FALSE 2 !(pendingIo == 0) VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 2 assume !stoppingFlag; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 5 pendingIo := pendingIo - 1; [L72] COND FALSE 5 !(pendingIo == 0) VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 2 pendingIo := pendingIo + 1; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L40] 2 assert !stopped; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 2 pendingIo := pendingIo - 1; [L72] COND FALSE 2 !(pendingIo == 0) VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 2 assume !stoppingFlag; VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 2 pendingIo := pendingIo + 1; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L40] 2 assert !stopped; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 6 assume !stoppingFlag; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 2 pendingIo := pendingIo - 1; [L72] COND FALSE 2 !(pendingIo == 0) VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 2 assume !stoppingFlag; VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 2 pendingIo := pendingIo + 1; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 6 pendingIo := pendingIo + 1; VAL [pendingIo=3, stopped=false, stoppingEvent=false, stoppingFlag=false] [L40] 2 assert !stopped; VAL [pendingIo=3, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 2 pendingIo := pendingIo - 1; [L72] COND FALSE 2 !(pendingIo == 0) VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 2 assume !stoppingFlag; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 3 assume !stoppingFlag; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 2 pendingIo := pendingIo + 1; VAL [pendingIo=3, stopped=false, stoppingEvent=false, stoppingFlag=false] [L40] 2 assert !stopped; VAL [pendingIo=3, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 2 pendingIo := pendingIo - 1; [L72] COND FALSE 2 !(pendingIo == 0) VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 6 pendingIo := pendingIo - 1; [L72] COND FALSE 6 !(pendingIo == 0) VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 2 assume !stoppingFlag; VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 2 pendingIo := pendingIo + 1; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L40] 2 assert !stopped; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 6 assume !stoppingFlag; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 2 pendingIo := pendingIo - 1; [L72] COND FALSE 2 !(pendingIo == 0) VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 2 assume !stoppingFlag; VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 2 pendingIo := pendingIo + 1; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 3 pendingIo := pendingIo + 1; VAL [pendingIo=3, stopped=false, stoppingEvent=false, stoppingFlag=false] [L40] 2 assert !stopped; VAL [pendingIo=3, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 2 pendingIo := pendingIo - 1; [L72] COND FALSE 2 !(pendingIo == 0) VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 2 assume !stoppingFlag; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 6 pendingIo := pendingIo + 1; VAL [pendingIo=3, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 2 pendingIo := pendingIo + 1; VAL [pendingIo=4, stopped=false, stoppingEvent=false, stoppingFlag=false] [L40] 2 assert !stopped; VAL [pendingIo=4, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 2 pendingIo := pendingIo - 1; [L72] COND FALSE 2 !(pendingIo == 0) VAL [pendingIo=3, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 6 pendingIo := pendingIo - 1; [L72] COND FALSE 6 !(pendingIo == 0) VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 2 assume !stoppingFlag; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 2 pendingIo := pendingIo + 1; VAL [pendingIo=3, stopped=false, stoppingEvent=false, stoppingFlag=false] [L40] 2 assert !stopped; VAL [pendingIo=3, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 2 pendingIo := pendingIo - 1; [L72] COND FALSE 2 !(pendingIo == 0) VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 2 assume !stoppingFlag; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 2 pendingIo := pendingIo + 1; VAL [pendingIo=3, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 3 pendingIo := pendingIo - 1; [L72] COND FALSE 3 !(pendingIo == 0) VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L40] 2 assert !stopped; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 2 pendingIo := pendingIo - 1; [L72] COND FALSE 2 !(pendingIo == 0) VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 2 assume !stoppingFlag; VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 3 assume !stoppingFlag; VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 2 pendingIo := pendingIo + 1; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L40] 2 assert !stopped; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 2 pendingIo := pendingIo - 1; [L72] COND FALSE 2 !(pendingIo == 0) VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 4 assume !stoppingFlag; VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 2 assume !stoppingFlag; VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 2 pendingIo := pendingIo + 1; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L40] 2 assert !stopped; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 3 pendingIo := pendingIo + 1; VAL [pendingIo=3, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 2 pendingIo := pendingIo - 1; [L72] COND FALSE 2 !(pendingIo == 0) VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 2 assume !stoppingFlag; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 2 pendingIo := pendingIo + 1; VAL [pendingIo=3, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 3 pendingIo := pendingIo - 1; [L72] COND FALSE 3 !(pendingIo == 0) VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L40] 2 assert !stopped; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 2 pendingIo := pendingIo - 1; [L72] COND FALSE 2 !(pendingIo == 0) VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 2 assume !stoppingFlag; VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 2 pendingIo := pendingIo + 1; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L40] 2 assert !stopped; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 2 pendingIo := pendingIo - 1; [L72] COND FALSE 2 !(pendingIo == 0) VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 4 pendingIo := pendingIo + 1; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 2 assume !stoppingFlag; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 2 pendingIo := pendingIo + 1; VAL [pendingIo=3, stopped=false, stoppingEvent=false, stoppingFlag=false] [L40] 2 assert !stopped; VAL [pendingIo=3, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 4 pendingIo := pendingIo - 1; [L72] COND FALSE 4 !(pendingIo == 0) VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 2 pendingIo := pendingIo - 1; [L72] COND FALSE 2 !(pendingIo == 0) VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 2 assume !stoppingFlag; VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L63] 2 pendingIo := pendingIo + 1; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L40] 2 assert !stopped; VAL [pendingIo=2, stopped=false, stoppingEvent=false, stoppingFlag=false] [L71] 2 pendingIo := pendingIo - 1; [L72] COND FALSE 2 !(pendingIo == 0) VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L62] 2 assume !stoppingFlag; VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=false] [L84] 1 stoppingFlag := true; VAL [pendingIo=1, stopped=false, stoppingEvent=false, stoppingFlag=true] [L94] 1 pendingIo := pendingIo - 1; [L95] COND TRUE 1 pendingIo == 0 [L96] 1 stoppingEvent := true; VAL [pendingIo=0, stopped=false, stoppingEvent=true, stoppingFlag=true] [L63] 2 pendingIo := pendingIo + 1; VAL [pendingIo=1, stopped=false, stoppingEvent=true, stoppingFlag=true] [L86] 1 assume stoppingEvent; VAL [pendingIo=1, stopped=false, stoppingEvent=true, stoppingFlag=true] [L87] 1 stopped := true; VAL [pendingIo=1, stopped=true, stoppingEvent=true, stoppingFlag=true] [L40] 2 assert !stopped; VAL [pendingIo=1, stopped=true, stoppingEvent=true, stoppingFlag=true] - UnprovableResult [Line: 19]: Unable to prove that petrification did provide enough thread instances (tool internal message, not intended for end users) Unable to prove that petrification did provide enough thread instances (tool internal message, not intended for end users) Reason: Not analyzed. - UnprovableResult [Line: 25]: Unable to prove that petrification did provide enough thread instances (tool internal message, not intended for end users) Unable to prove that petrification did provide enough thread instances (tool internal message, not intended for end users) Reason: Not analyzed. - UnprovableResult [Line: 26]: Unable to prove that petrification did provide enough thread instances (tool internal message, not intended for end users) Unable to prove that petrification did provide enough thread instances (tool internal message, not intended for end users) Reason: Not analyzed. - UnprovableResult [Line: 21]: Unable to prove that petrification did provide enough thread instances (tool internal message, not intended for end users) Unable to prove that petrification did provide enough thread instances (tool internal message, not intended for end users) Reason: Not analyzed. - UnprovableResult [Line: 22]: Unable to prove that petrification did provide enough thread instances (tool internal message, not intended for end users) Unable to prove that petrification did provide enough thread instances (tool internal message, not intended for end users) Reason: Not analyzed. - UnprovableResult [Line: 19]: Unable to prove that petrification did provide enough thread instances (tool internal message, not intended for end users) Unable to prove that petrification did provide enough thread instances (tool internal message, not intended for end users) Reason: Not analyzed. - UnprovableResult [Line: 23]: Unable to prove that petrification did provide enough thread instances (tool internal message, not intended for end users) Unable to prove that petrification did provide enough thread instances (tool internal message, not intended for end users) Reason: Not analyzed. - UnprovableResult [Line: 24]: Unable to prove that petrification did provide enough thread instances (tool internal message, not intended for end users) Unable to prove that petrification did provide enough thread instances (tool internal message, not intended for end users) Reason: Not analyzed. - StatisticsResult: Ultimate Automizer benchmark data with 1 thread instances CFG has 12 procedures, 74 locations, 10 error locations. Started 1 CEGAR loops. OverallTime: 19930.3ms, OverallIterations: 4, TraceHistogramMax: 0, EmptinessCheckTime: 0.0ms, AutomataDifference: 0.0ms, DeadEndRemovalTime: 0.0ms, HoareAnnotationTime: 0.0ms, InitialAbstractionConstructionTime: 13935.6ms, PartialOrderReductionTime: 1835.8ms, HoareTripleCheckerStatistics: No data available, PredicateUnifierStatistics: No data available, 0.0ms BasicInterpolantAutomatonTime, BiggestAbstraction: size=294911occurred in iteration=0, InterpolantAutomatonStates: 13, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0ms DumpTime, AutomataMinimizationStatistics: No data available, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 63.7ms SsaConstructionTime, 353.8ms SatisfiabilityAnalysisTime, 3255.8ms InterpolantComputationTime, 753 NumberOfCodeBlocks, 753 NumberOfCodeBlocksAsserted, 6 NumberOfCheckSat, 565 ConstructedInterpolants, 0 QuantifiedInterpolants, 2362 SizeOfPredicates, 1 NumberOfNonLiveVariables, 324 ConjunctsInSsa, 219 ConjunctsInUnsatCore, 4 InterpolantComputations, 2 PerfectInterpolantSequences, 5050/6572 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! [2021-08-21 16:29:15,951 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:1000 (2)] Forceful destruction successful, exit code 0 [2021-08-21 16:29:16,156 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...