/usr/bin/java -Xmx15000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data -s ../../../trunk/examples/threadmodular/regression/notify-listeners/ThreadModularVerifier.Settings.epf -tc ../../../trunk/examples/threadmodular/regression/ThreadModularVerifier.xml --icfgtochc.break.symmetry.of.preference.order false --chcsolver.chc.solver.backend ELDARICA --chcsolver.produce.chc.model.if.query.is.sat true --chcsolver.produce.derivation.if.query.is.unsat true --chcsolver.produce.unsat.core.if.query.is.unsat true -i ../../../trunk/examples/threadmodular/regression/notify-listeners/notify-listeners.bpl -------------------------------------------------------------------------------- This is Ultimate 0.2.3-wip.dk.sleep-threadmodular-5ab1b01-m [2023-07-03 16:17:53,274 INFO L172 SettingsManager]: Resetting all preferences to default values... [2023-07-03 16:17:53,343 INFO L100 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/threadmodular/regression/notify-listeners/ThreadModularVerifier.Settings.epf [2023-07-03 16:17:53,353 INFO L114 SettingsManager]: Preferences different from defaults after loading the file: [2023-07-03 16:17:53,354 INFO L135 SettingsManager]: Preferences of ChcSolver differ from their defaults: [2023-07-03 16:17:53,355 INFO L137 SettingsManager]: * Produce UNSAT core if query is UNSAT=true [2023-07-03 16:17:53,355 INFO L135 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2023-07-03 16:17:53,356 INFO L137 SettingsManager]: * Size of a code block=OneNontrivialStatement [2023-07-03 16:17:53,356 INFO L137 SettingsManager]: * Add additional assume for each assert=false [2023-07-03 16:17:53,361 INFO L135 SettingsManager]: Preferences of IcfgToChc differ from their defaults: [2023-07-03 16:17:53,361 INFO L137 SettingsManager]: * Specification mode=ASSERT_VIOLATIONS [2023-07-03 16:17:53,361 INFO L137 SettingsManager]: * Preference order used for reduction=LOCKSTEP [2023-07-03 16:17:53,362 INFO L137 SettingsManager]: * Single-instance threads=notifier [2023-07-03 16:17:53,363 INFO L137 SettingsManager]: * Assume program has a precondition=false [2023-07-03 16:17:53,363 INFO L137 SettingsManager]: * Conditional Independence=PRECOMPUTED_CONDITIONS [2023-07-03 16:17:53,364 INFO L135 SettingsManager]: Preferences of ChcSmtPrinter differ from their defaults: [2023-07-03 16:17:53,364 INFO L137 SettingsManager]: * Save file in source directory=true [2023-07-03 16:17:53,364 INFO L137 SettingsManager]: * Use automatic naming=true [2023-07-03 16:17:53,364 INFO L137 SettingsManager]: * File name=CHC_conditional WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.icfgtochc: Break symmetry of preference order -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.chcsolver: CHC solver backend -> ELDARICA Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.chcsolver: Produce CHC model if query is SAT -> true Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.chcsolver: Produce derivation if query is UNSAT -> true Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.chcsolver: Produce UNSAT core if query is UNSAT -> true [2023-07-03 16:17:53,550 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2023-07-03 16:17:53,566 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2023-07-03 16:17:53,568 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2023-07-03 16:17:53,569 INFO L270 PluginConnector]: Initializing Boogie PL CUP Parser... [2023-07-03 16:17:53,570 INFO L274 PluginConnector]: Boogie PL CUP Parser initialized [2023-07-03 16:17:53,571 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/threadmodular/regression/notify-listeners/notify-listeners.bpl [2023-07-03 16:17:53,571 INFO L110 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/threadmodular/regression/notify-listeners/notify-listeners.bpl' [2023-07-03 16:17:53,588 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2023-07-03 16:17:53,590 INFO L133 ToolchainWalker]: Walking toolchain with 5 elements. [2023-07-03 16:17:53,590 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2023-07-03 16:17:53,591 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2023-07-03 16:17:53,591 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2023-07-03 16:17:53,605 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.07 04:17:53" (1/1) ... [2023-07-03 16:17:53,606 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.07 04:17:53" (1/1) ... [2023-07-03 16:17:53,611 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.07 04:17:53" (1/1) ... [2023-07-03 16:17:53,611 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.07 04:17:53" (1/1) ... [2023-07-03 16:17:53,612 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.07 04:17:53" (1/1) ... [2023-07-03 16:17:53,614 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.07 04:17:53" (1/1) ... [2023-07-03 16:17:53,615 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.07 04:17:53" (1/1) ... [2023-07-03 16:17:53,615 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.07 04:17:53" (1/1) ... [2023-07-03 16:17:53,616 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2023-07-03 16:17:53,617 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2023-07-03 16:17:53,618 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2023-07-03 16:17:53,618 INFO L274 PluginConnector]: RCFGBuilder initialized [2023-07-03 16:17:53,619 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 03.07 04:17:53" (1/1) ... [2023-07-03 16:17:53,624 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2023-07-03 16:17:53,630 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2023-07-03 16:17:53,642 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2023-07-03 16:17:53,648 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Waiting until timeout for monitored process [2023-07-03 16:17:53,681 INFO L124 BoogieDeclarations]: Specification and implementation of procedure notifier given in one single declaration [2023-07-03 16:17:53,682 INFO L130 BoogieDeclarations]: Found specification of procedure notifier [2023-07-03 16:17:53,682 INFO L138 BoogieDeclarations]: Found implementation of procedure notifier [2023-07-03 16:17:53,683 INFO L124 BoogieDeclarations]: Specification and implementation of procedure ULTIMATE.start given in one single declaration [2023-07-03 16:17:53,683 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2023-07-03 16:17:53,683 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2023-07-03 16:17:53,725 INFO L236 CfgBuilder]: Building ICFG [2023-07-03 16:17:53,727 INFO L262 CfgBuilder]: Building CFG for each procedure with an implementation [2023-07-03 16:17:53,793 INFO L277 CfgBuilder]: Performing block encoding [2023-07-03 16:17:53,798 INFO L297 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2023-07-03 16:17:53,798 INFO L302 CfgBuilder]: Removed 2 assume(true) statements. [2023-07-03 16:17:53,799 INFO L201 PluginConnector]: Adding new model notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 03.07 04:17:53 BoogieIcfgContainer [2023-07-03 16:17:53,800 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2023-07-03 16:17:53,800 INFO L112 PluginConnector]: ------------------------IcfgToChc---------------------------- [2023-07-03 16:17:53,800 INFO L270 PluginConnector]: Initializing IcfgToChc... [2023-07-03 16:17:53,801 INFO L274 PluginConnector]: IcfgToChc initialized [2023-07-03 16:17:53,802 INFO L184 PluginConnector]: Executing the observer IcfgToChcObserver from plugin IcfgToChc for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 03.07 04:17:53" (1/1) ... [2023-07-03 16:17:54,003 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'prev := data;' is: true [2023-07-03 16:17:54,006 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume data > prev;' is: true [2023-07-03 16:17:54,009 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume true;' is: true [2023-07-03 16:17:54,011 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'havoc data;' is: true [2023-07-03 16:17:54,014 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'prev := 0;' is: true [2023-07-03 16:17:54,071 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'current := current + 1;' is: false [2023-07-03 16:17:54,074 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'notifications := notifications[current := data];' is: true [2023-07-03 16:17:54,077 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume true;' is: true [2023-07-03 16:17:54,079 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume idx < current;' is: true [2023-07-03 16:17:54,082 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'prev := 0;' is: true [2023-07-03 16:17:54,084 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'idx := current;' is: true [2023-07-03 16:17:54,086 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'assume true;prev := msg;' is: true [2023-07-03 16:17:54,089 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'idx := idx + 1;' is: true [2023-07-03 16:17:54,091 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := current;' and 'msg := notifications[idx];' is: true [2023-07-03 16:17:54,109 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'prev := data;' is: true [2023-07-03 16:17:54,112 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume data > prev;' is: true [2023-07-03 16:17:54,131 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;' is: true [2023-07-03 16:17:54,137 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'havoc data;' is: true [2023-07-03 16:17:54,139 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'prev := 0;' is: true [2023-07-03 16:17:54,142 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'current := current + 1;' is: true [2023-07-03 16:17:54,147 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'notifications := notifications[current := data];' is: true [2023-07-03 16:17:54,154 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;' is: true [2023-07-03 16:17:54,156 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume idx < current;' is: true [2023-07-03 16:17:54,158 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'prev := 0;' is: true [2023-07-03 16:17:54,161 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'idx := current;' is: true [2023-07-03 16:17:54,164 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;prev := msg;' is: true [2023-07-03 16:17:54,166 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'idx := idx + 1;' is: true [2023-07-03 16:17:54,168 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'msg := notifications[idx];' is: true [2023-07-03 16:17:54,179 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'prev := data;' is: true [2023-07-03 16:17:54,180 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume data > prev;' is: true [2023-07-03 16:17:54,181 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;' is: true [2023-07-03 16:17:54,182 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'havoc data;' is: true [2023-07-03 16:17:54,183 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'prev := 0;' is: true [2023-07-03 16:17:54,185 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'current := current + 1;' is: true [2023-07-03 16:17:54,186 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'notifications := notifications[current := data];' is: true [2023-07-03 16:17:54,188 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;' is: true [2023-07-03 16:17:54,189 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume idx < current;' is: true [2023-07-03 16:17:54,190 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'prev := 0;' is: true [2023-07-03 16:17:54,192 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'idx := current;' is: true [2023-07-03 16:17:54,202 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;prev := msg;' is: true [2023-07-03 16:17:54,211 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'idx := idx + 1;' is: true [2023-07-03 16:17:54,212 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'msg := notifications[idx];' is: true [2023-07-03 16:17:54,229 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'prev := data;' is: true [2023-07-03 16:17:54,232 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume data > prev;' is: true [2023-07-03 16:17:54,233 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume true;' is: true [2023-07-03 16:17:54,235 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'havoc data;' is: true [2023-07-03 16:17:54,236 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'prev := 0;' is: true [2023-07-03 16:17:54,238 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'current := current + 1;' is: true [2023-07-03 16:17:54,240 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'notifications := notifications[current := data];' is: true [2023-07-03 16:17:54,242 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume true;' is: true [2023-07-03 16:17:54,243 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume idx < current;' is: true [2023-07-03 16:17:54,245 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'prev := 0;' is: true [2023-07-03 16:17:54,246 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'idx := current;' is: true [2023-07-03 16:17:54,248 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'assume true;prev := msg;' is: true [2023-07-03 16:17:54,250 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'idx := idx + 1;' is: true [2023-07-03 16:17:54,251 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume idx < current;' and 'msg := notifications[idx];' is: true [2023-07-03 16:17:54,278 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'prev := data;' is: true [2023-07-03 16:17:54,280 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume data > prev;' is: true [2023-07-03 16:17:54,284 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume true;' is: true [2023-07-03 16:17:54,285 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'havoc data;' is: true [2023-07-03 16:17:54,295 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'prev := 0;' is: true [2023-07-03 16:17:54,298 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'current := current + 1;' is: true [2023-07-03 16:17:54,344 INFO L351 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 12 [2023-07-03 16:17:54,371 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'notifications := notifications[current := data];' is: (not (= ULTIMATE.start_~~left~~idx current)) [2023-07-03 16:17:54,373 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume true;' is: true [2023-07-03 16:17:54,375 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume idx < current;' is: true [2023-07-03 16:17:54,376 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'prev := 0;' is: true [2023-07-03 16:17:54,377 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'idx := current;' is: true [2023-07-03 16:17:54,379 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'assume true;prev := msg;' is: true [2023-07-03 16:17:54,380 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'idx := idx + 1;' is: true [2023-07-03 16:17:54,382 INFO L180 IndependenceChecker]: instantiated independence condition for 'msg := notifications[idx];' and 'msg := notifications[idx];' is: true [2023-07-03 16:17:54,388 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'prev := data;' is: true [2023-07-03 16:17:54,390 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume data > prev;' is: true [2023-07-03 16:17:54,391 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume true;' is: true [2023-07-03 16:17:54,392 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'havoc data;' is: true [2023-07-03 16:17:54,394 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'prev := 0;' is: true [2023-07-03 16:17:54,395 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'current := current + 1;' is: true [2023-07-03 16:17:54,397 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'notifications := notifications[current := data];' is: true [2023-07-03 16:17:54,398 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume true;' is: true [2023-07-03 16:17:54,400 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume idx < current;' is: true [2023-07-03 16:17:54,401 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'prev := 0;' is: true [2023-07-03 16:17:54,403 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'idx := current;' is: true [2023-07-03 16:17:54,404 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'assume true;prev := msg;' is: true [2023-07-03 16:17:54,406 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'idx := idx + 1;' is: true [2023-07-03 16:17:54,407 INFO L180 IndependenceChecker]: instantiated independence condition for 'idx := idx + 1;' and 'msg := notifications[idx];' is: true [2023-07-03 16:17:54,414 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'prev := data;' is: true [2023-07-03 16:17:54,415 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume data > prev;' is: true [2023-07-03 16:17:54,416 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume true;' is: true [2023-07-03 16:17:54,417 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'havoc data;' is: true [2023-07-03 16:17:54,418 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'prev := 0;' is: true [2023-07-03 16:17:54,419 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'current := current + 1;' is: true [2023-07-03 16:17:54,420 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'notifications := notifications[current := data];' is: true [2023-07-03 16:17:54,422 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume true;' is: true [2023-07-03 16:17:54,423 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume idx < current;' is: true [2023-07-03 16:17:54,424 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'prev := 0;' is: true [2023-07-03 16:17:54,429 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'idx := current;' is: true [2023-07-03 16:17:54,430 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'assume true;prev := msg;' is: true [2023-07-03 16:17:54,431 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'idx := idx + 1;' is: true [2023-07-03 16:17:54,435 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;prev := msg;' and 'msg := notifications[idx];' is: true [2023-07-03 16:17:54,443 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;' is: true [2023-07-03 16:17:54,445 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume idx < current;' is: true [2023-07-03 16:17:54,446 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'prev := 0;' is: true [2023-07-03 16:17:54,447 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'idx := current;' is: true [2023-07-03 16:17:54,449 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'assume true;prev := msg;' is: true [2023-07-03 16:17:54,450 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'idx := idx + 1;' is: true [2023-07-03 16:17:54,451 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := 0;' and 'msg := notifications[idx];' is: true [2023-07-03 16:17:54,453 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;' is: true [2023-07-03 16:17:54,454 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume idx < current;' is: true [2023-07-03 16:17:54,455 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'prev := 0;' is: true [2023-07-03 16:17:54,456 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'idx := current;' is: true [2023-07-03 16:17:54,457 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'assume true;prev := msg;' is: true [2023-07-03 16:17:54,458 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'idx := idx + 1;' is: true [2023-07-03 16:17:54,459 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume true;' and 'msg := notifications[idx];' is: true [2023-07-03 16:17:54,461 INFO L180 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'assume true;' is: true [2023-07-03 16:17:54,462 INFO L180 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'assume idx < current;' is: true [2023-07-03 16:17:54,463 INFO L180 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'prev := 0;' is: true [2023-07-03 16:17:54,464 INFO L180 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'idx := current;' is: true [2023-07-03 16:17:54,465 INFO L180 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'assume true;prev := msg;' is: true [2023-07-03 16:17:54,466 INFO L180 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'idx := idx + 1;' is: true [2023-07-03 16:17:54,467 INFO L180 IndependenceChecker]: instantiated independence condition for 'havoc data;' and 'msg := notifications[idx];' is: true [2023-07-03 16:17:54,469 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'assume true;' is: true [2023-07-03 16:17:54,470 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'assume idx < current;' is: true [2023-07-03 16:17:54,471 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'prev := 0;' is: true [2023-07-03 16:17:54,472 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'idx := current;' is: true [2023-07-03 16:17:54,473 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'assume true;prev := msg;' is: true [2023-07-03 16:17:54,474 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'idx := idx + 1;' is: true [2023-07-03 16:17:54,476 INFO L180 IndependenceChecker]: instantiated independence condition for 'assume data > prev;' and 'msg := notifications[idx];' is: true [2023-07-03 16:17:54,478 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'assume true;' is: true [2023-07-03 16:17:54,479 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'assume idx < current;' is: true [2023-07-03 16:17:54,480 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'prev := 0;' is: true [2023-07-03 16:17:54,481 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'idx := current;' is: true [2023-07-03 16:17:54,482 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'assume true;prev := msg;' is: true [2023-07-03 16:17:54,483 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'idx := idx + 1;' is: true [2023-07-03 16:17:54,488 INFO L180 IndependenceChecker]: instantiated independence condition for 'prev := data;' and 'msg := notifications[idx];' is: true [2023-07-03 16:17:54,492 INFO L180 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'assume true;' is: true [2023-07-03 16:17:54,493 INFO L180 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'assume idx < current;' is: true [2023-07-03 16:17:54,494 INFO L180 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'prev := 0;' is: true [2023-07-03 16:17:54,496 INFO L180 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'idx := current;' is: true [2023-07-03 16:17:54,497 INFO L180 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'assume true;prev := msg;' is: true [2023-07-03 16:17:54,498 INFO L180 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'idx := idx + 1;' is: true [2023-07-03 16:17:54,523 INFO L351 Elim1Store]: Elim1 eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 12 [2023-07-03 16:17:54,542 INFO L180 IndependenceChecker]: instantiated independence condition for 'notifications := notifications[current := data];' and 'msg := notifications[idx];' is: (not (= ULTIMATE.start_~~right~~idx current)) [2023-07-03 16:17:54,545 INFO L180 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'assume true;' is: true [2023-07-03 16:17:54,570 INFO L180 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'assume idx < current;' is: (< ULTIMATE.start_~~right~~idx current) [2023-07-03 16:17:54,572 INFO L180 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'prev := 0;' is: true [2023-07-03 16:17:54,592 INFO L180 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'idx := current;' is: false [2023-07-03 16:17:54,593 INFO L180 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'assume true;prev := msg;' is: true [2023-07-03 16:17:54,600 INFO L180 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'idx := idx + 1;' is: true [2023-07-03 16:17:54,603 INFO L180 IndependenceChecker]: instantiated independence condition for 'current := current + 1;' and 'msg := notifications[idx];' is: true [2023-07-03 16:17:54,653 INFO L201 PluginConnector]: Adding new model notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtochc OTHER 03.07 04:17:54 HornClauseAST [2023-07-03 16:17:54,653 INFO L131 PluginConnector]: ------------------------ END IcfgToChc---------------------------- [2023-07-03 16:17:54,654 INFO L112 PluginConnector]: ------------------------ChcSmtPrinter---------------------------- [2023-07-03 16:17:54,654 INFO L270 PluginConnector]: Initializing ChcSmtPrinter... [2023-07-03 16:17:54,655 INFO L274 PluginConnector]: ChcSmtPrinter initialized [2023-07-03 16:17:54,655 INFO L184 PluginConnector]: Executing the observer ChcSmtPrinterObserver from plugin ChcSmtPrinter for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtochc OTHER 03.07 04:17:54" (1/1) ... [2023-07-03 16:17:54,657 INFO L192 hcSmtPrinterObserver]: Writing to file /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/threadmodular/regression/notify-listeners/CHC_conditional_notify-listeners.bpl_UID6031765517434769734.smt2 [2023-07-03 16:17:54,696 INFO L131 PluginConnector]: ------------------------ END ChcSmtPrinter---------------------------- [2023-07-03 16:17:54,697 INFO L112 PluginConnector]: ------------------------ChcSolver---------------------------- [2023-07-03 16:17:54,697 INFO L270 PluginConnector]: Initializing ChcSolver... [2023-07-03 16:17:54,698 INFO L274 PluginConnector]: ChcSolver initialized [2023-07-03 16:17:54,699 INFO L184 PluginConnector]: Executing the observer ChcSolverObserver from plugin ChcSolver for "notify-listeners.bpl de.uni_freiburg.informatik.ultimate.plugins.icfgtochc OTHER 03.07 04:17:54" (1/1) ... [2023-07-03 16:17:54,700 WARN L147 ChcSolverObserver]: Derivation production is not supported by backend [2023-07-03 16:17:54,701 WARN L153 ChcSolverObserver]: UNSAT core production is not supported by backend [2023-07-03 16:17:54,701 INFO L91 EldaricaCliChcScript]: Writing script to file /tmp/eldarica_7801919504654730619.smt2 [2023-07-03 16:17:54,724 ERROR L181 MonitoredProcess]: Could not determine absolute path of external process, hoping that OS will resolve eld [2023-07-03 16:17:54,724 INFO L189 MonitoredProcess]: No working directory specified, using eld [2023-07-03 16:17:54,737 INFO L229 MonitoredProcess]: Starting monitored process 2 with eld -disj -ssol /tmp/eldarica_7801919504654730619.smt2 (exit command is null, workingDir is null) [2023-07-03 16:17:54,744 INFO L327 MonitoredProcess]: [MP eld -disj -ssol /tmp/eldarica_7801919504654730619.smt2 (2)] Waiting until timeout for monitored process Received shutdown request... [2023-07-03 16:44:07,958 WARN L340 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-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 [2023-07-03 16:44:07,958 WARN L340 MonitoredProcess]: [MP eld -disj -ssol /tmp/eldarica_7801919504654730619.smt2 (2)] Timeout while monitored process is still running, waiting 1000 ms for graceful end [2023-07-03 16:44:08,958 WARN L435 MonitoredProcess]: [MP eld -disj -ssol /tmp/eldarica_7801919504654730619.smt2 (2)] Forcibly destroying the process [2023-07-03 16:44:08,968 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Forceful destruction successful, exit code 0 [2023-07-03 16:44:09,133 INFO L540 MonitoredProcess]: [MP eld -disj -ssol /tmp/eldarica_7801919504654730619.smt2 (2)] Forceful destruction successful, exit code 137 [2023-07-03 16:44:09,134 INFO L257 ToolchainWalker]: Toolchain cancelled while executing plugin de.uni_freiburg.informatik.ultimate.plugins.chcsolver. Reason: Timeout or Toolchain cancelled by user [2023-07-03 16:44:09,136 INFO L158 Benchmark]: Toolchain (without parser) took 1575545.81ms. Allocated memory was 352.3MB in the beginning and 448.8MB in the end (delta: 96.5MB). Free memory was 310.7MB in the beginning and 413.4MB in the end (delta: -102.6MB). Peak memory consumption was 60.8MB. Max. memory is 15.0GB. [2023-07-03 16:44:09,137 INFO L158 Benchmark]: Boogie PL CUP Parser took 0.14ms. Allocated memory is still 352.3MB. Free memory is still 311.7MB. There was no memory consumed. Max. memory is 15.0GB. [2023-07-03 16:44:09,137 INFO L158 Benchmark]: Boogie Preprocessor took 26.07ms. Allocated memory is still 352.3MB. Free memory was 310.7MB in the beginning and 308.8MB in the end (delta: 1.9MB). Peak memory consumption was 2.1MB. Max. memory is 15.0GB. [2023-07-03 16:44:09,138 INFO L158 Benchmark]: RCFGBuilder took 182.38ms. Allocated memory is still 352.3MB. Free memory was 308.7MB in the beginning and 300.2MB in the end (delta: 8.5MB). Peak memory consumption was 8.4MB. Max. memory is 15.0GB. [2023-07-03 16:44:09,138 INFO L158 Benchmark]: IcfgToChc took 853.16ms. Allocated memory is still 352.3MB. Free memory was 300.2MB in the beginning and 272.7MB in the end (delta: 27.5MB). Peak memory consumption was 31.1MB. Max. memory is 15.0GB. [2023-07-03 16:44:09,139 INFO L158 Benchmark]: ChcSmtPrinter took 42.23ms. Allocated memory is still 352.3MB. Free memory was 272.7MB in the beginning and 265.5MB in the end (delta: 7.2MB). Peak memory consumption was 6.3MB. Max. memory is 15.0GB. [2023-07-03 16:44:09,139 INFO L158 Benchmark]: ChcSolver took 1574437.84ms. Allocated memory was 352.3MB in the beginning and 448.8MB in the end (delta: 96.5MB). Free memory was 265.5MB in the beginning and 413.4MB in the end (delta: -147.9MB). Peak memory consumption was 12.9MB. Max. memory is 15.0GB. [2023-07-03 16:44:09,143 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.14ms. Allocated memory is still 352.3MB. Free memory is still 311.7MB. There was no memory consumed. Max. memory is 15.0GB. * Boogie Preprocessor took 26.07ms. Allocated memory is still 352.3MB. Free memory was 310.7MB in the beginning and 308.8MB in the end (delta: 1.9MB). Peak memory consumption was 2.1MB. Max. memory is 15.0GB. * RCFGBuilder took 182.38ms. Allocated memory is still 352.3MB. Free memory was 308.7MB in the beginning and 300.2MB in the end (delta: 8.5MB). Peak memory consumption was 8.4MB. Max. memory is 15.0GB. * IcfgToChc took 853.16ms. Allocated memory is still 352.3MB. Free memory was 300.2MB in the beginning and 272.7MB in the end (delta: 27.5MB). Peak memory consumption was 31.1MB. Max. memory is 15.0GB. * ChcSmtPrinter took 42.23ms. Allocated memory is still 352.3MB. Free memory was 272.7MB in the beginning and 265.5MB in the end (delta: 7.2MB). Peak memory consumption was 6.3MB. Max. memory is 15.0GB. * ChcSolver took 1574437.84ms. Allocated memory was 352.3MB in the beginning and 448.8MB in the end (delta: 96.5MB). Free memory was 265.5MB in the beginning and 413.4MB in the end (delta: -147.9MB). Peak memory consumption was 12.9MB. Max. memory is 15.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