/root/.sdkman/candidates/java/21.0.5-tem/bin/java -Xmx22000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata ./data --icfgtochc.assume.program.has.a.precondition True --icfgtochc.specification.mode ASSERT_VIOLATIONS --icfgtochc.single-instance.threads server --icfgtochc.thread-modular.proof.level 2 --icfgtochc.preference.order.used.for.reduction SEQ_COMP -s ../../../trunk/examples/concurrent/bpl/parameterized/bluetooth-better/../ThreadModularVerifier.Settings.epf -tc ../../../trunk/examples/concurrent/bpl/parameterized/ThreadModularVerifier.xml --chcsolver.chc.solver.backend GOLEM --icfgtochc.use.nondeterministic.sleep.update.encoding true -i ../../../trunk/examples/concurrent/bpl/parameterized/bluetooth-better/bluetooth-better.bpl -------------------------------------------------------------------------------- This is Ultimate 0.3.0-wip.dk.sleep-threadmodular-07d3146-m [2025-01-03 21:45:56,385 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-01-03 21:45:56,456 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/../../../trunk/examples/concurrent/bpl/parameterized/bluetooth-better/../ThreadModularVerifier.Settings.epf [2025-01-03 21:45:56,471 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-01-03 21:45:56,472 INFO L151 SettingsManager]: Preferences of ChcSolver differ from their defaults: [2025-01-03 21:45:56,472 INFO L153 SettingsManager]: * Produce CHC model if query is SAT=false [2025-01-03 21:45:56,472 INFO L153 SettingsManager]: * CHC solver backend=Z3 [2025-01-03 21:45:56,472 INFO L153 SettingsManager]: * Produce derivation if query is UNSAT=false [2025-01-03 21:45:56,472 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-01-03 21:45:56,473 INFO L153 SettingsManager]: * Size of a code block=OneNontrivialStatement [2025-01-03 21:45:56,476 INFO L153 SettingsManager]: * Add additional assume for each assert=false [2025-01-03 21:45:56,476 INFO L151 SettingsManager]: Preferences of IcfgToChc differ from their defaults: [2025-01-03 21:45:56,476 INFO L153 SettingsManager]: * Conditional Independence=SUFFICIENT [2025-01-03 21:45:56,477 INFO L151 SettingsManager]: Preferences of ChcSmtPrinter differ from their defaults: [2025-01-03 21:45:56,477 INFO L153 SettingsManager]: * Save file in source directory=true [2025-01-03 21:45:56,477 INFO L153 SettingsManager]: * Use automatic naming=true [2025-01-03 21:45:56,477 INFO L153 SettingsManager]: * File name=CHC Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.icfgtochc: Assume program has a precondition -> true Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.icfgtochc: Specification mode -> ASSERT_VIOLATIONS Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.icfgtochc: Single-instance threads -> server Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.icfgtochc: Thread-Modular Proof Level -> 2 Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.icfgtochc: Preference order used for reduction -> SEQ_COMP Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.chcsolver: CHC solver backend -> GOLEM Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.icfgtochc: Use nondeterministic sleep update encoding -> true [2025-01-03 21:45:56,697 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-01-03 21:45:56,705 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-01-03 21:45:56,706 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-01-03 21:45:56,707 INFO L270 PluginConnector]: Initializing Boogie PL CUP Parser... [2025-01-03 21:45:56,707 INFO L274 PluginConnector]: Boogie PL CUP Parser initialized [2025-01-03 21:45:56,708 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/../../../trunk/examples/concurrent/bpl/parameterized/bluetooth-better/bluetooth-better.bpl [2025-01-03 21:45:56,710 INFO L110 BoogieParser]: Parsing: '/storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/../../../trunk/examples/concurrent/bpl/parameterized/bluetooth-better/bluetooth-better.bpl' [2025-01-03 21:45:56,726 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-01-03 21:45:56,727 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2025-01-03 21:45:56,727 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-01-03 21:45:56,727 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-01-03 21:45:56,727 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-01-03 21:45:56,737 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "bluetooth-better.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.01 09:45:56" (1/1) ... [2025-01-03 21:45:56,738 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "bluetooth-better.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.01 09:45:56" (1/1) ... [2025-01-03 21:45:56,741 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "bluetooth-better.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.01 09:45:56" (1/1) ... [2025-01-03 21:45:56,741 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "bluetooth-better.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.01 09:45:56" (1/1) ... [2025-01-03 21:45:56,743 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "bluetooth-better.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.01 09:45:56" (1/1) ... [2025-01-03 21:45:56,743 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "bluetooth-better.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.01 09:45:56" (1/1) ... [2025-01-03 21:45:56,744 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "bluetooth-better.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.01 09:45:56" (1/1) ... [2025-01-03 21:45:56,745 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "bluetooth-better.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.01 09:45:56" (1/1) ... [2025-01-03 21:45:56,745 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "bluetooth-better.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.01 09:45:56" (1/1) ... [2025-01-03 21:45:56,746 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-01-03 21:45:56,747 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-01-03 21:45:56,747 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-01-03 21:45:56,747 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-01-03 21:45:56,748 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "bluetooth-better.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.01 09:45:56" (1/1) ... [2025-01-03 21:45:56,752 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2025-01-03 21:45:56,758 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/z3 [2025-01-03 21:45:56,769 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2025-01-03 21:45:56,772 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Waiting until timeout for monitored process [2025-01-03 21:45:56,793 INFO L124 BoogieDeclarations]: Specification and implementation of procedure ULTIMATE.start given in one single declaration [2025-01-03 21:45:56,793 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-01-03 21:45:56,793 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-01-03 21:45:56,793 INFO L124 BoogieDeclarations]: Specification and implementation of procedure server given in one single declaration [2025-01-03 21:45:56,793 INFO L130 BoogieDeclarations]: Found specification of procedure server [2025-01-03 21:45:56,793 INFO L138 BoogieDeclarations]: Found implementation of procedure server [2025-01-03 21:45:56,831 INFO L234 CfgBuilder]: Building ICFG [2025-01-03 21:45:56,832 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-01-03 21:45:56,834 WARN L773 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2025-01-03 21:45:56,866 WARN L773 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2025-01-03 21:45:56,886 INFO L? ?]: Removed 0 outVars from TransFormulas that were not future-live. [2025-01-03 21:45:56,886 INFO L283 CfgBuilder]: Performing block encoding [2025-01-03 21:45:56,908 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-01-03 21:45:56,908 INFO L312 CfgBuilder]: Removed 0 assume(true) statements. [2025-01-03 21:45:56,908 INFO L201 PluginConnector]: Adding new model bluetooth-better.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 03.01 09:45:56 BoogieIcfgContainer [2025-01-03 21:45:56,908 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-01-03 21:45:56,909 INFO L112 PluginConnector]: ------------------------IcfgToChc---------------------------- [2025-01-03 21:45:56,910 INFO L270 PluginConnector]: Initializing IcfgToChc... [2025-01-03 21:45:56,910 INFO L274 PluginConnector]: IcfgToChc initialized [2025-01-03 21:45:56,911 INFO L184 PluginConnector]: Executing the observer IcfgToChcObserver from plugin IcfgToChc for "bluetooth-better.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 03.01 09:45:56" (1/1) ... [2025-01-03 21:45:56,957 INFO L161 IndependenceChecker]: instantiated independence condition for '<[ dummy edge: assume true; ]>' and 'assume true;' is: true [2025-01-03 21:45:56,968 INFO L161 IndependenceChecker]: instantiated independence condition for '<[ dummy edge: assume true; ]>' and 'stopped := true;' is: true [2025-01-03 21:45:56,975 INFO L161 IndependenceChecker]: instantiated independence condition for '<[ dummy edge: assume true; ]>' and 'stoppingFlag := true;' is: true [2025-01-03 21:45:57,109 INFO L161 IndependenceChecker]: instantiated independence condition for '<[ dummy edge: assume true; ]>' and 'pendingIo := pendingIo - 1;BeginParallelComposition{ParallelCodeBlock0: assume !(pendingIo == 0);ParallelCodeBlock1: assume pendingIo == 0;stoppingEvent := true;}EndParallelComposition' is: true [2025-01-03 21:45:57,114 INFO L161 IndependenceChecker]: instantiated independence condition for '<[ dummy edge: assume true; ]>' and 'assume stoppingEvent;' is: true [2025-01-03 21:45:57,116 INFO L161 IndependenceChecker]: instantiated independence condition for '<[ dummy edge: assume true; ]>' and 'assume true;' is: true [2025-01-03 21:45:57,214 INFO L161 IndependenceChecker]: instantiated independence condition for '<[ dummy edge: assume true; ]>' and 'pendingIo := pendingIo - 1;BeginParallelComposition{ParallelCodeBlock0: assume !(pendingIo == 0);ParallelCodeBlock1: assume pendingIo == 0;stoppingEvent := true;}EndParallelComposition' is: true [2025-01-03 21:45:57,216 INFO L161 IndependenceChecker]: instantiated independence condition for '<[ dummy edge: assume true; ]>' and 'assume true;' is: true [2025-01-03 21:45:57,228 INFO L161 IndependenceChecker]: instantiated independence condition for '<[ dummy edge: assume true; ]>' and 'assume !stoppingFlag;pendingIo := pendingIo + 1;' is: true [2025-01-03 21:45:57,250 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume !stoppingFlag;pendingIo := pendingIo + 1;' and 'assume true;' is: true [2025-01-03 21:45:57,269 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume !stoppingFlag;pendingIo := pendingIo + 1;' and 'stopped := true;' is: true [2025-01-03 21:45:57,285 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume !stoppingFlag;pendingIo := pendingIo + 1;' and 'stoppingFlag := true;' is: false [2025-01-03 21:45:57,428 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume !stoppingFlag;pendingIo := pendingIo + 1;' and 'pendingIo := pendingIo - 1;BeginParallelComposition{ParallelCodeBlock0: assume !(pendingIo == 0);ParallelCodeBlock1: assume pendingIo == 0;stoppingEvent := true;}EndParallelComposition' is: (and (not (= pendingIo 1)) (not (= pendingIo 0))) [2025-01-03 21:45:57,440 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume !stoppingFlag;pendingIo := pendingIo + 1;' and 'assume stoppingEvent;' is: true [2025-01-03 21:45:57,450 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume !stoppingFlag;pendingIo := pendingIo + 1;' and 'assume true;' is: true [2025-01-03 21:45:57,540 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume !stoppingFlag;pendingIo := pendingIo + 1;' and 'pendingIo := pendingIo - 1;BeginParallelComposition{ParallelCodeBlock0: assume !(pendingIo == 0);ParallelCodeBlock1: assume pendingIo == 0;stoppingEvent := true;}EndParallelComposition' is: (and (not (= pendingIo 1)) (not (= pendingIo 0))) [2025-01-03 21:45:57,549 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume !stoppingFlag;pendingIo := pendingIo + 1;' and 'assume true;' is: true [2025-01-03 21:45:57,560 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume !stoppingFlag;pendingIo := pendingIo + 1;' and 'assume !stoppingFlag;pendingIo := pendingIo + 1;' is: true [2025-01-03 21:45:57,568 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;' is: true [2025-01-03 21:45:57,572 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'stopped := true;' is: true [2025-01-03 21:45:57,575 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'stoppingFlag := true;' is: true [2025-01-03 21:45:57,616 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'pendingIo := pendingIo - 1;BeginParallelComposition{ParallelCodeBlock0: assume !(pendingIo == 0);ParallelCodeBlock1: assume pendingIo == 0;stoppingEvent := true;}EndParallelComposition' is: true [2025-01-03 21:45:57,620 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume stoppingEvent;' is: true [2025-01-03 21:45:57,621 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;' is: true [2025-01-03 21:45:57,661 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'pendingIo := pendingIo - 1;BeginParallelComposition{ParallelCodeBlock0: assume !(pendingIo == 0);ParallelCodeBlock1: assume pendingIo == 0;stoppingEvent := true;}EndParallelComposition' is: true [2025-01-03 21:45:57,663 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;' is: true [2025-01-03 21:45:57,672 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume !stoppingFlag;pendingIo := pendingIo + 1;' is: true [2025-01-03 21:45:57,730 INFO L161 IndependenceChecker]: instantiated independence condition for 'pendingIo := pendingIo - 1;BeginParallelComposition{ParallelCodeBlock0: assume !(pendingIo == 0);ParallelCodeBlock1: assume pendingIo == 0;stoppingEvent := true;}EndParallelComposition' and 'assume true;' is: true [2025-01-03 21:45:57,768 INFO L161 IndependenceChecker]: instantiated independence condition for 'pendingIo := pendingIo - 1;BeginParallelComposition{ParallelCodeBlock0: assume !(pendingIo == 0);ParallelCodeBlock1: assume pendingIo == 0;stoppingEvent := true;}EndParallelComposition' and 'stopped := true;' is: true [2025-01-03 21:45:57,816 INFO L161 IndependenceChecker]: instantiated independence condition for 'pendingIo := pendingIo - 1;BeginParallelComposition{ParallelCodeBlock0: assume !(pendingIo == 0);ParallelCodeBlock1: assume pendingIo == 0;stoppingEvent := true;}EndParallelComposition' and 'stoppingFlag := true;' is: true [2025-01-03 21:45:57,890 INFO L161 IndependenceChecker]: instantiated independence condition for 'pendingIo := pendingIo - 1;BeginParallelComposition{ParallelCodeBlock0: assume !(pendingIo == 0);ParallelCodeBlock1: assume pendingIo == 0;stoppingEvent := true;}EndParallelComposition' and 'pendingIo := pendingIo - 1;BeginParallelComposition{ParallelCodeBlock0: assume !(pendingIo == 0);ParallelCodeBlock1: assume pendingIo == 0;stoppingEvent := true;}EndParallelComposition' is: true [2025-01-03 21:45:57,910 INFO L161 IndependenceChecker]: instantiated independence condition for 'pendingIo := pendingIo - 1;BeginParallelComposition{ParallelCodeBlock0: assume !(pendingIo == 0);ParallelCodeBlock1: assume pendingIo == 0;stoppingEvent := true;}EndParallelComposition' and 'assume stoppingEvent;' is: stoppingEvent [2025-01-03 21:45:57,944 INFO L161 IndependenceChecker]: instantiated independence condition for 'pendingIo := pendingIo - 1;BeginParallelComposition{ParallelCodeBlock0: assume !(pendingIo == 0);ParallelCodeBlock1: assume pendingIo == 0;stoppingEvent := true;}EndParallelComposition' and 'assume true;' is: true [2025-01-03 21:45:58,032 INFO L161 IndependenceChecker]: instantiated independence condition for 'pendingIo := pendingIo - 1;BeginParallelComposition{ParallelCodeBlock0: assume !(pendingIo == 0);ParallelCodeBlock1: assume pendingIo == 0;stoppingEvent := true;}EndParallelComposition' and 'pendingIo := pendingIo - 1;BeginParallelComposition{ParallelCodeBlock0: assume !(pendingIo == 0);ParallelCodeBlock1: assume pendingIo == 0;stoppingEvent := true;}EndParallelComposition' is: true [2025-01-03 21:45:58,063 INFO L161 IndependenceChecker]: instantiated independence condition for 'pendingIo := pendingIo - 1;BeginParallelComposition{ParallelCodeBlock0: assume !(pendingIo == 0);ParallelCodeBlock1: assume pendingIo == 0;stoppingEvent := true;}EndParallelComposition' and 'assume true;' is: true [2025-01-03 21:45:58,132 INFO L161 IndependenceChecker]: instantiated independence condition for 'pendingIo := pendingIo - 1;BeginParallelComposition{ParallelCodeBlock0: assume !(pendingIo == 0);ParallelCodeBlock1: assume pendingIo == 0;stoppingEvent := true;}EndParallelComposition' and 'assume !stoppingFlag;pendingIo := pendingIo + 1;' is: (and (not (= pendingIo 1)) (not (= pendingIo 0))) [2025-01-03 21:45:58,136 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;' is: true [2025-01-03 21:45:58,139 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'stopped := true;' is: true [2025-01-03 21:45:58,143 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'stoppingFlag := true;' is: true [2025-01-03 21:45:58,177 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'pendingIo := pendingIo - 1;BeginParallelComposition{ParallelCodeBlock0: assume !(pendingIo == 0);ParallelCodeBlock1: assume pendingIo == 0;stoppingEvent := true;}EndParallelComposition' is: true [2025-01-03 21:45:58,180 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume stoppingEvent;' is: true [2025-01-03 21:45:58,181 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;' is: true [2025-01-03 21:45:58,218 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'pendingIo := pendingIo - 1;BeginParallelComposition{ParallelCodeBlock0: assume !(pendingIo == 0);ParallelCodeBlock1: assume pendingIo == 0;stoppingEvent := true;}EndParallelComposition' is: true [2025-01-03 21:45:58,219 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;' is: true [2025-01-03 21:45:58,226 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume !stoppingFlag;pendingIo := pendingIo + 1;' is: true [2025-01-03 21:45:58,231 INFO L161 IndependenceChecker]: instantiated independence condition for '<[ dummy edge: assume true; ]>' and 'assume true;' is: true [2025-01-03 21:45:58,267 INFO L161 IndependenceChecker]: instantiated independence condition for '<[ dummy edge: assume true; ]>' and 'pendingIo := pendingIo - 1;BeginParallelComposition{ParallelCodeBlock0: assume !(pendingIo == 0);ParallelCodeBlock1: assume pendingIo == 0;stoppingEvent := true;}EndParallelComposition' is: true [2025-01-03 21:45:58,268 INFO L161 IndependenceChecker]: instantiated independence condition for '<[ dummy edge: assume true; ]>' and 'assume true;' is: true [2025-01-03 21:45:58,277 INFO L161 IndependenceChecker]: instantiated independence condition for '<[ dummy edge: assume true; ]>' and 'assume !stoppingFlag;pendingIo := pendingIo + 1;' is: true [2025-01-03 21:45:58,284 INFO L161 IndependenceChecker]: instantiated independence condition for 'stoppingFlag := true;' and 'assume true;' is: true [2025-01-03 21:45:58,327 INFO L161 IndependenceChecker]: instantiated independence condition for 'stoppingFlag := true;' and 'pendingIo := pendingIo - 1;BeginParallelComposition{ParallelCodeBlock0: assume !(pendingIo == 0);ParallelCodeBlock1: assume pendingIo == 0;stoppingEvent := true;}EndParallelComposition' is: true [2025-01-03 21:45:58,330 INFO L161 IndependenceChecker]: instantiated independence condition for 'stoppingFlag := true;' and 'assume true;' is: true [2025-01-03 21:45:58,335 INFO L161 IndependenceChecker]: instantiated independence condition for 'stoppingFlag := true;' and 'assume !stoppingFlag;pendingIo := pendingIo + 1;' is: false [2025-01-03 21:45:58,373 INFO L161 IndependenceChecker]: instantiated independence condition for 'pendingIo := pendingIo - 1;BeginParallelComposition{ParallelCodeBlock0: assume !(pendingIo == 0);ParallelCodeBlock1: assume pendingIo == 0;stoppingEvent := true;}EndParallelComposition' and 'assume true;' is: true [2025-01-03 21:45:58,485 INFO L161 IndependenceChecker]: instantiated independence condition for 'pendingIo := pendingIo - 1;BeginParallelComposition{ParallelCodeBlock0: assume !(pendingIo == 0);ParallelCodeBlock1: assume pendingIo == 0;stoppingEvent := true;}EndParallelComposition' and 'pendingIo := pendingIo - 1;BeginParallelComposition{ParallelCodeBlock0: assume !(pendingIo == 0);ParallelCodeBlock1: assume pendingIo == 0;stoppingEvent := true;}EndParallelComposition' is: true [2025-01-03 21:45:58,513 INFO L161 IndependenceChecker]: instantiated independence condition for 'pendingIo := pendingIo - 1;BeginParallelComposition{ParallelCodeBlock0: assume !(pendingIo == 0);ParallelCodeBlock1: assume pendingIo == 0;stoppingEvent := true;}EndParallelComposition' and 'assume true;' is: true [2025-01-03 21:45:58,571 INFO L161 IndependenceChecker]: instantiated independence condition for 'pendingIo := pendingIo - 1;BeginParallelComposition{ParallelCodeBlock0: assume !(pendingIo == 0);ParallelCodeBlock1: assume pendingIo == 0;stoppingEvent := true;}EndParallelComposition' and 'assume !stoppingFlag;pendingIo := pendingIo + 1;' is: (and (not (= pendingIo 1)) (not (= pendingIo 0))) [2025-01-03 21:45:58,574 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume stoppingEvent;' and 'assume true;' is: true [2025-01-03 21:45:58,587 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume stoppingEvent;' and 'pendingIo := pendingIo - 1;BeginParallelComposition{ParallelCodeBlock0: assume !(pendingIo == 0);ParallelCodeBlock1: assume pendingIo == 0;stoppingEvent := true;}EndParallelComposition' is: true [2025-01-03 21:45:58,590 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume stoppingEvent;' and 'assume true;' is: true [2025-01-03 21:45:58,598 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume stoppingEvent;' and 'assume !stoppingFlag;pendingIo := pendingIo + 1;' is: true [2025-01-03 21:45:58,602 INFO L161 IndependenceChecker]: instantiated independence condition for 'stopped := true;' and 'assume true;' is: true [2025-01-03 21:45:58,636 INFO L161 IndependenceChecker]: instantiated independence condition for 'stopped := true;' and 'pendingIo := pendingIo - 1;BeginParallelComposition{ParallelCodeBlock0: assume !(pendingIo == 0);ParallelCodeBlock1: assume pendingIo == 0;stoppingEvent := true;}EndParallelComposition' is: true [2025-01-03 21:45:58,639 INFO L161 IndependenceChecker]: instantiated independence condition for 'stopped := true;' and 'assume true;' is: true [2025-01-03 21:45:58,648 INFO L161 IndependenceChecker]: instantiated independence condition for 'stopped := true;' and 'assume !stoppingFlag;pendingIo := pendingIo + 1;' is: true [2025-01-03 21:45:58,649 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;' is: true [2025-01-03 21:45:58,680 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'pendingIo := pendingIo - 1;BeginParallelComposition{ParallelCodeBlock0: assume !(pendingIo == 0);ParallelCodeBlock1: assume pendingIo == 0;stoppingEvent := true;}EndParallelComposition' is: true [2025-01-03 21:45:58,681 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;' is: true [2025-01-03 21:45:58,687 INFO L161 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume !stoppingFlag;pendingIo := pendingIo + 1;' is: true [2025-01-03 21:45:58,705 INFO L201 PluginConnector]: Adding new model bluetooth-better.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtochc OTHER 03.01 09:45:58 HornClauseAST [2025-01-03 21:45:58,705 INFO L131 PluginConnector]: ------------------------ END IcfgToChc---------------------------- [2025-01-03 21:45:58,705 INFO L112 PluginConnector]: ------------------------ChcSmtPrinter---------------------------- [2025-01-03 21:45:58,705 INFO L270 PluginConnector]: Initializing ChcSmtPrinter... [2025-01-03 21:45:58,706 INFO L274 PluginConnector]: ChcSmtPrinter initialized [2025-01-03 21:45:58,706 INFO L184 PluginConnector]: Executing the observer ChcSmtPrinterObserver from plugin ChcSmtPrinter for "bluetooth-better.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtochc OTHER 03.01 09:45:58" (1/1) ... [2025-01-03 21:45:58,707 INFO L192 hcSmtPrinterObserver]: Writing to file /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/../../../trunk/examples/concurrent/bpl/parameterized/bluetooth-better/CHC_bluetooth-better.bpl_UID512694821282891878.smt2 [2025-01-03 21:45:58,721 INFO L131 PluginConnector]: ------------------------ END ChcSmtPrinter---------------------------- [2025-01-03 21:45:58,722 INFO L112 PluginConnector]: ------------------------ChcSolver---------------------------- [2025-01-03 21:45:58,722 INFO L270 PluginConnector]: Initializing ChcSolver... [2025-01-03 21:45:58,722 INFO L274 PluginConnector]: ChcSolver initialized [2025-01-03 21:45:58,723 INFO L184 PluginConnector]: Executing the observer ChcSolverObserver from plugin ChcSolver for "bluetooth-better.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtochc OTHER 03.01 09:45:58" (1/1) ... [2025-01-03 21:45:58,724 INFO L89 GolemChcScript]: Writing script to file /tmp/golem_13816191335932085912.smt2 [2025-01-03 21:45:58,729 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/golem [2025-01-03 21:45:58,730 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/golem /tmp/golem_13816191335932085912.smt2 (exit command is null, workingDir is null) [2025-01-03 21:45:58,734 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/golem /tmp/golem_13816191335932085912.smt2 (2)] Waiting until timeout for monitored process Received shutdown request... [2025-01-03 23:45:47,130 WARN L340 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/golem /tmp/golem_13816191335932085912.smt2 (2)] Timeout while monitored process is still running, waiting 1000 ms for graceful end [2025-01-03 23:45:47,130 WARN L340 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Timeout while monitored process is still running, waiting 1000 ms for graceful end [2025-01-03 23:45:48,130 WARN L435 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/golem /tmp/golem_13816191335932085912.smt2 (2)] Forcibly destroying the process [2025-01-03 23:45:48,138 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Forceful destruction successful, exit code 0 [2025-01-03 23:45:48,313 INFO L257 ToolchainWalker]: Toolchain cancelled while executing plugin de.uni_freiburg.informatik.ultimate.plugins.chcsolver. Reason: Timeout or Toolchain cancelled by user [2025-01-03 23:45:48,314 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UGemCutter-linux/golem /tmp/golem_13816191335932085912.smt2 (2)] Forceful destruction successful, exit code 137 [2025-01-03 23:45:48,315 INFO L158 Benchmark]: Toolchain (without parser) took 7191588.48ms. Allocated memory was 167.8MB in the beginning and 234.9MB in the end (delta: 67.1MB). Free memory was 145.3MB in the beginning and 120.3MB in the end (delta: 25.0MB). Peak memory consumption was 86.4MB. Max. memory is 22.0GB. [2025-01-03 23:45:48,316 INFO L158 Benchmark]: Boogie PL CUP Parser took 0.15ms. Allocated memory is still 167.8MB. Free memory is still 146.1MB. There was no memory consumed. Max. memory is 22.0GB. [2025-01-03 23:45:48,316 INFO L158 Benchmark]: Boogie Preprocessor took 18.95ms. Allocated memory is still 167.8MB. Free memory was 145.2MB in the beginning and 143.9MB in the end (delta: 1.3MB). There was no memory consumed. Max. memory is 22.0GB. [2025-01-03 23:45:48,316 INFO L158 Benchmark]: RCFGBuilder took 161.73ms. Allocated memory is still 167.8MB. Free memory was 143.8MB in the beginning and 134.5MB in the end (delta: 9.3MB). There was no memory consumed. Max. memory is 22.0GB. [2025-01-03 23:45:48,317 INFO L158 Benchmark]: IcfgToChc took 1795.59ms. Allocated memory was 167.8MB in the beginning and 234.9MB in the end (delta: 67.1MB). Free memory was 134.5MB in the beginning and 139.3MB in the end (delta: -4.9MB). Peak memory consumption was 121.5MB. Max. memory is 22.0GB. [2025-01-03 23:45:48,317 INFO L158 Benchmark]: ChcSmtPrinter took 15.96ms. Allocated memory is still 234.9MB. Free memory was 139.3MB in the beginning and 135.2MB in the end (delta: 4.2MB). There was no memory consumed. Max. memory is 22.0GB. [2025-01-03 23:45:48,318 INFO L158 Benchmark]: ChcSolver took 7189592.78ms. Allocated memory is still 234.9MB. Free memory was 135.2MB in the beginning and 120.3MB in the end (delta: 14.9MB). Peak memory consumption was 16.8MB. Max. memory is 22.0GB. [2025-01-03 23:45:48,319 INFO L338 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.15ms. Allocated memory is still 167.8MB. Free memory is still 146.1MB. There was no memory consumed. Max. memory is 22.0GB. * Boogie Preprocessor took 18.95ms. Allocated memory is still 167.8MB. Free memory was 145.2MB in the beginning and 143.9MB in the end (delta: 1.3MB). There was no memory consumed. Max. memory is 22.0GB. * RCFGBuilder took 161.73ms. Allocated memory is still 167.8MB. Free memory was 143.8MB in the beginning and 134.5MB in the end (delta: 9.3MB). There was no memory consumed. Max. memory is 22.0GB. * IcfgToChc took 1795.59ms. Allocated memory was 167.8MB in the beginning and 234.9MB in the end (delta: 67.1MB). Free memory was 134.5MB in the beginning and 139.3MB in the end (delta: -4.9MB). Peak memory consumption was 121.5MB. Max. memory is 22.0GB. * ChcSmtPrinter took 15.96ms. Allocated memory is still 234.9MB. Free memory was 139.3MB in the beginning and 135.2MB in the end (delta: 4.2MB). There was no memory consumed. Max. memory is 22.0GB. * ChcSolver took 7189592.78ms. Allocated memory is still 234.9MB. Free memory was 135.2MB in the beginning and 120.3MB in the end (delta: 14.9MB). Peak memory consumption was 16.8MB. Max. memory is 22.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.chcsolver: - TimeoutResult: Timeout (de.uni_freiburg.informatik.ultimate.plugins.chcsolver) Toolchain cancelled while executing Executor. RESULT: Ultimate could not prove your program: Timeout Completed graceful shutdown