/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-FA-NoLbe.epf -tc ../../../trunk/examples/toolchains/AutomizerCInline.xml -i ../../../trunk/examples/concurrent/pthreads/forkMultipleTimes.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-wip.dk.mcr-reduction-4b0ab11 [2022-03-03 18:35:22,020 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-03-03 18:35:22,021 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-03-03 18:35:22,068 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-03-03 18:35:22,069 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-03-03 18:35:22,072 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-03-03 18:35:22,074 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-03-03 18:35:22,079 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-03-03 18:35:22,080 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-03-03 18:35:22,081 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-03-03 18:35:22,082 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-03-03 18:35:22,082 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-03-03 18:35:22,083 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-03-03 18:35:22,083 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-03-03 18:35:22,084 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-03-03 18:35:22,085 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-03-03 18:35:22,086 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-03-03 18:35:22,090 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-03-03 18:35:22,092 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-03-03 18:35:22,096 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-03-03 18:35:22,097 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-03-03 18:35:22,101 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-03-03 18:35:22,104 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-03-03 18:35:22,104 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-03-03 18:35:22,106 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-03-03 18:35:22,106 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-03-03 18:35:22,107 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-03-03 18:35:22,107 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-03-03 18:35:22,108 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-03-03 18:35:22,108 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-03-03 18:35:22,109 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-03-03 18:35:22,109 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-03-03 18:35:22,110 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-03-03 18:35:22,110 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-03-03 18:35:22,111 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-03-03 18:35:22,111 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-03-03 18:35:22,112 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-03-03 18:35:22,112 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-03-03 18:35:22,112 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-03-03 18:35:22,113 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-03-03 18:35:22,114 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-03-03 18:35:22,123 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-FA-NoLbe.epf [2022-03-03 18:35:22,150 INFO L113 SettingsManager]: Loading preferences was successful [2022-03-03 18:35:22,150 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-03-03 18:35:22,150 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-03-03 18:35:22,151 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-03-03 18:35:22,151 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-03-03 18:35:22,152 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-03-03 18:35:22,152 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-03-03 18:35:22,152 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-03-03 18:35:22,153 INFO L138 SettingsManager]: * Use SBE=true [2022-03-03 18:35:22,153 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-03-03 18:35:22,153 INFO L138 SettingsManager]: * sizeof long=4 [2022-03-03 18:35:22,154 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-03-03 18:35:22,154 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-03-03 18:35:22,154 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-03-03 18:35:22,154 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-03-03 18:35:22,154 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-03-03 18:35:22,154 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-03-03 18:35:22,154 INFO L138 SettingsManager]: * sizeof long double=12 [2022-03-03 18:35:22,154 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-03-03 18:35:22,154 INFO L138 SettingsManager]: * Use constant arrays=true [2022-03-03 18:35:22,155 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-03-03 18:35:22,155 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-03-03 18:35:22,155 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-03-03 18:35:22,155 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-03-03 18:35:22,156 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-03-03 18:35:22,156 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-03-03 18:35:22,156 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-03-03 18:35:22,156 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-03-03 18:35:22,157 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-03-03 18:35:22,157 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-03-03 18:35:22,157 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-03-03 18:35:22,157 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-03-03 18:35:22,157 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-03-03 18:35:22,157 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 [2022-03-03 18:35:22,378 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-03-03 18:35:22,396 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-03-03 18:35:22,398 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-03-03 18:35:22,399 INFO L271 PluginConnector]: Initializing CDTParser... [2022-03-03 18:35:22,399 INFO L275 PluginConnector]: CDTParser initialized [2022-03-03 18:35:22,400 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/concurrent/pthreads/forkMultipleTimes.c [2022-03-03 18:35:22,468 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b620d8edf/70a86401e42847a494778c0dd8dcd490/FLAG926db87d6 [2022-03-03 18:35:22,845 INFO L306 CDTParser]: Found 1 translation units. [2022-03-03 18:35:22,845 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/concurrent/pthreads/forkMultipleTimes.c [2022-03-03 18:35:22,845 WARN L117 ultiparseSymbolTable]: System include pthread.h could not be resolved by CDT -- only built-in system includes are available. [2022-03-03 18:35:22,846 WARN L117 ultiparseSymbolTable]: System include stdio.h could not be resolved by CDT -- only built-in system includes are available. [2022-03-03 18:35:22,883 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b620d8edf/70a86401e42847a494778c0dd8dcd490/FLAG926db87d6 [2022-03-03 18:35:22,898 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b620d8edf/70a86401e42847a494778c0dd8dcd490 [2022-03-03 18:35:22,902 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-03-03 18:35:22,904 INFO L131 ToolchainWalker]: Walking toolchain with 5 elements. [2022-03-03 18:35:22,905 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-03-03 18:35:22,905 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-03-03 18:35:22,908 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-03-03 18:35:22,908 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 03.03 06:35:22" (1/1) ... [2022-03-03 18:35:22,909 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6ca11ac0 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.03 06:35:22, skipping insertion in model container [2022-03-03 18:35:22,909 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 03.03 06:35:22" (1/1) ... [2022-03-03 18:35:22,915 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-03-03 18:35:22,925 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-03-03 18:35:23,064 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-03-03 18:35:23,071 INFO L203 MainTranslator]: Completed pre-run [2022-03-03 18:35:23,082 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-03-03 18:35:23,091 INFO L208 MainTranslator]: Completed translation [2022-03-03 18:35:23,092 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.03 06:35:23 WrapperNode [2022-03-03 18:35:23,092 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-03-03 18:35:23,093 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-03-03 18:35:23,093 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-03-03 18:35:23,093 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-03-03 18:35:23,100 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.03 06:35:23" (1/1) ... [2022-03-03 18:35:23,112 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.03 06:35:23" (1/1) ... [2022-03-03 18:35:23,133 INFO L137 Inliner]: procedures = 9, calls = 26, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 59 [2022-03-03 18:35:23,133 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-03-03 18:35:23,134 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-03-03 18:35:23,134 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-03-03 18:35:23,134 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-03-03 18:35:23,141 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.03 06:35:23" (1/1) ... [2022-03-03 18:35:23,141 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.03 06:35:23" (1/1) ... [2022-03-03 18:35:23,151 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.03 06:35:23" (1/1) ... [2022-03-03 18:35:23,151 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.03 06:35:23" (1/1) ... [2022-03-03 18:35:23,155 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.03 06:35:23" (1/1) ... [2022-03-03 18:35:23,156 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.03 06:35:23" (1/1) ... [2022-03-03 18:35:23,157 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.03 06:35:23" (1/1) ... [2022-03-03 18:35:23,158 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-03-03 18:35:23,161 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-03-03 18:35:23,161 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-03-03 18:35:23,161 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-03-03 18:35:23,162 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.03 06:35:23" (1/1) ... [2022-03-03 18:35:23,169 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-03-03 18:35:23,175 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-03-03 18:35:23,196 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) [2022-03-03 18:35:23,209 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 [2022-03-03 18:35:23,236 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-03-03 18:35:23,237 INFO L130 BoogieDeclarations]: Found specification of procedure foo [2022-03-03 18:35:23,237 INFO L138 BoogieDeclarations]: Found implementation of procedure foo [2022-03-03 18:35:23,237 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-03-03 18:35:23,237 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-03-03 18:35:23,237 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-03-03 18:35:23,237 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-03-03 18:35:23,237 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-03-03 18:35:23,237 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-03-03 18:35:23,238 WARN L208 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to SingleStatement [2022-03-03 18:35:23,294 INFO L234 CfgBuilder]: Building ICFG [2022-03-03 18:35:23,296 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-03-03 18:35:23,477 INFO L275 CfgBuilder]: Performing block encoding [2022-03-03 18:35:23,482 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-03-03 18:35:23,482 INFO L299 CfgBuilder]: Removed 0 assume(true) statements. [2022-03-03 18:35:23,484 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 03.03 06:35:23 BoogieIcfgContainer [2022-03-03 18:35:23,484 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-03-03 18:35:23,485 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-03-03 18:35:23,486 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-03-03 18:35:23,502 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-03-03 18:35:23,502 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 03.03 06:35:22" (1/3) ... [2022-03-03 18:35:23,503 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@70a8b4f1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 03.03 06:35:23, skipping insertion in model container [2022-03-03 18:35:23,503 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.03 06:35:23" (2/3) ... [2022-03-03 18:35:23,503 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@70a8b4f1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 03.03 06:35:23, skipping insertion in model container [2022-03-03 18:35:23,503 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 03.03 06:35:23" (3/3) ... [2022-03-03 18:35:23,504 INFO L111 eAbstractionObserver]: Analyzing ICFG forkMultipleTimes.c [2022-03-03 18:35:23,508 WARN L150 ceAbstractionStarter]: Switching off computation of Hoare annotation because input is a concurrent program [2022-03-03 18:35:23,508 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-03-03 18:35:23,508 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-03-03 18:35:23,509 INFO L534 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2022-03-03 18:35:23,569 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork1_#in~n.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,569 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork1_#in~n.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,570 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork1_~n.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,570 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork1_~n.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,570 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork1_#in~n.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,570 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork1_#in~n.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,570 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork1_~n.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,570 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork1_~n.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,571 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork1_~n.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,571 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork1_~n.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,571 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork1_~x~0.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,571 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork1_~x~0.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,571 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork1_~n.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,572 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork1_~n.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,572 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork1_~x~0.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,572 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork1_~x~0.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,572 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork1_#t~pre0| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,572 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork1_#t~pre0| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,573 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork1_#t~pre0| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,573 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork1_~x~0.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,573 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork1_~x~0.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,573 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork1_#t~pre0| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,573 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork1_~x~0.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,573 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork1_~x~0.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,574 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork1_#t~pre0| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,574 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork1_#t~pre0| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,574 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,574 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,574 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,574 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,575 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork0_#in~n.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,575 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork0_#in~n.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,575 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork0_~n.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,575 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork0_~n.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,575 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork0_#in~n.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,575 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork0_#in~n.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,576 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork0_~n.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,576 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork0_~n.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,576 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork0_~n.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,576 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork0_~n.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,576 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork0_~x~0.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,576 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork0_~x~0.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,577 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork0_~n.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,577 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork0_~n.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,577 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork0_~x~0.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,577 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork0_~x~0.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,577 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork0_#t~pre0| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,577 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork0_#t~pre0| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,578 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork0_#t~pre0| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,578 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork0_~x~0.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,578 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork0_~x~0.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,578 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork0_#t~pre0| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,578 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork0_~x~0.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,578 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork0_~x~0.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,579 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork0_#t~pre0| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,579 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork0_#t~pre0| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,579 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,579 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,579 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,579 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,580 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork2_#in~n.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,580 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork2_#in~n.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,580 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork2_~n.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,580 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork2_~n.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,580 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork2_#in~n.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,581 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork2_#in~n.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,581 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork2_~n.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,581 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork2_~n.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,581 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork2_~n.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,581 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork2_~n.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,581 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork2_~x~0.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,581 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork2_~x~0.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,582 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork2_~n.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,582 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork2_~n.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,582 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork2_~x~0.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,582 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork2_~x~0.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,582 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork2_#t~pre0| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,582 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork2_#t~pre0| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,587 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork2_#t~pre0| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,587 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork2_~x~0.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,587 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork2_~x~0.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,588 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork2_#t~pre0| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,588 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork2_~x~0.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,588 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork2_~x~0.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,588 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork2_#t~pre0| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,589 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork2_#t~pre0| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,589 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork2_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,589 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork2_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,590 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork2_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,590 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork2_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,598 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork0_~x~0.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,599 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork0_~n.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,599 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork0_~n.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,599 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork0_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,599 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork0_~x~0.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,600 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork0_#t~pre0| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,600 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork0_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,602 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork1_~n.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,602 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork1_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,602 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork1_~x~0.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,602 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork1_#t~pre0| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,602 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork1_~x~0.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,602 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork1_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,602 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork1_~n.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,603 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork2_~n.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,604 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork2_#res.offset| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,604 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork2_~x~0.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,604 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork2_#res.base| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,604 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork2_~x~0.offset not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,604 WARN L322 ript$VariableManager]: TermVariabe |fooThread1of1ForFork2_#t~pre0| not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,604 WARN L322 ript$VariableManager]: TermVariabe fooThread1of1ForFork2_~n.base not constructed by VariableManager. Cannot ensure absence of name clashes. [2022-03-03 18:35:23,609 INFO L148 ThreadInstanceAdder]: Constructed 3 joinOtherThreadTransitions. [2022-03-03 18:35:23,655 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-03-03 18:35:23,661 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, mAutomataTypeConcurrency=FINITE_AUTOMATA, mLazyFiniteAutomaton=false, 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, mMcrOptimizeForkJoin=true, mMcrOverapproximateWrwc=true [2022-03-03 18:35:23,662 INFO L340 AbstractCegarLoop]: Starting to check reachability of 4 error locations. [2022-03-03 18:35:23,671 INFO L111 iNet2FiniteAutomaton]: Start petriNet2FiniteAutomaton. Operand has 94 places, 84 transitions, 192 flow [2022-03-03 18:35:23,864 INFO L133 iNet2FiniteAutomaton]: Finished petriNet2FiniteAutomaton. Result has 3748 states, 3747 states have (on average 3.246063517480651) internal successors, (12163), 3747 states have internal predecessors, (12163), 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) [2022-03-03 18:35:23,878 INFO L276 IsEmpty]: Start isEmpty. Operand has 3748 states, 3747 states have (on average 3.246063517480651) internal successors, (12163), 3747 states have internal predecessors, (12163), 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) [2022-03-03 18:35:23,920 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 68 [2022-03-03 18:35:23,921 INFO L506 BasicCegarLoop]: Found error trace [2022-03-03 18:35:23,921 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-03-03 18:35:23,922 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONASSERT === [ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0INUSE_VIOLATION, ULTIMATE.startErr1INUSE_VIOLATION, ULTIMATE.startErr2INUSE_VIOLATION] === [2022-03-03 18:35:23,929 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-03-03 18:35:23,929 INFO L85 PathProgramCache]: Analyzing trace with hash 1133857752, now seen corresponding path program 1 times [2022-03-03 18:35:23,937 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-03-03 18:35:23,937 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1920653666] [2022-03-03 18:35:23,937 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-03-03 18:35:23,938 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-03-03 18:35:24,173 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-03-03 18:35:24,174 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-03-03 18:35:24,231 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-03-03 18:35:24,259 INFO L138 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-03-03 18:35:24,261 INFO L628 BasicCegarLoop]: Counterexample is feasible [2022-03-03 18:35:24,262 INFO L764 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONASSERT (3 of 4 remaining) [2022-03-03 18:35:24,263 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr0INUSE_VIOLATION (2 of 4 remaining) [2022-03-03 18:35:24,263 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr1INUSE_VIOLATION (1 of 4 remaining) [2022-03-03 18:35:24,264 INFO L764 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr2INUSE_VIOLATION (0 of 4 remaining) [2022-03-03 18:35:24,264 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-03-03 18:35:24,267 INFO L732 BasicCegarLoop]: Path program histogram: [1] [2022-03-03 18:35:24,270 INFO L230 ceAbstractionStarter]: Analysis of concurrent program completed with 1 thread instances [2022-03-03 18:35:24,271 INFO L180 ceAbstractionStarter]: Computing trace abstraction results [2022-03-03 18:35:24,347 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 03.03 06:35:24 BasicIcfg [2022-03-03 18:35:24,354 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-03-03 18:35:24,356 INFO L158 Benchmark]: Toolchain (without parser) took 1451.35ms. Allocated memory was 192.9MB in the beginning and 276.8MB in the end (delta: 83.9MB). Free memory was 134.2MB in the beginning and 142.2MB in the end (delta: -8.0MB). Peak memory consumption was 75.7MB. Max. memory is 8.0GB. [2022-03-03 18:35:24,357 INFO L158 Benchmark]: CDTParser took 0.12ms. Allocated memory is still 192.9MB. Free memory is still 152.0MB. There was no memory consumed. Max. memory is 8.0GB. [2022-03-03 18:35:24,358 INFO L158 Benchmark]: CACSL2BoogieTranslator took 187.07ms. Allocated memory was 192.9MB in the beginning and 276.8MB in the end (delta: 83.9MB). Free memory was 134.0MB in the beginning and 246.0MB in the end (delta: -112.0MB). Peak memory consumption was 7.3MB. Max. memory is 8.0GB. [2022-03-03 18:35:24,359 INFO L158 Benchmark]: Boogie Procedure Inliner took 40.58ms. Allocated memory is still 276.8MB. Free memory was 246.0MB in the beginning and 244.4MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-03-03 18:35:24,363 INFO L158 Benchmark]: Boogie Preprocessor took 24.46ms. Allocated memory is still 276.8MB. Free memory was 244.4MB in the beginning and 243.4MB in the end (delta: 1.0MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-03-03 18:35:24,364 INFO L158 Benchmark]: RCFGBuilder took 322.74ms. Allocated memory is still 276.8MB. Free memory was 243.4MB in the beginning and 230.3MB in the end (delta: 13.1MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-03-03 18:35:24,365 INFO L158 Benchmark]: TraceAbstraction took 868.89ms. Allocated memory is still 276.8MB. Free memory was 230.3MB in the beginning and 142.2MB in the end (delta: 88.1MB). Peak memory consumption was 88.1MB. Max. memory is 8.0GB. [2022-03-03 18:35:24,371 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.12ms. Allocated memory is still 192.9MB. Free memory is still 152.0MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 187.07ms. Allocated memory was 192.9MB in the beginning and 276.8MB in the end (delta: 83.9MB). Free memory was 134.0MB in the beginning and 246.0MB in the end (delta: -112.0MB). Peak memory consumption was 7.3MB. Max. memory is 8.0GB. * Boogie Procedure Inliner took 40.58ms. Allocated memory is still 276.8MB. Free memory was 246.0MB in the beginning and 244.4MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * Boogie Preprocessor took 24.46ms. Allocated memory is still 276.8MB. Free memory was 244.4MB in the beginning and 243.4MB in the end (delta: 1.0MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 322.74ms. Allocated memory is still 276.8MB. Free memory was 243.4MB in the beginning and 230.3MB in the end (delta: 13.1MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * TraceAbstraction took 868.89ms. Allocated memory is still 276.8MB. Free memory was 230.3MB in the beginning and 142.2MB in the end (delta: 88.1MB). Peak memory consumption was 88.1MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - CounterExampleResult [Line: 37]: assertion can be violated assertion can be violated We found a FailurePath: [L13] 0 int counter = 0; VAL [counter=0] [L23] 0 int val = 0; VAL [counter=0, val={6:0}] [L25] 0 pthread_t first_thread_id; VAL [counter=0, first_thread_id={7:0}, val={6:0}] [L26] 0 pthread_t second_thread_id; VAL [counter=0, first_thread_id={7:0}, second_thread_id={8:0}, val={6:0}] [L27] 0 pthread_t third_thread_id; VAL [counter=0, first_thread_id={7:0}, second_thread_id={8:0}, third_thread_id={5:0}, val={6:0}] [L29] FCALL, FORK 0 pthread_create(&first_thread_id, NULL, foo, &val) VAL [counter=0, first_thread_id={7:0}, n={6:0}, pthread_create(&first_thread_id, NULL, foo, &val)=-3, second_thread_id={8:0}, third_thread_id={5:0}, val={6:0}] [L16] 1 int *x = (int *)n; VAL [counter=0, n={6:0}, n={6:0}, x={6:0}] [L17] EXPR 1 ++counter VAL [++counter=1, counter=1, n={6:0}, n={6:0}, x={6:0}] [L17] 1 *x = ++counter VAL [++counter=1, counter=1, n={6:0}, n={6:0}, x={6:0}] [L18] 1 return 0; VAL [\result={0:0}, counter=1, n={6:0}, n={6:0}, x={6:0}] [L30] FCALL, FORK 0 pthread_create(&second_thread_id, NULL, foo, &val) VAL [\result={0:0}, counter=1, first_thread_id={7:0}, n={6:0}, n={6:0}, pthread_create(&second_thread_id, NULL, foo, &val)=-2, second_thread_id={8:0}, third_thread_id={5:0}, val={6:0}, x={6:0}] [L16] 2 int *x = (int *)n; VAL [\result={0:0}, counter=1, n={6:0}, n={6:0}, x={6:0}] [L17] 2 ++counter VAL [++counter=2, \result={0:0}, counter=1, n={6:0}, n={6:0}, x={6:0}] [L31] FCALL, FORK 0 pthread_create(&third_thread_id, NULL, foo, &val) VAL [++counter=2, \result={0:0}, counter=1, first_thread_id={7:0}, n={6:0}, n={6:0}, pthread_create(&third_thread_id, NULL, foo, &val)=-1, second_thread_id={8:0}, third_thread_id={5:0}, val={6:0}, x={6:0}] [L16] 3 int *x = (int *)n; VAL [++counter=2, \result={0:0}, counter=1, n={6:0}, n={6:0}, x={6:0}] [L17] EXPR 3 ++counter VAL [++counter=2, \result={0:0}, counter=2, n={6:0}, n={6:0}, x={6:0}] [L17] 3 *x = ++counter VAL [++counter=2, \result={0:0}, counter=2, n={6:0}, n={6:0}, x={6:0}] [L18] 3 return 0; VAL [++counter=2, \result={0:0}, counter=2, n={6:0}, n={6:0}, x={6:0}] [L33] 0 \read(first_thread_id) VAL [++counter=2, \read(first_thread_id)=-3, \result={0:0}, counter=2, first_thread_id={7:0}, n={6:0}, n={6:0}, second_thread_id={8:0}, third_thread_id={5:0}, val={6:0}, x={6:0}] [L33] FCALL, JOIN 1 pthread_join(first_thread_id, NULL) VAL [++counter=2, \read(first_thread_id)=-3, \result={0:0}, counter=2, first_thread_id={7:0}, n={6:0}, n={6:0}, second_thread_id={8:0}, third_thread_id={5:0}, val={6:0}, x={6:0}] [L34] 0 \read(second_thread_id) VAL [++counter=2, \read(second_thread_id)=-2, \result={0:0}, counter=2, first_thread_id={7:0}, n={6:0}, n={6:0}, second_thread_id={8:0}, third_thread_id={5:0}, val={6:0}, x={6:0}] [L17] EXPR 2 ++counter VAL [++counter=2, \result={0:0}, counter=3, n={6:0}, n={6:0}, x={6:0}] [L17] 2 *x = ++counter VAL [++counter=2, \result={0:0}, counter=3, n={6:0}, n={6:0}, x={6:0}] [L18] 2 return 0; VAL [\result={0:0}, counter=3, n={6:0}, n={6:0}, x={6:0}] [L34] FCALL, JOIN 2 pthread_join(second_thread_id, NULL) VAL [\read(second_thread_id)=-2, \result={0:0}, counter=3, first_thread_id={7:0}, n={6:0}, n={6:0}, second_thread_id={8:0}, third_thread_id={5:0}, val={6:0}, x={6:0}] [L35] 0 \read(third_thread_id) VAL [\read(third_thread_id)=-1, \result={0:0}, counter=3, first_thread_id={7:0}, n={6:0}, n={6:0}, second_thread_id={8:0}, third_thread_id={5:0}, val={6:0}, x={6:0}] [L35] FCALL, JOIN 3 pthread_join(third_thread_id, NULL) VAL [\read(third_thread_id)=-1, \result={0:0}, counter=3, first_thread_id={7:0}, n={6:0}, n={6:0}, second_thread_id={8:0}, third_thread_id={5:0}, val={6:0}, x={6:0}] [L37] FCALL 0 IdentifierExpression[val] VAL [#t~mem10=2, \result={0:0}, counter=3, first_thread_id={7:0}, n={6:0}, n={6:0}, second_thread_id={8:0}, third_thread_id={5:0}, val={6:0}, x={6:0}] [L37] 0 CodeAnnotStmt[Assertion] VAL [#t~mem10=2, \result={0:0}, counter=3, first_thread_id={7:0}, n={6:0}, n={6:0}, second_thread_id={8:0}, third_thread_id={5:0}, val={6:0}, x={6:0}] - UnprovableResult [Line: 30]: 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: 31]: 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: 29]: 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 5 procedures, 97 locations, 4 error locations. Started 1 CEGAR loops. OverallTime: 0.6s, OverallIterations: 1, TraceHistogramMax: 1, PathProgramHistogramMax: 1, EmptinessCheckTime: 0.1s, AutomataDifference: 0.0s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.2s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: , PredicateUnifierStatistics: No data available, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=3748occurred in iteration=0, InterpolantAutomatonStates: 0, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: No data available, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.1s SatisfiabilityAnalysisTime, 0.0s InterpolantComputationTime, 67 NumberOfCodeBlocks, 67 NumberOfCodeBlocksAsserted, 1 NumberOfCheckSat, 0 ConstructedInterpolants, 0 QuantifiedInterpolants, 0 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 0 InterpolantComputations, 0 PerfectInterpolantSequences, 0/0 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! [2022-03-03 18:35:24,415 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...