./Ultimate.py --spec ../sv-benchmarks/c/properties/valid-memsafety.prp --file ../sv-benchmarks/c/ddv-machzwd/ddv_machzwd_pthread_mutex_unlock.i --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for memory safety (deref-memtrack) Using default analysis Version 03d7b7b3 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerMemDerefMemtrack.xml -i ../sv-benchmarks/c/ddv-machzwd/ddv_machzwd_pthread_mutex_unlock.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G valid-free) ) CHECK( init(main()), LTL(G valid-deref) ) CHECK( init(main()), LTL(G valid-memtrack) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 4aba0d481dbad425b1cb3ce4949768f5bfa91a070fed6a0c2b192c70ad920fc2 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 23:56:40,911 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 23:56:40,912 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 23:56:40,945 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 23:56:40,946 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 23:56:40,946 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 23:56:40,948 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 23:56:40,949 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 23:56:40,951 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 23:56:40,952 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 23:56:40,953 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 23:56:40,954 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 23:56:40,954 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 23:56:40,955 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 23:56:40,956 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 23:56:40,957 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 23:56:40,957 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 23:56:40,958 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 23:56:40,959 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 23:56:40,961 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 23:56:40,962 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 23:56:40,963 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 23:56:40,964 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 23:56:40,965 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 23:56:40,967 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 23:56:40,967 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 23:56:40,968 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 23:56:40,968 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 23:56:40,969 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 23:56:40,970 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 23:56:40,970 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 23:56:40,971 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 23:56:40,971 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 23:56:40,972 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 23:56:40,973 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 23:56:40,973 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 23:56:40,974 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 23:56:40,974 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 23:56:40,974 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 23:56:40,975 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 23:56:40,976 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 23:56:40,977 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-32bit-Automizer_Default.epf [2022-02-20 23:56:41,007 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 23:56:41,008 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 23:56:41,009 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 23:56:41,009 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 23:56:41,010 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 23:56:41,010 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 23:56:41,011 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 23:56:41,011 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 23:56:41,011 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 23:56:41,011 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 23:56:41,012 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 23:56:41,012 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-02-20 23:56:41,012 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 23:56:41,012 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 23:56:41,013 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 23:56:41,013 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2022-02-20 23:56:41,013 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2022-02-20 23:56:41,013 INFO L138 SettingsManager]: * SV-COMP memtrack compatibility mode=true [2022-02-20 23:56:41,013 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 23:56:41,014 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 23:56:41,014 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 23:56:41,014 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 23:56:41,014 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 23:56:41,014 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 23:56:41,014 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 23:56:41,015 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:56:41,015 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 23:56:41,015 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 23:56:41,015 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 23:56:41,015 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 23:56:41,016 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 Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G valid-free) ) CHECK( init(main()), LTL(G valid-deref) ) CHECK( init(main()), LTL(G valid-memtrack) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 4aba0d481dbad425b1cb3ce4949768f5bfa91a070fed6a0c2b192c70ad920fc2 [2022-02-20 23:56:41,234 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 23:56:41,251 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 23:56:41,253 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 23:56:41,254 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 23:56:41,255 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 23:56:41,256 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/ddv-machzwd/ddv_machzwd_pthread_mutex_unlock.i [2022-02-20 23:56:41,324 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/467ff25e9/3ef83b04abe3466a945073b5ba662eac/FLAG6fb7aec5f [2022-02-20 23:56:41,863 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 23:56:41,864 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/ddv-machzwd/ddv_machzwd_pthread_mutex_unlock.i [2022-02-20 23:56:41,892 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/467ff25e9/3ef83b04abe3466a945073b5ba662eac/FLAG6fb7aec5f [2022-02-20 23:56:42,132 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/467ff25e9/3ef83b04abe3466a945073b5ba662eac [2022-02-20 23:56:42,135 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 23:56:42,137 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 23:56:42,140 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 23:56:42,140 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 23:56:42,143 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 23:56:42,144 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:56:42" (1/1) ... [2022-02-20 23:56:42,145 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@b292692 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:56:42, skipping insertion in model container [2022-02-20 23:56:42,146 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:56:42" (1/1) ... [2022-02-20 23:56:42,151 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 23:56:42,221 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:56:42,405 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/ddv-machzwd/ddv_machzwd_pthread_mutex_unlock.i[472,485] [2022-02-20 23:56:43,202 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:56:43,245 ERROR L326 MainTranslator]: Unsupported Syntax: Found a cast between two array/pointer types where the value type is smaller than the cast-to type while using memory model HoenickeLindenmann_Original (while Not using bitvector translation) [2022-02-20 23:56:43,246 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@3bb91c1a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:56:43, skipping insertion in model container [2022-02-20 23:56:43,246 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 23:56:43,247 INFO L184 ToolchainWalker]: Toolchain execution was canceled (user or tool) before executing de.uni_freiburg.informatik.ultimate.boogie.procedureinliner [2022-02-20 23:56:43,249 INFO L158 Benchmark]: Toolchain (without parser) took 1110.69ms. Allocated memory was 94.4MB in the beginning and 115.3MB in the end (delta: 21.0MB). Free memory was 58.6MB in the beginning and 54.5MB in the end (delta: 4.1MB). Peak memory consumption was 27.7MB. Max. memory is 16.1GB. [2022-02-20 23:56:43,249 INFO L158 Benchmark]: CDTParser took 0.18ms. Allocated memory is still 94.4MB. Free memory was 49.3MB in the beginning and 49.2MB in the end (delta: 93.8kB). There was no memory consumed. Max. memory is 16.1GB. [2022-02-20 23:56:43,250 INFO L158 Benchmark]: CACSL2BoogieTranslator took 1106.49ms. Allocated memory was 94.4MB in the beginning and 115.3MB in the end (delta: 21.0MB). Free memory was 58.4MB in the beginning and 54.5MB in the end (delta: 3.8MB). Peak memory consumption was 27.7MB. Max. memory is 16.1GB. [2022-02-20 23:56:43,251 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.18ms. Allocated memory is still 94.4MB. Free memory was 49.3MB in the beginning and 49.2MB in the end (delta: 93.8kB). There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 1106.49ms. Allocated memory was 94.4MB in the beginning and 115.3MB in the end (delta: 21.0MB). Free memory was 58.4MB in the beginning and 54.5MB in the end (delta: 3.8MB). Peak memory consumption was 27.7MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: - UnsupportedSyntaxResult [Line: 2977]: Unsupported Syntax Found a cast between two array/pointer types where the value type is smaller than the cast-to type while using memory model HoenickeLindenmann_Original (while Not using bitvector translation) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request... --- End real Ultimate output --- Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis ### Bit-precise run ### Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerMemDerefMemtrack.xml -i ../sv-benchmarks/c/ddv-machzwd/ddv_machzwd_pthread_mutex_unlock.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G valid-free) ) CHECK( init(main()), LTL(G valid-deref) ) CHECK( init(main()), LTL(G valid-memtrack) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 4aba0d481dbad425b1cb3ce4949768f5bfa91a070fed6a0c2b192c70ad920fc2 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 23:56:45,051 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 23:56:45,054 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 23:56:45,104 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 23:56:45,104 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 23:56:45,107 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 23:56:45,109 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 23:56:45,113 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 23:56:45,116 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 23:56:45,121 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 23:56:45,123 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 23:56:45,127 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 23:56:45,128 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 23:56:45,130 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 23:56:45,132 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 23:56:45,135 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 23:56:45,136 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 23:56:45,137 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 23:56:45,139 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 23:56:45,144 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 23:56:45,145 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 23:56:45,146 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 23:56:45,148 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 23:56:45,149 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 23:56:45,155 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 23:56:45,155 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 23:56:45,156 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 23:56:45,157 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 23:56:45,158 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 23:56:45,158 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 23:56:45,159 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 23:56:45,159 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 23:56:45,161 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 23:56:45,161 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 23:56:45,162 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 23:56:45,163 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 23:56:45,163 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 23:56:45,164 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 23:56:45,164 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 23:56:45,165 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 23:56:45,166 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 23:56:45,167 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-32bit-Automizer_Bitvector.epf [2022-02-20 23:56:45,205 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 23:56:45,205 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 23:56:45,206 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 23:56:45,207 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 23:56:45,207 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 23:56:45,208 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 23:56:45,209 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 23:56:45,209 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 23:56:45,209 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 23:56:45,209 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 23:56:45,210 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 23:56:45,210 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-02-20 23:56:45,211 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 23:56:45,211 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 23:56:45,211 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 23:56:45,211 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2022-02-20 23:56:45,211 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2022-02-20 23:56:45,211 INFO L138 SettingsManager]: * SV-COMP memtrack compatibility mode=true [2022-02-20 23:56:45,212 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 23:56:45,212 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 23:56:45,212 INFO L138 SettingsManager]: * Use bitvectors instead of ints=true [2022-02-20 23:56:45,212 INFO L138 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2022-02-20 23:56:45,212 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 23:56:45,212 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 23:56:45,213 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 23:56:45,213 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 23:56:45,213 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 23:56:45,213 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:56:45,214 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 23:56:45,214 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 23:56:45,214 INFO L138 SettingsManager]: * Trace refinement strategy=WOLF [2022-02-20 23:56:45,214 INFO L138 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2022-02-20 23:56:45,214 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2022-02-20 23:56:45,215 INFO L138 SettingsManager]: * Logic for external solver=AUFBV 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.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G valid-free) ) CHECK( init(main()), LTL(G valid-deref) ) CHECK( init(main()), LTL(G valid-memtrack) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 4aba0d481dbad425b1cb3ce4949768f5bfa91a070fed6a0c2b192c70ad920fc2 [2022-02-20 23:56:45,497 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 23:56:45,527 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 23:56:45,529 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 23:56:45,530 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 23:56:45,532 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 23:56:45,533 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/ddv-machzwd/ddv_machzwd_pthread_mutex_unlock.i [2022-02-20 23:56:45,592 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c011bed05/21e00873217742489e2a5f9797a05f45/FLAG5f8269e80 [2022-02-20 23:56:46,192 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 23:56:46,193 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/ddv-machzwd/ddv_machzwd_pthread_mutex_unlock.i [2022-02-20 23:56:46,222 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c011bed05/21e00873217742489e2a5f9797a05f45/FLAG5f8269e80 [2022-02-20 23:56:46,579 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c011bed05/21e00873217742489e2a5f9797a05f45 [2022-02-20 23:56:46,581 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 23:56:46,582 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 23:56:46,586 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 23:56:46,586 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 23:56:46,589 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 23:56:46,589 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:56:46" (1/1) ... [2022-02-20 23:56:46,590 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@32c8a003 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:56:46, skipping insertion in model container [2022-02-20 23:56:46,591 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:56:46" (1/1) ... [2022-02-20 23:56:46,599 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 23:56:46,667 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:56:46,856 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/ddv-machzwd/ddv_machzwd_pthread_mutex_unlock.i[472,485] [2022-02-20 23:56:47,773 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:56:47,812 INFO L200 MainTranslator]: Restarting translation with changed settings: SettingsChange [mNewPreferredMemoryModel=HoenickeLindenmann_1ByteResolution] [2022-02-20 23:56:47,837 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:56:47,839 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/ddv-machzwd/ddv_machzwd_pthread_mutex_unlock.i[472,485] [2022-02-20 23:56:47,968 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:56:47,984 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 23:56:47,994 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/ddv-machzwd/ddv_machzwd_pthread_mutex_unlock.i[472,485] [2022-02-20 23:56:48,184 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:56:48,308 INFO L208 MainTranslator]: Completed translation [2022-02-20 23:56:48,309 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:56:48 WrapperNode [2022-02-20 23:56:48,309 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 23:56:48,310 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 23:56:48,310 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 23:56:48,310 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 23:56:48,316 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:56:48" (1/1) ... [2022-02-20 23:56:48,410 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:56:48" (1/1) ... [2022-02-20 23:56:48,510 INFO L137 Inliner]: procedures = 482, calls = 840, calls flagged for inlining = 54, calls inlined = 37, statements flattened = 970 [2022-02-20 23:56:48,511 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 23:56:48,512 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 23:56:48,512 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 23:56:48,512 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 23:56:48,519 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:56:48" (1/1) ... [2022-02-20 23:56:48,520 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:56:48" (1/1) ... [2022-02-20 23:56:48,544 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:56:48" (1/1) ... [2022-02-20 23:56:48,545 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:56:48" (1/1) ... [2022-02-20 23:56:48,605 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:56:48" (1/1) ... [2022-02-20 23:56:48,630 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:56:48" (1/1) ... [2022-02-20 23:56:48,644 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:56:48" (1/1) ... [2022-02-20 23:56:48,655 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 23:56:48,662 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 23:56:48,663 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 23:56:48,663 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 23:56:48,694 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:56:48" (1/1) ... [2022-02-20 23:56:48,700 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:56:48,709 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:56:48,725 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-02-20 23:56:48,747 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-02-20 23:56:48,762 INFO L130 BoogieDeclarations]: Found specification of procedure zf_timer_off [2022-02-20 23:56:48,762 INFO L138 BoogieDeclarations]: Found implementation of procedure zf_timer_off [2022-02-20 23:56:48,762 INFO L130 BoogieDeclarations]: Found specification of procedure ##fun~$Pointer$~X~$Pointer$~X~C_UINT~X~C_ULONG~TO~C_INT [2022-02-20 23:56:48,763 INFO L138 BoogieDeclarations]: Found implementation of procedure ##fun~$Pointer$~X~$Pointer$~X~C_UINT~X~C_ULONG~TO~C_INT [2022-02-20 23:56:48,763 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_begin [2022-02-20 23:56:48,763 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_atomic_begin [2022-02-20 23:56:48,763 INFO L130 BoogieDeclarations]: Found specification of procedure spin_unlock_irqrestore [2022-02-20 23:56:48,763 INFO L138 BoogieDeclarations]: Found implementation of procedure spin_unlock_irqrestore [2022-02-20 23:56:48,763 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 23:56:48,763 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE2 [2022-02-20 23:56:48,764 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1 [2022-02-20 23:56:48,764 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE4 [2022-02-20 23:56:48,764 INFO L130 BoogieDeclarations]: Found specification of procedure spin_unlock [2022-02-20 23:56:48,764 INFO L138 BoogieDeclarations]: Found implementation of procedure spin_unlock [2022-02-20 23:56:48,764 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_atomic_end [2022-02-20 23:56:48,764 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_atomic_end [2022-02-20 23:56:48,764 INFO L130 BoogieDeclarations]: Found specification of procedure zf_get_control [2022-02-20 23:56:48,764 INFO L138 BoogieDeclarations]: Found implementation of procedure zf_get_control [2022-02-20 23:56:48,764 INFO L130 BoogieDeclarations]: Found specification of procedure ##fun~$Pointer$~X~$Pointer$~TO~C_INT [2022-02-20 23:56:48,764 INFO L138 BoogieDeclarations]: Found implementation of procedure ##fun~$Pointer$~X~$Pointer$~TO~C_INT [2022-02-20 23:56:48,764 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 23:56:48,764 INFO L130 BoogieDeclarations]: Found specification of procedure request_region [2022-02-20 23:56:48,764 INFO L138 BoogieDeclarations]: Found implementation of procedure request_region [2022-02-20 23:56:48,765 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 23:56:48,765 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-02-20 23:56:48,765 INFO L130 BoogieDeclarations]: Found specification of procedure ##fun~$Pointer$~TO~VOID [2022-02-20 23:56:48,765 INFO L138 BoogieDeclarations]: Found implementation of procedure ##fun~$Pointer$~TO~VOID [2022-02-20 23:56:48,765 INFO L130 BoogieDeclarations]: Found specification of procedure spin_lock_irqsave [2022-02-20 23:56:48,765 INFO L138 BoogieDeclarations]: Found implementation of procedure spin_lock_irqsave [2022-02-20 23:56:48,765 INFO L130 BoogieDeclarations]: Found specification of procedure release_region [2022-02-20 23:56:48,765 INFO L138 BoogieDeclarations]: Found implementation of procedure release_region [2022-02-20 23:56:48,766 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 23:56:48,766 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 23:56:48,766 INFO L130 BoogieDeclarations]: Found specification of procedure spin_lock_init [2022-02-20 23:56:48,766 INFO L138 BoogieDeclarations]: Found implementation of procedure spin_lock_init [2022-02-20 23:56:48,766 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE8 [2022-02-20 23:56:48,766 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2022-02-20 23:56:48,767 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE2 [2022-02-20 23:56:48,767 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~$Pointer$ [2022-02-20 23:56:48,767 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-02-20 23:56:48,767 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-02-20 23:56:48,767 INFO L130 BoogieDeclarations]: Found specification of procedure del_timer [2022-02-20 23:56:48,767 INFO L138 BoogieDeclarations]: Found implementation of procedure del_timer [2022-02-20 23:56:48,768 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 23:56:48,768 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 23:56:48,768 INFO L130 BoogieDeclarations]: Found specification of procedure add_timer [2022-02-20 23:56:48,768 INFO L138 BoogieDeclarations]: Found implementation of procedure add_timer [2022-02-20 23:56:48,768 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE8 [2022-02-20 23:56:48,768 INFO L130 BoogieDeclarations]: Found specification of procedure cdev_add [2022-02-20 23:56:48,768 INFO L138 BoogieDeclarations]: Found implementation of procedure cdev_add [2022-02-20 23:56:48,769 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE1 [2022-02-20 23:56:48,770 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE2 [2022-02-20 23:56:48,770 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2022-02-20 23:56:48,770 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2022-02-20 23:56:48,771 INFO L130 BoogieDeclarations]: Found specification of procedure printk [2022-02-20 23:56:48,771 INFO L138 BoogieDeclarations]: Found implementation of procedure printk [2022-02-20 23:56:48,771 INFO L130 BoogieDeclarations]: Found specification of procedure outw [2022-02-20 23:56:48,771 INFO L138 BoogieDeclarations]: Found implementation of procedure outw [2022-02-20 23:56:48,772 INFO L130 BoogieDeclarations]: Found specification of procedure outb [2022-02-20 23:56:48,772 INFO L138 BoogieDeclarations]: Found implementation of procedure outb [2022-02-20 23:56:48,772 INFO L130 BoogieDeclarations]: Found specification of procedure misc_deregister [2022-02-20 23:56:48,772 INFO L138 BoogieDeclarations]: Found implementation of procedure misc_deregister [2022-02-20 23:56:48,772 INFO L130 BoogieDeclarations]: Found specification of procedure assert_context_process [2022-02-20 23:56:48,772 INFO L138 BoogieDeclarations]: Found implementation of procedure assert_context_process [2022-02-20 23:56:48,772 INFO L130 BoogieDeclarations]: Found specification of procedure zf_set_control [2022-02-20 23:56:48,772 INFO L138 BoogieDeclarations]: Found implementation of procedure zf_set_control [2022-02-20 23:56:48,773 INFO L130 BoogieDeclarations]: Found specification of procedure ##fun~$Pointer$~X~$Pointer$~X~C_ULONG~X~$Pointer$~TO~C_LONG [2022-02-20 23:56:48,773 INFO L138 BoogieDeclarations]: Found implementation of procedure ##fun~$Pointer$~X~$Pointer$~X~C_ULONG~X~$Pointer$~TO~C_LONG [2022-02-20 23:56:48,773 INFO L130 BoogieDeclarations]: Found specification of procedure zf_readw [2022-02-20 23:56:48,774 INFO L138 BoogieDeclarations]: Found implementation of procedure zf_readw [2022-02-20 23:56:48,774 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~intINTTYPE4 [2022-02-20 23:56:48,774 INFO L130 BoogieDeclarations]: Found specification of procedure zf_ping [2022-02-20 23:56:48,774 INFO L138 BoogieDeclarations]: Found implementation of procedure zf_ping [2022-02-20 23:56:48,774 INFO L130 BoogieDeclarations]: Found specification of procedure spin_lock [2022-02-20 23:56:48,774 INFO L138 BoogieDeclarations]: Found implementation of procedure spin_lock [2022-02-20 23:56:48,774 INFO L130 BoogieDeclarations]: Found specification of procedure ##fun~C_ULONG~TO~VOID [2022-02-20 23:56:48,774 INFO L138 BoogieDeclarations]: Found implementation of procedure ##fun~C_ULONG~TO~VOID [2022-02-20 23:56:49,122 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 23:56:49,124 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 23:56:54,715 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 23:56:54,735 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 23:56:54,736 INFO L299 CfgBuilder]: Removed 4 assume(true) statements. [2022-02-20 23:56:54,738 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:56:54 BoogieIcfgContainer [2022-02-20 23:56:54,739 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 23:56:54,740 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 23:56:54,740 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 23:56:54,743 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 23:56:54,744 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 11:56:46" (1/3) ... [2022-02-20 23:56:54,744 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1350af06 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:56:54, skipping insertion in model container [2022-02-20 23:56:54,744 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:56:48" (2/3) ... [2022-02-20 23:56:54,745 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1350af06 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:56:54, skipping insertion in model container [2022-02-20 23:56:54,745 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:56:54" (3/3) ... [2022-02-20 23:56:54,746 INFO L111 eAbstractionObserver]: Analyzing ICFG ddv_machzwd_pthread_mutex_unlock.i [2022-02-20 23:56:54,751 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 23:56:54,751 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 205 error locations. [2022-02-20 23:56:54,788 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 23:56:54,795 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=false, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, 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 [2022-02-20 23:56:54,795 INFO L340 AbstractCegarLoop]: Starting to check reachability of 205 error locations. [2022-02-20 23:56:54,829 INFO L276 IsEmpty]: Start isEmpty. Operand has 666 states, 356 states have (on average 1.8202247191011236) internal successors, (648), 566 states have internal predecessors, (648), 78 states have call successors, (78), 26 states have call predecessors, (78), 26 states have return successors, (78), 78 states have call predecessors, (78), 78 states have call successors, (78) [2022-02-20 23:56:54,837 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2022-02-20 23:56:54,838 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:56:54,839 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2022-02-20 23:56:54,839 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting spin_lock_initErr0REQUIRES_VIOLATION === [spin_lock_initErr0REQUIRES_VIOLATION, spin_lock_initErr1REQUIRES_VIOLATION, spin_lock_initErr2REQUIRES_VIOLATION, spin_lock_initErr3REQUIRES_VIOLATION (and 201 more)] === [2022-02-20 23:56:54,846 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:56:54,847 INFO L85 PathProgramCache]: Analyzing trace with hash 333908101, now seen corresponding path program 1 times [2022-02-20 23:56:54,861 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:56:54,861 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1063857265] [2022-02-20 23:56:54,862 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:56:54,862 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:56:54,863 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:56:54,865 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:56:54,868 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (2)] Waiting until timeout for monitored process [2022-02-20 23:56:55,303 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:56:55,320 INFO L263 TraceCheckSpWp]: Trace formula consists of 480 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 23:56:55,356 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:56:55,359 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:56:55,532 INFO L290 TraceCheckUtils]: 0: Hoare triple {669#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(35bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32);call #Ultimate.allocInit(34bv32, 4bv32);call #Ultimate.allocInit(44bv32, 5bv32);call #Ultimate.allocInit(31bv32, 6bv32);call #Ultimate.allocInit(4bv32, 7bv32);call write~init~intINTTYPE1(71bv8, 7bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(80bv8, 7bv32, 1bv32, 1bv32);call write~init~intINTTYPE1(76bv8, 7bv32, 2bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 7bv32, 3bv32, 1bv32);call #Ultimate.allocInit(75bv32, 8bv32);call #Ultimate.allocInit(18bv32, 9bv32);call #Ultimate.allocInit(73bv32, 10bv32);call #Ultimate.allocInit(44bv32, 11bv32);call #Ultimate.allocInit(43bv32, 12bv32);call #Ultimate.allocInit(39bv32, 13bv32);call #Ultimate.allocInit(69bv32, 14bv32);call #Ultimate.allocInit(9bv32, 15bv32);call #Ultimate.allocInit(6bv32, 16bv32);call write~init~intINTTYPE1(82bv8, 16bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(69bv8, 16bv32, 1bv32, 1bv32);call write~init~intINTTYPE1(83bv8, 16bv32, 2bv32, 1bv32);call write~init~intINTTYPE1(69bv8, 16bv32, 3bv32, 1bv32);call write~init~intINTTYPE1(84bv8, 16bv32, 4bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 16bv32, 5bv32, 1bv32);call #Ultimate.allocInit(4bv32, 17bv32);call write~init~intINTTYPE1(83bv8, 17bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(77bv8, 17bv32, 1bv32, 1bv32);call write~init~intINTTYPE1(73bv8, 17bv32, 2bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 17bv32, 3bv32, 1bv32);call #Ultimate.allocInit(4bv32, 18bv32);call write~init~intINTTYPE1(78bv8, 18bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(77bv8, 18bv32, 1bv32, 1bv32);call write~init~intINTTYPE1(73bv8, 18bv32, 2bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 18bv32, 3bv32, 1bv32);call #Ultimate.allocInit(4bv32, 19bv32);call write~init~intINTTYPE1(83bv8, 19bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(67bv8, 19bv32, 1bv32, 1bv32);call write~init~intINTTYPE1(73bv8, 19bv32, 2bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 19bv32, 3bv32, 1bv32);call #Ultimate.allocInit(40bv32, 20bv32);call #Ultimate.allocInit(58bv32, 21bv32);call #Ultimate.allocInit(31bv32, 22bv32);call #Ultimate.allocInit(36bv32, 23bv32);call #Ultimate.allocInit(14bv32, 24bv32);call #Ultimate.allocInit(35bv32, 25bv32);call #Ultimate.allocInit(44bv32, 26bv32);~current_execution_context~0 := 0bv32;~_ddv_module_init~0.base, ~_ddv_module_init~0.offset := 0bv32, 0bv32;~_ddv_module_exit~0.base, ~_ddv_module_exit~0.offset := 0bv32, 0bv32;~jiffies~0 := 0bv32;~_ddv_module_author~0 := ~const~array~~LB~bv32~RB~bv8();~_ddv_module_description~0 := ~const~array~~LB~bv32~RB~bv8();~_ddv_module_license~0 := ~_ddv_module_license~0[0bv32 := 71bv8];~_ddv_module_license~0 := ~_ddv_module_license~0[1bv32 := 80bv8];~_ddv_module_license~0 := ~_ddv_module_license~0[2bv32 := 76bv8];~_ddv_module_license~0 := ~_ddv_module_license~0[3bv32 := 0bv8];~nowayout~0 := 0bv32;~_ddv_module_param_nowayout~0 := ~const~array~~LB~bv32~RB~bv8();~#zf_info~0.base, ~#zf_info~0.offset := 27bv32, 0bv32;call #Ultimate.allocInit(40bv32, 27bv32);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#zf_info~0.base);call write~unchecked~intINTTYPE4(33024bv32, ~#zf_info~0.base, ~#zf_info~0.offset, 4bv32);call write~unchecked~intINTTYPE4(1bv32, ~#zf_info~0.base, ~bvadd32(4bv32, ~#zf_info~0.offset), 4bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(8bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(9bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(10bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(11bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(12bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(13bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(14bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(15bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(16bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(17bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(18bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(19bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(20bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(21bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(22bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(23bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(24bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(25bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(26bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(27bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(28bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(29bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(30bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(31bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(32bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(33bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(34bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(35bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(36bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(37bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(38bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(39bv32, ~#zf_info~0.offset), 1bv32);~action~0 := 0bv32;~_ddv_module_param_action~0 := ~const~array~~LB~bv32~RB~bv8();~zf_action~0 := 2048bv32;~#zf_is_open~0.base, ~#zf_is_open~0.offset := 28bv32, 0bv32;call #Ultimate.allocInit(4bv32, 28bv32);call write~init~intINTTYPE4(0bv32, ~#zf_is_open~0.base, ~#zf_is_open~0.offset, 4bv32);~zf_expect_close~0 := 0bv8;~#zf_lock~0.base, ~#zf_lock~0.offset := 29bv32, 0bv32;call #Ultimate.allocInit(8bv32, 29bv32);call write~init~intINTTYPE4(0bv32, ~#zf_lock~0.base, ~#zf_lock~0.offset, 4bv32);call write~init~intINTTYPE4(0bv32, ~#zf_lock~0.base, ~bvadd32(4bv32, ~#zf_lock~0.offset), 4bv32);~#zf_port_lock~0.base, ~#zf_port_lock~0.offset := 30bv32, 0bv32;call #Ultimate.allocInit(8bv32, 30bv32);call write~init~intINTTYPE4(0bv32, ~#zf_port_lock~0.base, ~#zf_port_lock~0.offset, 4bv32);call write~init~intINTTYPE4(0bv32, ~#zf_port_lock~0.base, ~bvadd32(4bv32, ~#zf_port_lock~0.offset), 4bv32);~#zf_timer~0.base, ~#zf_timer~0.offset := 31bv32, 0bv32;call #Ultimate.allocInit(16bv32, 31bv32);call write~init~intINTTYPE4(0bv32, ~#zf_timer~0.base, ~#zf_timer~0.offset, 4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#zf_timer~0.base, ~bvadd32(4bv32, ~#zf_timer~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#zf_timer~0.base, ~bvadd32(8bv32, ~#zf_timer~0.offset), 4bv32);call write~init~intINTTYPE2(0bv16, ~#zf_timer~0.base, ~bvadd32(12bv32, ~#zf_timer~0.offset), 2bv32);call write~init~intINTTYPE2(0bv16, ~#zf_timer~0.base, ~bvadd32(14bv32, ~#zf_timer~0.offset), 2bv32);~next_heartbeat~0 := 0bv32;~#zf_fops~0.base, ~#zf_fops~0.offset := 32bv32, 0bv32;call #Ultimate.allocInit(100bv32, 32bv32);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#zf_fops~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#zf_fops~0.base);call write~unchecked~$Pointer$(0bv32, 0bv32, ~#zf_fops~0.base, ~#zf_fops~0.offset, 4bv32);call write~unchecked~$Pointer$(#funAddr~no_llseek.base, #funAddr~no_llseek.offset, ~#zf_fops~0.base, ~bvadd32(4bv32, ~#zf_fops~0.offset), 4bv32);call write~unchecked~$Pointer$(#funAddr~zf_write.base, #funAddr~zf_write.offset, ~#zf_fops~0.base, ~bvadd32(12bv32, ~#zf_fops~0.offset), 4bv32);call write~unchecked~$Pointer$(#funAddr~zf_ioctl.base, #funAddr~zf_ioctl.offset, ~#zf_fops~0.base, ~bvadd32(24bv32, ~#zf_fops~0.offset), 4bv32);call write~unchecked~$Pointer$(#funAddr~zf_open.base, #funAddr~zf_open.offset, ~#zf_fops~0.base, ~bvadd32(40bv32, ~#zf_fops~0.offset), 4bv32);call write~unchecked~$Pointer$(#funAddr~zf_close.base, #funAddr~zf_close.offset, ~#zf_fops~0.base, ~bvadd32(48bv32, ~#zf_fops~0.offset), 4bv32);~#zf_miscdev~0.base, ~#zf_miscdev~0.offset := 33bv32, 0bv32;call #Ultimate.allocInit(12bv32, 33bv32);call write~init~intINTTYPE4(130bv32, ~#zf_miscdev~0.base, ~#zf_miscdev~0.offset, 4bv32);call write~init~$Pointer$(15bv32, 0bv32, ~#zf_miscdev~0.base, ~bvadd32(4bv32, ~#zf_miscdev~0.offset), 4bv32);call write~init~$Pointer$(~#zf_fops~0.base, ~#zf_fops~0.offset, ~#zf_miscdev~0.base, ~bvadd32(8bv32, ~#zf_miscdev~0.offset), 4bv32);~#zf_notifier~0.base, ~#zf_notifier~0.offset := 34bv32, 0bv32;call #Ultimate.allocInit(12bv32, 34bv32);call write~init~$Pointer$(#funAddr~zf_notify_sys.base, #funAddr~zf_notify_sys.offset, ~#zf_notifier~0.base, ~#zf_notifier~0.offset, 4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#zf_notifier~0.base, ~bvadd32(4bv32, ~#zf_notifier~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#zf_notifier~0.base, ~bvadd32(8bv32, ~#zf_notifier~0.offset), 4bv32);~_ddv_tmp_init~0.base, ~_ddv_tmp_init~0.offset := #funAddr~zf_init.base, #funAddr~zf_init.offset;~_ddv_tmp_exit~0.base, ~_ddv_tmp_exit~0.offset := #funAddr~zf_exit.base, #funAddr~zf_exit.offset;~#fixed_cdev~0.base, ~#fixed_cdev~0.offset := 35bv32, 0bv32;call #Ultimate.allocInit(16bv32, 35bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#fixed_cdev~0.base, ~#fixed_cdev~0.offset, 4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#fixed_cdev~0.base, ~bvadd32(4bv32, ~#fixed_cdev~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#fixed_cdev~0.base, ~bvadd32(8bv32, ~#fixed_cdev~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#fixed_cdev~0.base, ~bvadd32(12bv32, ~#fixed_cdev~0.offset), 4bv32);~fixed_cdev_used~0 := 0bv32;~number_cdev_registered~0 := 0bv16;~#cdev_registered~0.base, ~#cdev_registered~0.offset := 36bv32, 0bv32;call #Ultimate.allocInit(64bv32, 36bv32);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#cdev_registered~0.base);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#cdev_registered~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#cdev_registered~0.base);~number_genhd_registered~0 := 0bv16;~number_fixed_genhd_used~0 := 0bv16;~#fixed_gendisk~0.base, ~#fixed_gendisk~0.offset := 37bv32, 0bv32;call #Ultimate.allocInit(1280bv32, 37bv32);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#fixed_gendisk~0.base);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#fixed_gendisk~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#fixed_gendisk~0.base);~#genhd_registered~0.base, ~#genhd_registered~0.offset := 38bv32, 0bv32;call #Ultimate.allocInit(1460bv32, 38bv32);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#genhd_registered~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#genhd_registered~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#genhd_registered~0.base);~#registered_pci_driver~0.base, ~#registered_pci_driver~0.offset := 39bv32, 0bv32;call #Ultimate.allocInit(236bv32, 39bv32);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#registered_pci_driver~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#registered_pci_driver~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#registered_pci_driver~0.base);~#registered_irq~0.base, ~#registered_irq~0.offset := 40bv32, 0bv32;call #Ultimate.allocInit(128bv32, 40bv32);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#registered_irq~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#registered_irq~0.base);~number_tasklet_registered~0 := 0bv16;~#tasklet_registered~0.base, ~#tasklet_registered~0.offset := 41bv32, 0bv32;call #Ultimate.allocInit(6bv32, 41bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#tasklet_registered~0.base, ~#tasklet_registered~0.offset, 4bv32);call write~init~intINTTYPE2(0bv16, ~#tasklet_registered~0.base, ~bvadd32(4bv32, ~#tasklet_registered~0.offset), 2bv32);~number_timer_registered~0 := 0bv16;~#timer_registered~0.base, ~#timer_registered~0.offset := 42bv32, 0bv32;call #Ultimate.allocInit(4bv32, 42bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#timer_registered~0.base, ~#timer_registered~0.offset, 4bv32);~#shared_workqueue~0.base, ~#shared_workqueue~0.offset := 43bv32, 0bv32;call #Ultimate.allocInit(40bv32, 43bv32);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#shared_workqueue~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#shared_workqueue~0.base);~#kernel_lock~0.base, ~#kernel_lock~0.offset := 44bv32, 0bv32;call #Ultimate.allocInit(8bv32, 44bv32);call write~init~intINTTYPE4(0bv32, ~#kernel_lock~0.base, ~#kernel_lock~0.offset, 4bv32);call write~init~intINTTYPE4(0bv32, ~#kernel_lock~0.base, ~bvadd32(4bv32, ~#kernel_lock~0.offset), 4bv32);~#fixed_request_queue~0.base, ~#fixed_request_queue~0.offset := 45bv32, 0bv32;call #Ultimate.allocInit(460bv32, 45bv32);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#fixed_request_queue~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#fixed_request_queue~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#fixed_request_queue~0.base);~number_request_queue_used~0 := 0bv32;~proc_root_driver~0.base, ~proc_root_driver~0.offset := 0bv32, 0bv32;~#global_tty_driver~0.base, ~#global_tty_driver~0.offset := 46bv32, 0bv32;call #Ultimate.allocInit(200bv32, 46bv32);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#global_tty_driver~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#global_tty_driver~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#global_tty_driver~0.base);~ddv_ioport_request_start~0 := 0bv32;~ddv_ioport_request_len~0 := 0bv32; {674#(and (= |~#kernel_lock~0.base| (_ bv44 32)) (= (select |#valid| (_ bv44 32)) (_ bv1 1)))} is VALID [2022-02-20 23:56:55,536 INFO L290 TraceCheckUtils]: 1: Hoare triple {674#(and (= |~#kernel_lock~0.base| (_ bv44 32)) (= (select |#valid| (_ bv44 32)) (_ bv1 1)))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret231#1;~_ddv_module_init~0.base, ~_ddv_module_init~0.offset := #funAddr~zf_init.base, #funAddr~zf_init.offset;~_ddv_module_exit~0.base, ~_ddv_module_exit~0.offset := #funAddr~zf_exit.base, #funAddr~zf_exit.offset;assume { :begin_inline_call_ddv } true;havoc call_ddv_#res#1;havoc call_ddv_#t~ret303#1, call_ddv_~err~0#1;havoc call_ddv_~err~0#1;~current_execution_context~0 := 1bv32;assume { :begin_inline_init_kernel } true;havoc init_kernel_#t~post299#1, init_kernel_#t~post300#1, init_kernel_~i~1#1;havoc init_kernel_~i~1#1; {674#(and (= |~#kernel_lock~0.base| (_ bv44 32)) (= (select |#valid| (_ bv44 32)) (_ bv1 1)))} is VALID [2022-02-20 23:56:55,537 INFO L272 TraceCheckUtils]: 2: Hoare triple {674#(and (= |~#kernel_lock~0.base| (_ bv44 32)) (= (select |#valid| (_ bv44 32)) (_ bv1 1)))} call spin_lock_init(~#kernel_lock~0.base, ~#kernel_lock~0.offset); {681#(and (= (select |#valid| (_ bv44 32)) (_ bv1 1)) (= |spin_lock_init_#in~lock.base| (_ bv44 32)))} is VALID [2022-02-20 23:56:55,538 INFO L290 TraceCheckUtils]: 3: Hoare triple {681#(and (= (select |#valid| (_ bv44 32)) (_ bv1 1)) (= |spin_lock_init_#in~lock.base| (_ bv44 32)))} ~lock.base, ~lock.offset := #in~lock.base, #in~lock.offset; {685#(and (= spin_lock_init_~lock.base (_ bv44 32)) (= (select |#valid| (_ bv44 32)) (_ bv1 1)))} is VALID [2022-02-20 23:56:55,539 INFO L290 TraceCheckUtils]: 4: Hoare triple {685#(and (= spin_lock_init_~lock.base (_ bv44 32)) (= (select |#valid| (_ bv44 32)) (_ bv1 1)))} assume !(1bv1 == #valid[~lock.base]); {670#false} is VALID [2022-02-20 23:56:55,540 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:56:55,540 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:56:55,541 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:56:55,541 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1063857265] [2022-02-20 23:56:55,541 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1063857265] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:56:55,541 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:56:55,542 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:56:55,543 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [439553976] [2022-02-20 23:56:55,544 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:56:55,548 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 1.0) internal successors, (4), 3 states have internal predecessors, (4), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 5 [2022-02-20 23:56:55,549 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:56:55,551 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 1.0) internal successors, (4), 3 states have internal predecessors, (4), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:56:55,582 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 5 edges. 5 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:56:55,582 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:56:55,583 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:56:55,601 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:56:55,602 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:56:55,607 INFO L87 Difference]: Start difference. First operand has 666 states, 356 states have (on average 1.8202247191011236) internal successors, (648), 566 states have internal predecessors, (648), 78 states have call successors, (78), 26 states have call predecessors, (78), 26 states have return successors, (78), 78 states have call predecessors, (78), 78 states have call successors, (78) Second operand has 5 states, 4 states have (on average 1.0) internal successors, (4), 3 states have internal predecessors, (4), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:56:59,674 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.03s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, BitVec], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-02-20 23:57:01,687 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, BitVec], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-02-20 23:57:11,818 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:11,818 INFO L93 Difference]: Finished difference Result 1204 states and 1443 transitions. [2022-02-20 23:57:11,819 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:57:11,819 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 1.0) internal successors, (4), 3 states have internal predecessors, (4), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 5 [2022-02-20 23:57:11,819 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:11,821 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 1.0) internal successors, (4), 3 states have internal predecessors, (4), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:11,863 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 1453 transitions. [2022-02-20 23:57:11,864 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 1.0) internal successors, (4), 3 states have internal predecessors, (4), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:11,894 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 1453 transitions. [2022-02-20 23:57:11,894 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 1453 transitions. [2022-02-20 23:57:13,422 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 1453 edges. 1453 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:13,661 INFO L225 Difference]: With dead ends: 1204 [2022-02-20 23:57:13,661 INFO L226 Difference]: Without dead ends: 1200 [2022-02-20 23:57:13,662 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:57:13,667 INFO L933 BasicCegarLoop]: 759 mSDtfsCounter, 687 mSDsluCounter, 1725 mSDsCounter, 0 mSdLazyCounter, 1106 mSolverCounterSat, 4 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 688 SdHoareTripleChecker+Valid, 2484 SdHoareTripleChecker+Invalid, 1112 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.1s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 1106 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.9s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:13,668 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [688 Valid, 2484 Invalid, 1112 Unknown, 0 Unchecked, 0.1s Time], IncrementalHoareTripleChecker [4 Valid, 1106 Invalid, 2 Unknown, 0 Unchecked, 6.9s Time] [2022-02-20 23:57:13,684 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1200 states. [2022-02-20 23:57:13,753 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1200 to 987. [2022-02-20 23:57:13,754 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:13,761 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1200 states. Second operand has 987 states, 594 states have (on average 1.803030303030303) internal successors, (1071), 814 states have internal predecessors, (1071), 138 states have call successors, (138), 50 states have call predecessors, (138), 50 states have return successors, (138), 131 states have call predecessors, (138), 138 states have call successors, (138) [2022-02-20 23:57:13,765 INFO L74 IsIncluded]: Start isIncluded. First operand 1200 states. Second operand has 987 states, 594 states have (on average 1.803030303030303) internal successors, (1071), 814 states have internal predecessors, (1071), 138 states have call successors, (138), 50 states have call predecessors, (138), 50 states have return successors, (138), 131 states have call predecessors, (138), 138 states have call successors, (138) [2022-02-20 23:57:13,769 INFO L87 Difference]: Start difference. First operand 1200 states. Second operand has 987 states, 594 states have (on average 1.803030303030303) internal successors, (1071), 814 states have internal predecessors, (1071), 138 states have call successors, (138), 50 states have call predecessors, (138), 50 states have return successors, (138), 131 states have call predecessors, (138), 138 states have call successors, (138) [2022-02-20 23:57:13,860 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:13,861 INFO L93 Difference]: Finished difference Result 1200 states and 1439 transitions. [2022-02-20 23:57:13,861 INFO L276 IsEmpty]: Start isEmpty. Operand 1200 states and 1439 transitions. [2022-02-20 23:57:13,870 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:13,871 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:13,875 INFO L74 IsIncluded]: Start isIncluded. First operand has 987 states, 594 states have (on average 1.803030303030303) internal successors, (1071), 814 states have internal predecessors, (1071), 138 states have call successors, (138), 50 states have call predecessors, (138), 50 states have return successors, (138), 131 states have call predecessors, (138), 138 states have call successors, (138) Second operand 1200 states. [2022-02-20 23:57:13,882 INFO L87 Difference]: Start difference. First operand has 987 states, 594 states have (on average 1.803030303030303) internal successors, (1071), 814 states have internal predecessors, (1071), 138 states have call successors, (138), 50 states have call predecessors, (138), 50 states have return successors, (138), 131 states have call predecessors, (138), 138 states have call successors, (138) Second operand 1200 states. [2022-02-20 23:57:13,962 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:13,962 INFO L93 Difference]: Finished difference Result 1200 states and 1439 transitions. [2022-02-20 23:57:13,962 INFO L276 IsEmpty]: Start isEmpty. Operand 1200 states and 1439 transitions. [2022-02-20 23:57:13,970 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:13,971 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:13,971 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:13,971 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:13,974 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 987 states, 594 states have (on average 1.803030303030303) internal successors, (1071), 814 states have internal predecessors, (1071), 138 states have call successors, (138), 50 states have call predecessors, (138), 50 states have return successors, (138), 131 states have call predecessors, (138), 138 states have call successors, (138) [2022-02-20 23:57:14,049 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 987 states to 987 states and 1347 transitions. [2022-02-20 23:57:14,050 INFO L78 Accepts]: Start accepts. Automaton has 987 states and 1347 transitions. Word has length 5 [2022-02-20 23:57:14,050 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:14,051 INFO L470 AbstractCegarLoop]: Abstraction has 987 states and 1347 transitions. [2022-02-20 23:57:14,052 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 1.0) internal successors, (4), 3 states have internal predecessors, (4), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:14,052 INFO L276 IsEmpty]: Start isEmpty. Operand 987 states and 1347 transitions. [2022-02-20 23:57:14,052 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2022-02-20 23:57:14,053 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:14,054 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2022-02-20 23:57:14,094 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (2)] Forceful destruction successful, exit code 0 [2022-02-20 23:57:14,265 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:57:14,265 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting spin_lock_initErr1REQUIRES_VIOLATION === [spin_lock_initErr0REQUIRES_VIOLATION, spin_lock_initErr1REQUIRES_VIOLATION, spin_lock_initErr2REQUIRES_VIOLATION, spin_lock_initErr3REQUIRES_VIOLATION (and 201 more)] === [2022-02-20 23:57:14,266 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:14,266 INFO L85 PathProgramCache]: Analyzing trace with hash 333908102, now seen corresponding path program 1 times [2022-02-20 23:57:14,267 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:57:14,267 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1952281711] [2022-02-20 23:57:14,267 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:14,267 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:57:14,267 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:57:14,268 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:57:14,271 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (3)] Waiting until timeout for monitored process [2022-02-20 23:57:14,643 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:14,659 INFO L263 TraceCheckSpWp]: Trace formula consists of 480 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 23:57:14,681 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:14,682 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:14,795 INFO L290 TraceCheckUtils]: 0: Hoare triple {5283#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(35bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32);call #Ultimate.allocInit(34bv32, 4bv32);call #Ultimate.allocInit(44bv32, 5bv32);call #Ultimate.allocInit(31bv32, 6bv32);call #Ultimate.allocInit(4bv32, 7bv32);call write~init~intINTTYPE1(71bv8, 7bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(80bv8, 7bv32, 1bv32, 1bv32);call write~init~intINTTYPE1(76bv8, 7bv32, 2bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 7bv32, 3bv32, 1bv32);call #Ultimate.allocInit(75bv32, 8bv32);call #Ultimate.allocInit(18bv32, 9bv32);call #Ultimate.allocInit(73bv32, 10bv32);call #Ultimate.allocInit(44bv32, 11bv32);call #Ultimate.allocInit(43bv32, 12bv32);call #Ultimate.allocInit(39bv32, 13bv32);call #Ultimate.allocInit(69bv32, 14bv32);call #Ultimate.allocInit(9bv32, 15bv32);call #Ultimate.allocInit(6bv32, 16bv32);call write~init~intINTTYPE1(82bv8, 16bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(69bv8, 16bv32, 1bv32, 1bv32);call write~init~intINTTYPE1(83bv8, 16bv32, 2bv32, 1bv32);call write~init~intINTTYPE1(69bv8, 16bv32, 3bv32, 1bv32);call write~init~intINTTYPE1(84bv8, 16bv32, 4bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 16bv32, 5bv32, 1bv32);call #Ultimate.allocInit(4bv32, 17bv32);call write~init~intINTTYPE1(83bv8, 17bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(77bv8, 17bv32, 1bv32, 1bv32);call write~init~intINTTYPE1(73bv8, 17bv32, 2bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 17bv32, 3bv32, 1bv32);call #Ultimate.allocInit(4bv32, 18bv32);call write~init~intINTTYPE1(78bv8, 18bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(77bv8, 18bv32, 1bv32, 1bv32);call write~init~intINTTYPE1(73bv8, 18bv32, 2bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 18bv32, 3bv32, 1bv32);call #Ultimate.allocInit(4bv32, 19bv32);call write~init~intINTTYPE1(83bv8, 19bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(67bv8, 19bv32, 1bv32, 1bv32);call write~init~intINTTYPE1(73bv8, 19bv32, 2bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 19bv32, 3bv32, 1bv32);call #Ultimate.allocInit(40bv32, 20bv32);call #Ultimate.allocInit(58bv32, 21bv32);call #Ultimate.allocInit(31bv32, 22bv32);call #Ultimate.allocInit(36bv32, 23bv32);call #Ultimate.allocInit(14bv32, 24bv32);call #Ultimate.allocInit(35bv32, 25bv32);call #Ultimate.allocInit(44bv32, 26bv32);~current_execution_context~0 := 0bv32;~_ddv_module_init~0.base, ~_ddv_module_init~0.offset := 0bv32, 0bv32;~_ddv_module_exit~0.base, ~_ddv_module_exit~0.offset := 0bv32, 0bv32;~jiffies~0 := 0bv32;~_ddv_module_author~0 := ~const~array~~LB~bv32~RB~bv8();~_ddv_module_description~0 := ~const~array~~LB~bv32~RB~bv8();~_ddv_module_license~0 := ~_ddv_module_license~0[0bv32 := 71bv8];~_ddv_module_license~0 := ~_ddv_module_license~0[1bv32 := 80bv8];~_ddv_module_license~0 := ~_ddv_module_license~0[2bv32 := 76bv8];~_ddv_module_license~0 := ~_ddv_module_license~0[3bv32 := 0bv8];~nowayout~0 := 0bv32;~_ddv_module_param_nowayout~0 := ~const~array~~LB~bv32~RB~bv8();~#zf_info~0.base, ~#zf_info~0.offset := 27bv32, 0bv32;call #Ultimate.allocInit(40bv32, 27bv32);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#zf_info~0.base);call write~unchecked~intINTTYPE4(33024bv32, ~#zf_info~0.base, ~#zf_info~0.offset, 4bv32);call write~unchecked~intINTTYPE4(1bv32, ~#zf_info~0.base, ~bvadd32(4bv32, ~#zf_info~0.offset), 4bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(8bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(9bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(10bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(11bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(12bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(13bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(14bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(15bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(16bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(17bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(18bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(19bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(20bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(21bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(22bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(23bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(24bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(25bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(26bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(27bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(28bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(29bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(30bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(31bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(32bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(33bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(34bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(35bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(36bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(37bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(38bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(39bv32, ~#zf_info~0.offset), 1bv32);~action~0 := 0bv32;~_ddv_module_param_action~0 := ~const~array~~LB~bv32~RB~bv8();~zf_action~0 := 2048bv32;~#zf_is_open~0.base, ~#zf_is_open~0.offset := 28bv32, 0bv32;call #Ultimate.allocInit(4bv32, 28bv32);call write~init~intINTTYPE4(0bv32, ~#zf_is_open~0.base, ~#zf_is_open~0.offset, 4bv32);~zf_expect_close~0 := 0bv8;~#zf_lock~0.base, ~#zf_lock~0.offset := 29bv32, 0bv32;call #Ultimate.allocInit(8bv32, 29bv32);call write~init~intINTTYPE4(0bv32, ~#zf_lock~0.base, ~#zf_lock~0.offset, 4bv32);call write~init~intINTTYPE4(0bv32, ~#zf_lock~0.base, ~bvadd32(4bv32, ~#zf_lock~0.offset), 4bv32);~#zf_port_lock~0.base, ~#zf_port_lock~0.offset := 30bv32, 0bv32;call #Ultimate.allocInit(8bv32, 30bv32);call write~init~intINTTYPE4(0bv32, ~#zf_port_lock~0.base, ~#zf_port_lock~0.offset, 4bv32);call write~init~intINTTYPE4(0bv32, ~#zf_port_lock~0.base, ~bvadd32(4bv32, ~#zf_port_lock~0.offset), 4bv32);~#zf_timer~0.base, ~#zf_timer~0.offset := 31bv32, 0bv32;call #Ultimate.allocInit(16bv32, 31bv32);call write~init~intINTTYPE4(0bv32, ~#zf_timer~0.base, ~#zf_timer~0.offset, 4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#zf_timer~0.base, ~bvadd32(4bv32, ~#zf_timer~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#zf_timer~0.base, ~bvadd32(8bv32, ~#zf_timer~0.offset), 4bv32);call write~init~intINTTYPE2(0bv16, ~#zf_timer~0.base, ~bvadd32(12bv32, ~#zf_timer~0.offset), 2bv32);call write~init~intINTTYPE2(0bv16, ~#zf_timer~0.base, ~bvadd32(14bv32, ~#zf_timer~0.offset), 2bv32);~next_heartbeat~0 := 0bv32;~#zf_fops~0.base, ~#zf_fops~0.offset := 32bv32, 0bv32;call #Ultimate.allocInit(100bv32, 32bv32);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#zf_fops~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#zf_fops~0.base);call write~unchecked~$Pointer$(0bv32, 0bv32, ~#zf_fops~0.base, ~#zf_fops~0.offset, 4bv32);call write~unchecked~$Pointer$(#funAddr~no_llseek.base, #funAddr~no_llseek.offset, ~#zf_fops~0.base, ~bvadd32(4bv32, ~#zf_fops~0.offset), 4bv32);call write~unchecked~$Pointer$(#funAddr~zf_write.base, #funAddr~zf_write.offset, ~#zf_fops~0.base, ~bvadd32(12bv32, ~#zf_fops~0.offset), 4bv32);call write~unchecked~$Pointer$(#funAddr~zf_ioctl.base, #funAddr~zf_ioctl.offset, ~#zf_fops~0.base, ~bvadd32(24bv32, ~#zf_fops~0.offset), 4bv32);call write~unchecked~$Pointer$(#funAddr~zf_open.base, #funAddr~zf_open.offset, ~#zf_fops~0.base, ~bvadd32(40bv32, ~#zf_fops~0.offset), 4bv32);call write~unchecked~$Pointer$(#funAddr~zf_close.base, #funAddr~zf_close.offset, ~#zf_fops~0.base, ~bvadd32(48bv32, ~#zf_fops~0.offset), 4bv32);~#zf_miscdev~0.base, ~#zf_miscdev~0.offset := 33bv32, 0bv32;call #Ultimate.allocInit(12bv32, 33bv32);call write~init~intINTTYPE4(130bv32, ~#zf_miscdev~0.base, ~#zf_miscdev~0.offset, 4bv32);call write~init~$Pointer$(15bv32, 0bv32, ~#zf_miscdev~0.base, ~bvadd32(4bv32, ~#zf_miscdev~0.offset), 4bv32);call write~init~$Pointer$(~#zf_fops~0.base, ~#zf_fops~0.offset, ~#zf_miscdev~0.base, ~bvadd32(8bv32, ~#zf_miscdev~0.offset), 4bv32);~#zf_notifier~0.base, ~#zf_notifier~0.offset := 34bv32, 0bv32;call #Ultimate.allocInit(12bv32, 34bv32);call write~init~$Pointer$(#funAddr~zf_notify_sys.base, #funAddr~zf_notify_sys.offset, ~#zf_notifier~0.base, ~#zf_notifier~0.offset, 4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#zf_notifier~0.base, ~bvadd32(4bv32, ~#zf_notifier~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#zf_notifier~0.base, ~bvadd32(8bv32, ~#zf_notifier~0.offset), 4bv32);~_ddv_tmp_init~0.base, ~_ddv_tmp_init~0.offset := #funAddr~zf_init.base, #funAddr~zf_init.offset;~_ddv_tmp_exit~0.base, ~_ddv_tmp_exit~0.offset := #funAddr~zf_exit.base, #funAddr~zf_exit.offset;~#fixed_cdev~0.base, ~#fixed_cdev~0.offset := 35bv32, 0bv32;call #Ultimate.allocInit(16bv32, 35bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#fixed_cdev~0.base, ~#fixed_cdev~0.offset, 4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#fixed_cdev~0.base, ~bvadd32(4bv32, ~#fixed_cdev~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#fixed_cdev~0.base, ~bvadd32(8bv32, ~#fixed_cdev~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#fixed_cdev~0.base, ~bvadd32(12bv32, ~#fixed_cdev~0.offset), 4bv32);~fixed_cdev_used~0 := 0bv32;~number_cdev_registered~0 := 0bv16;~#cdev_registered~0.base, ~#cdev_registered~0.offset := 36bv32, 0bv32;call #Ultimate.allocInit(64bv32, 36bv32);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#cdev_registered~0.base);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#cdev_registered~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#cdev_registered~0.base);~number_genhd_registered~0 := 0bv16;~number_fixed_genhd_used~0 := 0bv16;~#fixed_gendisk~0.base, ~#fixed_gendisk~0.offset := 37bv32, 0bv32;call #Ultimate.allocInit(1280bv32, 37bv32);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#fixed_gendisk~0.base);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#fixed_gendisk~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#fixed_gendisk~0.base);~#genhd_registered~0.base, ~#genhd_registered~0.offset := 38bv32, 0bv32;call #Ultimate.allocInit(1460bv32, 38bv32);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#genhd_registered~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#genhd_registered~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#genhd_registered~0.base);~#registered_pci_driver~0.base, ~#registered_pci_driver~0.offset := 39bv32, 0bv32;call #Ultimate.allocInit(236bv32, 39bv32);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#registered_pci_driver~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#registered_pci_driver~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#registered_pci_driver~0.base);~#registered_irq~0.base, ~#registered_irq~0.offset := 40bv32, 0bv32;call #Ultimate.allocInit(128bv32, 40bv32);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#registered_irq~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#registered_irq~0.base);~number_tasklet_registered~0 := 0bv16;~#tasklet_registered~0.base, ~#tasklet_registered~0.offset := 41bv32, 0bv32;call #Ultimate.allocInit(6bv32, 41bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#tasklet_registered~0.base, ~#tasklet_registered~0.offset, 4bv32);call write~init~intINTTYPE2(0bv16, ~#tasklet_registered~0.base, ~bvadd32(4bv32, ~#tasklet_registered~0.offset), 2bv32);~number_timer_registered~0 := 0bv16;~#timer_registered~0.base, ~#timer_registered~0.offset := 42bv32, 0bv32;call #Ultimate.allocInit(4bv32, 42bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#timer_registered~0.base, ~#timer_registered~0.offset, 4bv32);~#shared_workqueue~0.base, ~#shared_workqueue~0.offset := 43bv32, 0bv32;call #Ultimate.allocInit(40bv32, 43bv32);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#shared_workqueue~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#shared_workqueue~0.base);~#kernel_lock~0.base, ~#kernel_lock~0.offset := 44bv32, 0bv32;call #Ultimate.allocInit(8bv32, 44bv32);call write~init~intINTTYPE4(0bv32, ~#kernel_lock~0.base, ~#kernel_lock~0.offset, 4bv32);call write~init~intINTTYPE4(0bv32, ~#kernel_lock~0.base, ~bvadd32(4bv32, ~#kernel_lock~0.offset), 4bv32);~#fixed_request_queue~0.base, ~#fixed_request_queue~0.offset := 45bv32, 0bv32;call #Ultimate.allocInit(460bv32, 45bv32);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#fixed_request_queue~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#fixed_request_queue~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#fixed_request_queue~0.base);~number_request_queue_used~0 := 0bv32;~proc_root_driver~0.base, ~proc_root_driver~0.offset := 0bv32, 0bv32;~#global_tty_driver~0.base, ~#global_tty_driver~0.offset := 46bv32, 0bv32;call #Ultimate.allocInit(200bv32, 46bv32);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#global_tty_driver~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#global_tty_driver~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#global_tty_driver~0.base);~ddv_ioport_request_start~0 := 0bv32;~ddv_ioport_request_len~0 := 0bv32; {5288#(and (= |~#kernel_lock~0.base| (_ bv44 32)) (= (_ bv8 32) (select |#length| (_ bv44 32))) (= |~#kernel_lock~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:57:14,797 INFO L290 TraceCheckUtils]: 1: Hoare triple {5288#(and (= |~#kernel_lock~0.base| (_ bv44 32)) (= (_ bv8 32) (select |#length| (_ bv44 32))) (= |~#kernel_lock~0.offset| (_ bv0 32)))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret231#1;~_ddv_module_init~0.base, ~_ddv_module_init~0.offset := #funAddr~zf_init.base, #funAddr~zf_init.offset;~_ddv_module_exit~0.base, ~_ddv_module_exit~0.offset := #funAddr~zf_exit.base, #funAddr~zf_exit.offset;assume { :begin_inline_call_ddv } true;havoc call_ddv_#res#1;havoc call_ddv_#t~ret303#1, call_ddv_~err~0#1;havoc call_ddv_~err~0#1;~current_execution_context~0 := 1bv32;assume { :begin_inline_init_kernel } true;havoc init_kernel_#t~post299#1, init_kernel_#t~post300#1, init_kernel_~i~1#1;havoc init_kernel_~i~1#1; {5288#(and (= |~#kernel_lock~0.base| (_ bv44 32)) (= (_ bv8 32) (select |#length| (_ bv44 32))) (= |~#kernel_lock~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:57:14,799 INFO L272 TraceCheckUtils]: 2: Hoare triple {5288#(and (= |~#kernel_lock~0.base| (_ bv44 32)) (= (_ bv8 32) (select |#length| (_ bv44 32))) (= |~#kernel_lock~0.offset| (_ bv0 32)))} call spin_lock_init(~#kernel_lock~0.base, ~#kernel_lock~0.offset); {5295#(and (= (_ bv8 32) (select |#length| (_ bv44 32))) (= |spin_lock_init_#in~lock.base| (_ bv44 32)) (= |spin_lock_init_#in~lock.offset| (_ bv0 32)))} is VALID [2022-02-20 23:57:14,800 INFO L290 TraceCheckUtils]: 3: Hoare triple {5295#(and (= (_ bv8 32) (select |#length| (_ bv44 32))) (= |spin_lock_init_#in~lock.base| (_ bv44 32)) (= |spin_lock_init_#in~lock.offset| (_ bv0 32)))} ~lock.base, ~lock.offset := #in~lock.base, #in~lock.offset; {5299#(and (= (_ bv8 32) (select |#length| (_ bv44 32))) (= spin_lock_init_~lock.offset (_ bv0 32)) (= spin_lock_init_~lock.base (_ bv44 32)))} is VALID [2022-02-20 23:57:14,801 INFO L290 TraceCheckUtils]: 4: Hoare triple {5299#(and (= (_ bv8 32) (select |#length| (_ bv44 32))) (= spin_lock_init_~lock.offset (_ bv0 32)) (= spin_lock_init_~lock.base (_ bv44 32)))} assume !((~bvule32(~bvadd32(4bv32, ~lock.offset), #length[~lock.base]) && ~bvule32(~lock.offset, ~bvadd32(4bv32, ~lock.offset))) && ~bvule32(0bv32, ~lock.offset)); {5284#false} is VALID [2022-02-20 23:57:14,801 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:57:14,801 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:57:14,801 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:57:14,802 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1952281711] [2022-02-20 23:57:14,802 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1952281711] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:57:14,802 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:57:14,802 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:57:14,803 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1670437998] [2022-02-20 23:57:14,803 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:57:14,804 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 1.0) internal successors, (4), 3 states have internal predecessors, (4), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 5 [2022-02-20 23:57:14,805 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:14,805 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 1.0) internal successors, (4), 3 states have internal predecessors, (4), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:14,835 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 5 edges. 5 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:14,835 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:57:14,836 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:57:14,836 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:57:14,836 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:57:14,836 INFO L87 Difference]: Start difference. First operand 987 states and 1347 transitions. Second operand has 5 states, 4 states have (on average 1.0) internal successors, (4), 3 states have internal predecessors, (4), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:18,873 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.02s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, BitVec], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-02-20 23:57:20,883 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, BitVec], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-02-20 23:57:31,008 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:31,009 INFO L93 Difference]: Finished difference Result 1119 states and 1439 transitions. [2022-02-20 23:57:31,009 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:57:31,009 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 1.0) internal successors, (4), 3 states have internal predecessors, (4), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 5 [2022-02-20 23:57:31,009 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:31,010 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 1.0) internal successors, (4), 3 states have internal predecessors, (4), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:31,021 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 1030 transitions. [2022-02-20 23:57:31,021 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 1.0) internal successors, (4), 3 states have internal predecessors, (4), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:31,033 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 1030 transitions. [2022-02-20 23:57:31,035 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 1030 transitions. [2022-02-20 23:57:32,056 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 1030 edges. 1030 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:32,115 INFO L225 Difference]: With dead ends: 1119 [2022-02-20 23:57:32,115 INFO L226 Difference]: Without dead ends: 1119 [2022-02-20 23:57:32,123 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:57:32,124 INFO L933 BasicCegarLoop]: 840 mSDtfsCounter, 268 mSDsluCounter, 1790 mSDsCounter, 0 mSdLazyCounter, 850 mSolverCounterSat, 1 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 7.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 269 SdHoareTripleChecker+Valid, 2630 SdHoareTripleChecker+Invalid, 853 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 850 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 7.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:32,127 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [269 Valid, 2630 Invalid, 853 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 850 Invalid, 2 Unknown, 0 Unchecked, 7.1s Time] [2022-02-20 23:57:32,129 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1119 states. [2022-02-20 23:57:32,153 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1119 to 1060. [2022-02-20 23:57:32,153 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:32,156 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1119 states. Second operand has 1060 states, 635 states have (on average 1.7653543307086614) internal successors, (1121), 856 states have internal predecessors, (1121), 157 states have call successors, (157), 63 states have call predecessors, (157), 63 states have return successors, (157), 150 states have call predecessors, (157), 157 states have call successors, (157) [2022-02-20 23:57:32,158 INFO L74 IsIncluded]: Start isIncluded. First operand 1119 states. Second operand has 1060 states, 635 states have (on average 1.7653543307086614) internal successors, (1121), 856 states have internal predecessors, (1121), 157 states have call successors, (157), 63 states have call predecessors, (157), 63 states have return successors, (157), 150 states have call predecessors, (157), 157 states have call successors, (157) [2022-02-20 23:57:32,162 INFO L87 Difference]: Start difference. First operand 1119 states. Second operand has 1060 states, 635 states have (on average 1.7653543307086614) internal successors, (1121), 856 states have internal predecessors, (1121), 157 states have call successors, (157), 63 states have call predecessors, (157), 63 states have return successors, (157), 150 states have call predecessors, (157), 157 states have call successors, (157) [2022-02-20 23:57:32,239 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:32,240 INFO L93 Difference]: Finished difference Result 1119 states and 1439 transitions. [2022-02-20 23:57:32,240 INFO L276 IsEmpty]: Start isEmpty. Operand 1119 states and 1439 transitions. [2022-02-20 23:57:32,243 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:32,243 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:32,246 INFO L74 IsIncluded]: Start isIncluded. First operand has 1060 states, 635 states have (on average 1.7653543307086614) internal successors, (1121), 856 states have internal predecessors, (1121), 157 states have call successors, (157), 63 states have call predecessors, (157), 63 states have return successors, (157), 150 states have call predecessors, (157), 157 states have call successors, (157) Second operand 1119 states. [2022-02-20 23:57:32,249 INFO L87 Difference]: Start difference. First operand has 1060 states, 635 states have (on average 1.7653543307086614) internal successors, (1121), 856 states have internal predecessors, (1121), 157 states have call successors, (157), 63 states have call predecessors, (157), 63 states have return successors, (157), 150 states have call predecessors, (157), 157 states have call successors, (157) Second operand 1119 states. [2022-02-20 23:57:32,309 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:32,309 INFO L93 Difference]: Finished difference Result 1119 states and 1439 transitions. [2022-02-20 23:57:32,309 INFO L276 IsEmpty]: Start isEmpty. Operand 1119 states and 1439 transitions. [2022-02-20 23:57:32,313 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:32,313 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:32,313 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:32,313 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:32,316 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1060 states, 635 states have (on average 1.7653543307086614) internal successors, (1121), 856 states have internal predecessors, (1121), 157 states have call successors, (157), 63 states have call predecessors, (157), 63 states have return successors, (157), 150 states have call predecessors, (157), 157 states have call successors, (157) [2022-02-20 23:57:32,370 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1060 states to 1060 states and 1435 transitions. [2022-02-20 23:57:32,370 INFO L78 Accepts]: Start accepts. Automaton has 1060 states and 1435 transitions. Word has length 5 [2022-02-20 23:57:32,371 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:32,371 INFO L470 AbstractCegarLoop]: Abstraction has 1060 states and 1435 transitions. [2022-02-20 23:57:32,371 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 1.0) internal successors, (4), 3 states have internal predecessors, (4), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:57:32,371 INFO L276 IsEmpty]: Start isEmpty. Operand 1060 states and 1435 transitions. [2022-02-20 23:57:32,372 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-02-20 23:57:32,372 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:32,372 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:57:32,391 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (3)] Forceful destruction successful, exit code 0 [2022-02-20 23:57:32,590 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:57:32,591 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr0REQUIRES_VIOLATION === [spin_lock_initErr0REQUIRES_VIOLATION, spin_lock_initErr1REQUIRES_VIOLATION, spin_lock_initErr2REQUIRES_VIOLATION, spin_lock_initErr3REQUIRES_VIOLATION (and 201 more)] === [2022-02-20 23:57:32,592 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:32,592 INFO L85 PathProgramCache]: Analyzing trace with hash -863937403, now seen corresponding path program 1 times [2022-02-20 23:57:32,593 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:57:32,593 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [1266140479] [2022-02-20 23:57:32,593 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:32,593 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:57:32,593 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:57:32,595 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:57:32,596 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (4)] Waiting until timeout for monitored process [2022-02-20 23:57:32,909 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:32,922 INFO L263 TraceCheckSpWp]: Trace formula consists of 528 conjuncts, 3 conjunts are in the unsatisfiable core [2022-02-20 23:57:32,938 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:32,939 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:33,055 INFO L290 TraceCheckUtils]: 0: Hoare triple {9723#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(35bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32);call #Ultimate.allocInit(34bv32, 4bv32);call #Ultimate.allocInit(44bv32, 5bv32);call #Ultimate.allocInit(31bv32, 6bv32);call #Ultimate.allocInit(4bv32, 7bv32);call write~init~intINTTYPE1(71bv8, 7bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(80bv8, 7bv32, 1bv32, 1bv32);call write~init~intINTTYPE1(76bv8, 7bv32, 2bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 7bv32, 3bv32, 1bv32);call #Ultimate.allocInit(75bv32, 8bv32);call #Ultimate.allocInit(18bv32, 9bv32);call #Ultimate.allocInit(73bv32, 10bv32);call #Ultimate.allocInit(44bv32, 11bv32);call #Ultimate.allocInit(43bv32, 12bv32);call #Ultimate.allocInit(39bv32, 13bv32);call #Ultimate.allocInit(69bv32, 14bv32);call #Ultimate.allocInit(9bv32, 15bv32);call #Ultimate.allocInit(6bv32, 16bv32);call write~init~intINTTYPE1(82bv8, 16bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(69bv8, 16bv32, 1bv32, 1bv32);call write~init~intINTTYPE1(83bv8, 16bv32, 2bv32, 1bv32);call write~init~intINTTYPE1(69bv8, 16bv32, 3bv32, 1bv32);call write~init~intINTTYPE1(84bv8, 16bv32, 4bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 16bv32, 5bv32, 1bv32);call #Ultimate.allocInit(4bv32, 17bv32);call write~init~intINTTYPE1(83bv8, 17bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(77bv8, 17bv32, 1bv32, 1bv32);call write~init~intINTTYPE1(73bv8, 17bv32, 2bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 17bv32, 3bv32, 1bv32);call #Ultimate.allocInit(4bv32, 18bv32);call write~init~intINTTYPE1(78bv8, 18bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(77bv8, 18bv32, 1bv32, 1bv32);call write~init~intINTTYPE1(73bv8, 18bv32, 2bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 18bv32, 3bv32, 1bv32);call #Ultimate.allocInit(4bv32, 19bv32);call write~init~intINTTYPE1(83bv8, 19bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(67bv8, 19bv32, 1bv32, 1bv32);call write~init~intINTTYPE1(73bv8, 19bv32, 2bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 19bv32, 3bv32, 1bv32);call #Ultimate.allocInit(40bv32, 20bv32);call #Ultimate.allocInit(58bv32, 21bv32);call #Ultimate.allocInit(31bv32, 22bv32);call #Ultimate.allocInit(36bv32, 23bv32);call #Ultimate.allocInit(14bv32, 24bv32);call #Ultimate.allocInit(35bv32, 25bv32);call #Ultimate.allocInit(44bv32, 26bv32);~current_execution_context~0 := 0bv32;~_ddv_module_init~0.base, ~_ddv_module_init~0.offset := 0bv32, 0bv32;~_ddv_module_exit~0.base, ~_ddv_module_exit~0.offset := 0bv32, 0bv32;~jiffies~0 := 0bv32;~_ddv_module_author~0 := ~const~array~~LB~bv32~RB~bv8();~_ddv_module_description~0 := ~const~array~~LB~bv32~RB~bv8();~_ddv_module_license~0 := ~_ddv_module_license~0[0bv32 := 71bv8];~_ddv_module_license~0 := ~_ddv_module_license~0[1bv32 := 80bv8];~_ddv_module_license~0 := ~_ddv_module_license~0[2bv32 := 76bv8];~_ddv_module_license~0 := ~_ddv_module_license~0[3bv32 := 0bv8];~nowayout~0 := 0bv32;~_ddv_module_param_nowayout~0 := ~const~array~~LB~bv32~RB~bv8();~#zf_info~0.base, ~#zf_info~0.offset := 27bv32, 0bv32;call #Ultimate.allocInit(40bv32, 27bv32);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#zf_info~0.base);call write~unchecked~intINTTYPE4(33024bv32, ~#zf_info~0.base, ~#zf_info~0.offset, 4bv32);call write~unchecked~intINTTYPE4(1bv32, ~#zf_info~0.base, ~bvadd32(4bv32, ~#zf_info~0.offset), 4bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(8bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(9bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(10bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(11bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(12bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(13bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(14bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(15bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(16bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(17bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(18bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(19bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(20bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(21bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(22bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(23bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(24bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(25bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(26bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(27bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(28bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(29bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(30bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(31bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(32bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(33bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(34bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(35bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(36bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(37bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(38bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(39bv32, ~#zf_info~0.offset), 1bv32);~action~0 := 0bv32;~_ddv_module_param_action~0 := ~const~array~~LB~bv32~RB~bv8();~zf_action~0 := 2048bv32;~#zf_is_open~0.base, ~#zf_is_open~0.offset := 28bv32, 0bv32;call #Ultimate.allocInit(4bv32, 28bv32);call write~init~intINTTYPE4(0bv32, ~#zf_is_open~0.base, ~#zf_is_open~0.offset, 4bv32);~zf_expect_close~0 := 0bv8;~#zf_lock~0.base, ~#zf_lock~0.offset := 29bv32, 0bv32;call #Ultimate.allocInit(8bv32, 29bv32);call write~init~intINTTYPE4(0bv32, ~#zf_lock~0.base, ~#zf_lock~0.offset, 4bv32);call write~init~intINTTYPE4(0bv32, ~#zf_lock~0.base, ~bvadd32(4bv32, ~#zf_lock~0.offset), 4bv32);~#zf_port_lock~0.base, ~#zf_port_lock~0.offset := 30bv32, 0bv32;call #Ultimate.allocInit(8bv32, 30bv32);call write~init~intINTTYPE4(0bv32, ~#zf_port_lock~0.base, ~#zf_port_lock~0.offset, 4bv32);call write~init~intINTTYPE4(0bv32, ~#zf_port_lock~0.base, ~bvadd32(4bv32, ~#zf_port_lock~0.offset), 4bv32);~#zf_timer~0.base, ~#zf_timer~0.offset := 31bv32, 0bv32;call #Ultimate.allocInit(16bv32, 31bv32);call write~init~intINTTYPE4(0bv32, ~#zf_timer~0.base, ~#zf_timer~0.offset, 4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#zf_timer~0.base, ~bvadd32(4bv32, ~#zf_timer~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#zf_timer~0.base, ~bvadd32(8bv32, ~#zf_timer~0.offset), 4bv32);call write~init~intINTTYPE2(0bv16, ~#zf_timer~0.base, ~bvadd32(12bv32, ~#zf_timer~0.offset), 2bv32);call write~init~intINTTYPE2(0bv16, ~#zf_timer~0.base, ~bvadd32(14bv32, ~#zf_timer~0.offset), 2bv32);~next_heartbeat~0 := 0bv32;~#zf_fops~0.base, ~#zf_fops~0.offset := 32bv32, 0bv32;call #Ultimate.allocInit(100bv32, 32bv32);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#zf_fops~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#zf_fops~0.base);call write~unchecked~$Pointer$(0bv32, 0bv32, ~#zf_fops~0.base, ~#zf_fops~0.offset, 4bv32);call write~unchecked~$Pointer$(#funAddr~no_llseek.base, #funAddr~no_llseek.offset, ~#zf_fops~0.base, ~bvadd32(4bv32, ~#zf_fops~0.offset), 4bv32);call write~unchecked~$Pointer$(#funAddr~zf_write.base, #funAddr~zf_write.offset, ~#zf_fops~0.base, ~bvadd32(12bv32, ~#zf_fops~0.offset), 4bv32);call write~unchecked~$Pointer$(#funAddr~zf_ioctl.base, #funAddr~zf_ioctl.offset, ~#zf_fops~0.base, ~bvadd32(24bv32, ~#zf_fops~0.offset), 4bv32);call write~unchecked~$Pointer$(#funAddr~zf_open.base, #funAddr~zf_open.offset, ~#zf_fops~0.base, ~bvadd32(40bv32, ~#zf_fops~0.offset), 4bv32);call write~unchecked~$Pointer$(#funAddr~zf_close.base, #funAddr~zf_close.offset, ~#zf_fops~0.base, ~bvadd32(48bv32, ~#zf_fops~0.offset), 4bv32);~#zf_miscdev~0.base, ~#zf_miscdev~0.offset := 33bv32, 0bv32;call #Ultimate.allocInit(12bv32, 33bv32);call write~init~intINTTYPE4(130bv32, ~#zf_miscdev~0.base, ~#zf_miscdev~0.offset, 4bv32);call write~init~$Pointer$(15bv32, 0bv32, ~#zf_miscdev~0.base, ~bvadd32(4bv32, ~#zf_miscdev~0.offset), 4bv32);call write~init~$Pointer$(~#zf_fops~0.base, ~#zf_fops~0.offset, ~#zf_miscdev~0.base, ~bvadd32(8bv32, ~#zf_miscdev~0.offset), 4bv32);~#zf_notifier~0.base, ~#zf_notifier~0.offset := 34bv32, 0bv32;call #Ultimate.allocInit(12bv32, 34bv32);call write~init~$Pointer$(#funAddr~zf_notify_sys.base, #funAddr~zf_notify_sys.offset, ~#zf_notifier~0.base, ~#zf_notifier~0.offset, 4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#zf_notifier~0.base, ~bvadd32(4bv32, ~#zf_notifier~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#zf_notifier~0.base, ~bvadd32(8bv32, ~#zf_notifier~0.offset), 4bv32);~_ddv_tmp_init~0.base, ~_ddv_tmp_init~0.offset := #funAddr~zf_init.base, #funAddr~zf_init.offset;~_ddv_tmp_exit~0.base, ~_ddv_tmp_exit~0.offset := #funAddr~zf_exit.base, #funAddr~zf_exit.offset;~#fixed_cdev~0.base, ~#fixed_cdev~0.offset := 35bv32, 0bv32;call #Ultimate.allocInit(16bv32, 35bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#fixed_cdev~0.base, ~#fixed_cdev~0.offset, 4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#fixed_cdev~0.base, ~bvadd32(4bv32, ~#fixed_cdev~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#fixed_cdev~0.base, ~bvadd32(8bv32, ~#fixed_cdev~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#fixed_cdev~0.base, ~bvadd32(12bv32, ~#fixed_cdev~0.offset), 4bv32);~fixed_cdev_used~0 := 0bv32;~number_cdev_registered~0 := 0bv16;~#cdev_registered~0.base, ~#cdev_registered~0.offset := 36bv32, 0bv32;call #Ultimate.allocInit(64bv32, 36bv32);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#cdev_registered~0.base);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#cdev_registered~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#cdev_registered~0.base);~number_genhd_registered~0 := 0bv16;~number_fixed_genhd_used~0 := 0bv16;~#fixed_gendisk~0.base, ~#fixed_gendisk~0.offset := 37bv32, 0bv32;call #Ultimate.allocInit(1280bv32, 37bv32);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#fixed_gendisk~0.base);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#fixed_gendisk~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#fixed_gendisk~0.base);~#genhd_registered~0.base, ~#genhd_registered~0.offset := 38bv32, 0bv32;call #Ultimate.allocInit(1460bv32, 38bv32);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#genhd_registered~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#genhd_registered~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#genhd_registered~0.base);~#registered_pci_driver~0.base, ~#registered_pci_driver~0.offset := 39bv32, 0bv32;call #Ultimate.allocInit(236bv32, 39bv32);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#registered_pci_driver~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#registered_pci_driver~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#registered_pci_driver~0.base);~#registered_irq~0.base, ~#registered_irq~0.offset := 40bv32, 0bv32;call #Ultimate.allocInit(128bv32, 40bv32);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#registered_irq~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#registered_irq~0.base);~number_tasklet_registered~0 := 0bv16;~#tasklet_registered~0.base, ~#tasklet_registered~0.offset := 41bv32, 0bv32;call #Ultimate.allocInit(6bv32, 41bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#tasklet_registered~0.base, ~#tasklet_registered~0.offset, 4bv32);call write~init~intINTTYPE2(0bv16, ~#tasklet_registered~0.base, ~bvadd32(4bv32, ~#tasklet_registered~0.offset), 2bv32);~number_timer_registered~0 := 0bv16;~#timer_registered~0.base, ~#timer_registered~0.offset := 42bv32, 0bv32;call #Ultimate.allocInit(4bv32, 42bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#timer_registered~0.base, ~#timer_registered~0.offset, 4bv32);~#shared_workqueue~0.base, ~#shared_workqueue~0.offset := 43bv32, 0bv32;call #Ultimate.allocInit(40bv32, 43bv32);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#shared_workqueue~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#shared_workqueue~0.base);~#kernel_lock~0.base, ~#kernel_lock~0.offset := 44bv32, 0bv32;call #Ultimate.allocInit(8bv32, 44bv32);call write~init~intINTTYPE4(0bv32, ~#kernel_lock~0.base, ~#kernel_lock~0.offset, 4bv32);call write~init~intINTTYPE4(0bv32, ~#kernel_lock~0.base, ~bvadd32(4bv32, ~#kernel_lock~0.offset), 4bv32);~#fixed_request_queue~0.base, ~#fixed_request_queue~0.offset := 45bv32, 0bv32;call #Ultimate.allocInit(460bv32, 45bv32);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#fixed_request_queue~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#fixed_request_queue~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#fixed_request_queue~0.base);~number_request_queue_used~0 := 0bv32;~proc_root_driver~0.base, ~proc_root_driver~0.offset := 0bv32, 0bv32;~#global_tty_driver~0.base, ~#global_tty_driver~0.offset := 46bv32, 0bv32;call #Ultimate.allocInit(200bv32, 46bv32);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#global_tty_driver~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#global_tty_driver~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#global_tty_driver~0.base);~ddv_ioport_request_start~0 := 0bv32;~ddv_ioport_request_len~0 := 0bv32; {9728#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#valid| (_ bv43 32)) (_ bv1 1)))} is VALID [2022-02-20 23:57:33,060 INFO L290 TraceCheckUtils]: 1: Hoare triple {9728#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#valid| (_ bv43 32)) (_ bv1 1)))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret231#1;~_ddv_module_init~0.base, ~_ddv_module_init~0.offset := #funAddr~zf_init.base, #funAddr~zf_init.offset;~_ddv_module_exit~0.base, ~_ddv_module_exit~0.offset := #funAddr~zf_exit.base, #funAddr~zf_exit.offset;assume { :begin_inline_call_ddv } true;havoc call_ddv_#res#1;havoc call_ddv_#t~ret303#1, call_ddv_~err~0#1;havoc call_ddv_~err~0#1;~current_execution_context~0 := 1bv32;assume { :begin_inline_init_kernel } true;havoc init_kernel_#t~post299#1, init_kernel_#t~post300#1, init_kernel_~i~1#1;havoc init_kernel_~i~1#1; {9728#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#valid| (_ bv43 32)) (_ bv1 1)))} is VALID [2022-02-20 23:57:33,061 INFO L272 TraceCheckUtils]: 2: Hoare triple {9728#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#valid| (_ bv43 32)) (_ bv1 1)))} call spin_lock_init(~#kernel_lock~0.base, ~#kernel_lock~0.offset); {9728#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#valid| (_ bv43 32)) (_ bv1 1)))} is VALID [2022-02-20 23:57:33,061 INFO L290 TraceCheckUtils]: 3: Hoare triple {9728#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#valid| (_ bv43 32)) (_ bv1 1)))} ~lock.base, ~lock.offset := #in~lock.base, #in~lock.offset; {9728#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#valid| (_ bv43 32)) (_ bv1 1)))} is VALID [2022-02-20 23:57:33,062 INFO L290 TraceCheckUtils]: 4: Hoare triple {9728#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#valid| (_ bv43 32)) (_ bv1 1)))} SUMMARY for call write~intINTTYPE4(1bv32, ~lock.base, ~lock.offset, 4bv32); srcloc: L4153 {9728#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#valid| (_ bv43 32)) (_ bv1 1)))} is VALID [2022-02-20 23:57:33,063 INFO L290 TraceCheckUtils]: 5: Hoare triple {9728#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#valid| (_ bv43 32)) (_ bv1 1)))} SUMMARY for call write~intINTTYPE4(0bv32, ~lock.base, ~bvadd32(4bv32, ~lock.offset), 4bv32); srcloc: L4153-1 {9728#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#valid| (_ bv43 32)) (_ bv1 1)))} is VALID [2022-02-20 23:57:33,065 INFO L290 TraceCheckUtils]: 6: Hoare triple {9728#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#valid| (_ bv43 32)) (_ bv1 1)))} assume true; {9728#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#valid| (_ bv43 32)) (_ bv1 1)))} is VALID [2022-02-20 23:57:33,066 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {9728#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#valid| (_ bv43 32)) (_ bv1 1)))} {9728#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#valid| (_ bv43 32)) (_ bv1 1)))} #1159#return; {9728#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#valid| (_ bv43 32)) (_ bv1 1)))} is VALID [2022-02-20 23:57:33,066 INFO L290 TraceCheckUtils]: 8: Hoare triple {9728#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#valid| (_ bv43 32)) (_ bv1 1)))} init_kernel_~i~1#1 := 0bv32; {9728#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#valid| (_ bv43 32)) (_ bv1 1)))} is VALID [2022-02-20 23:57:33,067 INFO L290 TraceCheckUtils]: 9: Hoare triple {9728#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#valid| (_ bv43 32)) (_ bv1 1)))} assume !!~bvslt32(init_kernel_~i~1#1, 10bv32); {9728#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#valid| (_ bv43 32)) (_ bv1 1)))} is VALID [2022-02-20 23:57:33,068 INFO L290 TraceCheckUtils]: 10: Hoare triple {9728#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#valid| (_ bv43 32)) (_ bv1 1)))} assume !(1bv1 == #valid[~#shared_workqueue~0.base]); {9724#false} is VALID [2022-02-20 23:57:33,068 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:57:33,068 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:57:33,068 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:57:33,069 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [1266140479] [2022-02-20 23:57:33,069 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [1266140479] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:57:33,069 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:57:33,069 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2022-02-20 23:57:33,069 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1963404583] [2022-02-20 23:57:33,069 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:57:33,070 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 4.5) internal successors, (9), 2 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 11 [2022-02-20 23:57:33,071 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:33,071 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 2 states have (on average 4.5) internal successors, (9), 2 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:57:33,108 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:33,108 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:57:33,108 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:57:33,109 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:57:33,109 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:57:33,109 INFO L87 Difference]: Start difference. First operand 1060 states and 1435 transitions. Second operand has 3 states, 2 states have (on average 4.5) internal successors, (9), 2 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:57:38,948 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:38,949 INFO L93 Difference]: Finished difference Result 1266 states and 1522 transitions. [2022-02-20 23:57:38,949 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:57:38,949 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 4.5) internal successors, (9), 2 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 11 [2022-02-20 23:57:38,949 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:57:38,949 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 4.5) internal successors, (9), 2 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:57:38,963 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 1437 transitions. [2022-02-20 23:57:38,964 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 4.5) internal successors, (9), 2 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:57:38,977 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 1437 transitions. [2022-02-20 23:57:38,977 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 1437 transitions. [2022-02-20 23:57:40,525 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 1437 edges. 1437 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:40,574 INFO L225 Difference]: With dead ends: 1266 [2022-02-20 23:57:40,574 INFO L226 Difference]: Without dead ends: 1266 [2022-02-20 23:57:40,574 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:57:40,575 INFO L933 BasicCegarLoop]: 742 mSDtfsCounter, 660 mSDsluCounter, 548 mSDsCounter, 0 mSdLazyCounter, 389 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 660 SdHoareTripleChecker+Valid, 1290 SdHoareTripleChecker+Invalid, 396 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 389 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-02-20 23:57:40,575 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [660 Valid, 1290 Invalid, 396 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 389 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-02-20 23:57:40,577 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1266 states. [2022-02-20 23:57:40,596 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1266 to 1059. [2022-02-20 23:57:40,596 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:57:40,599 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1266 states. Second operand has 1059 states, 635 states have (on average 1.75748031496063) internal successors, (1116), 855 states have internal predecessors, (1116), 157 states have call successors, (157), 63 states have call predecessors, (157), 63 states have return successors, (157), 150 states have call predecessors, (157), 157 states have call successors, (157) [2022-02-20 23:57:40,601 INFO L74 IsIncluded]: Start isIncluded. First operand 1266 states. Second operand has 1059 states, 635 states have (on average 1.75748031496063) internal successors, (1116), 855 states have internal predecessors, (1116), 157 states have call successors, (157), 63 states have call predecessors, (157), 63 states have return successors, (157), 150 states have call predecessors, (157), 157 states have call successors, (157) [2022-02-20 23:57:40,603 INFO L87 Difference]: Start difference. First operand 1266 states. Second operand has 1059 states, 635 states have (on average 1.75748031496063) internal successors, (1116), 855 states have internal predecessors, (1116), 157 states have call successors, (157), 63 states have call predecessors, (157), 63 states have return successors, (157), 150 states have call predecessors, (157), 157 states have call successors, (157) [2022-02-20 23:57:40,674 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:40,674 INFO L93 Difference]: Finished difference Result 1266 states and 1522 transitions. [2022-02-20 23:57:40,674 INFO L276 IsEmpty]: Start isEmpty. Operand 1266 states and 1522 transitions. [2022-02-20 23:57:40,678 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:40,678 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:40,681 INFO L74 IsIncluded]: Start isIncluded. First operand has 1059 states, 635 states have (on average 1.75748031496063) internal successors, (1116), 855 states have internal predecessors, (1116), 157 states have call successors, (157), 63 states have call predecessors, (157), 63 states have return successors, (157), 150 states have call predecessors, (157), 157 states have call successors, (157) Second operand 1266 states. [2022-02-20 23:57:40,683 INFO L87 Difference]: Start difference. First operand has 1059 states, 635 states have (on average 1.75748031496063) internal successors, (1116), 855 states have internal predecessors, (1116), 157 states have call successors, (157), 63 states have call predecessors, (157), 63 states have return successors, (157), 150 states have call predecessors, (157), 157 states have call successors, (157) Second operand 1266 states. [2022-02-20 23:57:40,754 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:57:40,754 INFO L93 Difference]: Finished difference Result 1266 states and 1522 transitions. [2022-02-20 23:57:40,754 INFO L276 IsEmpty]: Start isEmpty. Operand 1266 states and 1522 transitions. [2022-02-20 23:57:40,758 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:57:40,758 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:57:40,758 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:57:40,758 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:57:40,761 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1059 states, 635 states have (on average 1.75748031496063) internal successors, (1116), 855 states have internal predecessors, (1116), 157 states have call successors, (157), 63 states have call predecessors, (157), 63 states have return successors, (157), 150 states have call predecessors, (157), 157 states have call successors, (157) [2022-02-20 23:57:40,813 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1059 states to 1059 states and 1430 transitions. [2022-02-20 23:57:40,813 INFO L78 Accepts]: Start accepts. Automaton has 1059 states and 1430 transitions. Word has length 11 [2022-02-20 23:57:40,814 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:57:40,814 INFO L470 AbstractCegarLoop]: Abstraction has 1059 states and 1430 transitions. [2022-02-20 23:57:40,814 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 2 states have (on average 4.5) internal successors, (9), 2 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:57:40,814 INFO L276 IsEmpty]: Start isEmpty. Operand 1059 states and 1430 transitions. [2022-02-20 23:57:40,814 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-02-20 23:57:40,814 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:57:40,815 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:57:40,829 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (4)] Forceful destruction successful, exit code 0 [2022-02-20 23:57:41,029 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2022-02-20 23:57:41,029 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [spin_lock_initErr0REQUIRES_VIOLATION, spin_lock_initErr1REQUIRES_VIOLATION, spin_lock_initErr2REQUIRES_VIOLATION, spin_lock_initErr3REQUIRES_VIOLATION (and 201 more)] === [2022-02-20 23:57:41,030 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:57:41,030 INFO L85 PathProgramCache]: Analyzing trace with hash -863937402, now seen corresponding path program 1 times [2022-02-20 23:57:41,031 INFO L126 FreeRefinementEngine]: Executing refinement strategy WOLF [2022-02-20 23:57:41,031 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [597659906] [2022-02-20 23:57:41,031 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:57:41,031 INFO L173 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2022-02-20 23:57:41,031 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2022-02-20 23:57:41,032 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2022-02-20 23:57:41,041 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (5)] Waiting until timeout for monitored process [2022-02-20 23:57:41,364 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:41,379 INFO L263 TraceCheckSpWp]: Trace formula consists of 528 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 23:57:41,398 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:57:41,399 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:57:41,579 INFO L290 TraceCheckUtils]: 0: Hoare triple {14615#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0bv32, 0bv32;assume 0bv1 == #valid[0bv32];assume ~bvult32(0bv32, #StackHeapBarrier);call #Ultimate.allocInit(2bv32, 1bv32);call write~init~intINTTYPE1(48bv8, 1bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 1bv32, 1bv32, 1bv32);call #Ultimate.allocInit(35bv32, 2bv32);call #Ultimate.allocInit(12bv32, 3bv32);call #Ultimate.allocInit(34bv32, 4bv32);call #Ultimate.allocInit(44bv32, 5bv32);call #Ultimate.allocInit(31bv32, 6bv32);call #Ultimate.allocInit(4bv32, 7bv32);call write~init~intINTTYPE1(71bv8, 7bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(80bv8, 7bv32, 1bv32, 1bv32);call write~init~intINTTYPE1(76bv8, 7bv32, 2bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 7bv32, 3bv32, 1bv32);call #Ultimate.allocInit(75bv32, 8bv32);call #Ultimate.allocInit(18bv32, 9bv32);call #Ultimate.allocInit(73bv32, 10bv32);call #Ultimate.allocInit(44bv32, 11bv32);call #Ultimate.allocInit(43bv32, 12bv32);call #Ultimate.allocInit(39bv32, 13bv32);call #Ultimate.allocInit(69bv32, 14bv32);call #Ultimate.allocInit(9bv32, 15bv32);call #Ultimate.allocInit(6bv32, 16bv32);call write~init~intINTTYPE1(82bv8, 16bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(69bv8, 16bv32, 1bv32, 1bv32);call write~init~intINTTYPE1(83bv8, 16bv32, 2bv32, 1bv32);call write~init~intINTTYPE1(69bv8, 16bv32, 3bv32, 1bv32);call write~init~intINTTYPE1(84bv8, 16bv32, 4bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 16bv32, 5bv32, 1bv32);call #Ultimate.allocInit(4bv32, 17bv32);call write~init~intINTTYPE1(83bv8, 17bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(77bv8, 17bv32, 1bv32, 1bv32);call write~init~intINTTYPE1(73bv8, 17bv32, 2bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 17bv32, 3bv32, 1bv32);call #Ultimate.allocInit(4bv32, 18bv32);call write~init~intINTTYPE1(78bv8, 18bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(77bv8, 18bv32, 1bv32, 1bv32);call write~init~intINTTYPE1(73bv8, 18bv32, 2bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 18bv32, 3bv32, 1bv32);call #Ultimate.allocInit(4bv32, 19bv32);call write~init~intINTTYPE1(83bv8, 19bv32, 0bv32, 1bv32);call write~init~intINTTYPE1(67bv8, 19bv32, 1bv32, 1bv32);call write~init~intINTTYPE1(73bv8, 19bv32, 2bv32, 1bv32);call write~init~intINTTYPE1(0bv8, 19bv32, 3bv32, 1bv32);call #Ultimate.allocInit(40bv32, 20bv32);call #Ultimate.allocInit(58bv32, 21bv32);call #Ultimate.allocInit(31bv32, 22bv32);call #Ultimate.allocInit(36bv32, 23bv32);call #Ultimate.allocInit(14bv32, 24bv32);call #Ultimate.allocInit(35bv32, 25bv32);call #Ultimate.allocInit(44bv32, 26bv32);~current_execution_context~0 := 0bv32;~_ddv_module_init~0.base, ~_ddv_module_init~0.offset := 0bv32, 0bv32;~_ddv_module_exit~0.base, ~_ddv_module_exit~0.offset := 0bv32, 0bv32;~jiffies~0 := 0bv32;~_ddv_module_author~0 := ~const~array~~LB~bv32~RB~bv8();~_ddv_module_description~0 := ~const~array~~LB~bv32~RB~bv8();~_ddv_module_license~0 := ~_ddv_module_license~0[0bv32 := 71bv8];~_ddv_module_license~0 := ~_ddv_module_license~0[1bv32 := 80bv8];~_ddv_module_license~0 := ~_ddv_module_license~0[2bv32 := 76bv8];~_ddv_module_license~0 := ~_ddv_module_license~0[3bv32 := 0bv8];~nowayout~0 := 0bv32;~_ddv_module_param_nowayout~0 := ~const~array~~LB~bv32~RB~bv8();~#zf_info~0.base, ~#zf_info~0.offset := 27bv32, 0bv32;call #Ultimate.allocInit(40bv32, 27bv32);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#zf_info~0.base);call write~unchecked~intINTTYPE4(33024bv32, ~#zf_info~0.base, ~#zf_info~0.offset, 4bv32);call write~unchecked~intINTTYPE4(1bv32, ~#zf_info~0.base, ~bvadd32(4bv32, ~#zf_info~0.offset), 4bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(8bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(9bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(10bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(11bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(12bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(13bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(14bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(15bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(16bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(17bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(18bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(19bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(20bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(21bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(22bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(23bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(24bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(25bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(26bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(27bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(28bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(29bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(30bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(31bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(32bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(33bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(34bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(35bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(36bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(37bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(38bv32, ~#zf_info~0.offset), 1bv32);call write~init~intINTTYPE1(0bv8, ~#zf_info~0.base, ~bvadd32(39bv32, ~#zf_info~0.offset), 1bv32);~action~0 := 0bv32;~_ddv_module_param_action~0 := ~const~array~~LB~bv32~RB~bv8();~zf_action~0 := 2048bv32;~#zf_is_open~0.base, ~#zf_is_open~0.offset := 28bv32, 0bv32;call #Ultimate.allocInit(4bv32, 28bv32);call write~init~intINTTYPE4(0bv32, ~#zf_is_open~0.base, ~#zf_is_open~0.offset, 4bv32);~zf_expect_close~0 := 0bv8;~#zf_lock~0.base, ~#zf_lock~0.offset := 29bv32, 0bv32;call #Ultimate.allocInit(8bv32, 29bv32);call write~init~intINTTYPE4(0bv32, ~#zf_lock~0.base, ~#zf_lock~0.offset, 4bv32);call write~init~intINTTYPE4(0bv32, ~#zf_lock~0.base, ~bvadd32(4bv32, ~#zf_lock~0.offset), 4bv32);~#zf_port_lock~0.base, ~#zf_port_lock~0.offset := 30bv32, 0bv32;call #Ultimate.allocInit(8bv32, 30bv32);call write~init~intINTTYPE4(0bv32, ~#zf_port_lock~0.base, ~#zf_port_lock~0.offset, 4bv32);call write~init~intINTTYPE4(0bv32, ~#zf_port_lock~0.base, ~bvadd32(4bv32, ~#zf_port_lock~0.offset), 4bv32);~#zf_timer~0.base, ~#zf_timer~0.offset := 31bv32, 0bv32;call #Ultimate.allocInit(16bv32, 31bv32);call write~init~intINTTYPE4(0bv32, ~#zf_timer~0.base, ~#zf_timer~0.offset, 4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#zf_timer~0.base, ~bvadd32(4bv32, ~#zf_timer~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#zf_timer~0.base, ~bvadd32(8bv32, ~#zf_timer~0.offset), 4bv32);call write~init~intINTTYPE2(0bv16, ~#zf_timer~0.base, ~bvadd32(12bv32, ~#zf_timer~0.offset), 2bv32);call write~init~intINTTYPE2(0bv16, ~#zf_timer~0.base, ~bvadd32(14bv32, ~#zf_timer~0.offset), 2bv32);~next_heartbeat~0 := 0bv32;~#zf_fops~0.base, ~#zf_fops~0.offset := 32bv32, 0bv32;call #Ultimate.allocInit(100bv32, 32bv32);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#zf_fops~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#zf_fops~0.base);call write~unchecked~$Pointer$(0bv32, 0bv32, ~#zf_fops~0.base, ~#zf_fops~0.offset, 4bv32);call write~unchecked~$Pointer$(#funAddr~no_llseek.base, #funAddr~no_llseek.offset, ~#zf_fops~0.base, ~bvadd32(4bv32, ~#zf_fops~0.offset), 4bv32);call write~unchecked~$Pointer$(#funAddr~zf_write.base, #funAddr~zf_write.offset, ~#zf_fops~0.base, ~bvadd32(12bv32, ~#zf_fops~0.offset), 4bv32);call write~unchecked~$Pointer$(#funAddr~zf_ioctl.base, #funAddr~zf_ioctl.offset, ~#zf_fops~0.base, ~bvadd32(24bv32, ~#zf_fops~0.offset), 4bv32);call write~unchecked~$Pointer$(#funAddr~zf_open.base, #funAddr~zf_open.offset, ~#zf_fops~0.base, ~bvadd32(40bv32, ~#zf_fops~0.offset), 4bv32);call write~unchecked~$Pointer$(#funAddr~zf_close.base, #funAddr~zf_close.offset, ~#zf_fops~0.base, ~bvadd32(48bv32, ~#zf_fops~0.offset), 4bv32);~#zf_miscdev~0.base, ~#zf_miscdev~0.offset := 33bv32, 0bv32;call #Ultimate.allocInit(12bv32, 33bv32);call write~init~intINTTYPE4(130bv32, ~#zf_miscdev~0.base, ~#zf_miscdev~0.offset, 4bv32);call write~init~$Pointer$(15bv32, 0bv32, ~#zf_miscdev~0.base, ~bvadd32(4bv32, ~#zf_miscdev~0.offset), 4bv32);call write~init~$Pointer$(~#zf_fops~0.base, ~#zf_fops~0.offset, ~#zf_miscdev~0.base, ~bvadd32(8bv32, ~#zf_miscdev~0.offset), 4bv32);~#zf_notifier~0.base, ~#zf_notifier~0.offset := 34bv32, 0bv32;call #Ultimate.allocInit(12bv32, 34bv32);call write~init~$Pointer$(#funAddr~zf_notify_sys.base, #funAddr~zf_notify_sys.offset, ~#zf_notifier~0.base, ~#zf_notifier~0.offset, 4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#zf_notifier~0.base, ~bvadd32(4bv32, ~#zf_notifier~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#zf_notifier~0.base, ~bvadd32(8bv32, ~#zf_notifier~0.offset), 4bv32);~_ddv_tmp_init~0.base, ~_ddv_tmp_init~0.offset := #funAddr~zf_init.base, #funAddr~zf_init.offset;~_ddv_tmp_exit~0.base, ~_ddv_tmp_exit~0.offset := #funAddr~zf_exit.base, #funAddr~zf_exit.offset;~#fixed_cdev~0.base, ~#fixed_cdev~0.offset := 35bv32, 0bv32;call #Ultimate.allocInit(16bv32, 35bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#fixed_cdev~0.base, ~#fixed_cdev~0.offset, 4bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#fixed_cdev~0.base, ~bvadd32(4bv32, ~#fixed_cdev~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#fixed_cdev~0.base, ~bvadd32(8bv32, ~#fixed_cdev~0.offset), 4bv32);call write~init~intINTTYPE4(0bv32, ~#fixed_cdev~0.base, ~bvadd32(12bv32, ~#fixed_cdev~0.offset), 4bv32);~fixed_cdev_used~0 := 0bv32;~number_cdev_registered~0 := 0bv16;~#cdev_registered~0.base, ~#cdev_registered~0.offset := 36bv32, 0bv32;call #Ultimate.allocInit(64bv32, 36bv32);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#cdev_registered~0.base);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#cdev_registered~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#cdev_registered~0.base);~number_genhd_registered~0 := 0bv16;~number_fixed_genhd_used~0 := 0bv16;~#fixed_gendisk~0.base, ~#fixed_gendisk~0.offset := 37bv32, 0bv32;call #Ultimate.allocInit(1280bv32, 37bv32);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#fixed_gendisk~0.base);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#fixed_gendisk~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#fixed_gendisk~0.base);~#genhd_registered~0.base, ~#genhd_registered~0.offset := 38bv32, 0bv32;call #Ultimate.allocInit(1460bv32, 38bv32);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#genhd_registered~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#genhd_registered~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#genhd_registered~0.base);~#registered_pci_driver~0.base, ~#registered_pci_driver~0.offset := 39bv32, 0bv32;call #Ultimate.allocInit(236bv32, 39bv32);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#registered_pci_driver~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#registered_pci_driver~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#registered_pci_driver~0.base);~#registered_irq~0.base, ~#registered_irq~0.offset := 40bv32, 0bv32;call #Ultimate.allocInit(128bv32, 40bv32);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#registered_irq~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#registered_irq~0.base);~number_tasklet_registered~0 := 0bv16;~#tasklet_registered~0.base, ~#tasklet_registered~0.offset := 41bv32, 0bv32;call #Ultimate.allocInit(6bv32, 41bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#tasklet_registered~0.base, ~#tasklet_registered~0.offset, 4bv32);call write~init~intINTTYPE2(0bv16, ~#tasklet_registered~0.base, ~bvadd32(4bv32, ~#tasklet_registered~0.offset), 2bv32);~number_timer_registered~0 := 0bv16;~#timer_registered~0.base, ~#timer_registered~0.offset := 42bv32, 0bv32;call #Ultimate.allocInit(4bv32, 42bv32);call write~init~$Pointer$(0bv32, 0bv32, ~#timer_registered~0.base, ~#timer_registered~0.offset, 4bv32);~#shared_workqueue~0.base, ~#shared_workqueue~0.offset := 43bv32, 0bv32;call #Ultimate.allocInit(40bv32, 43bv32);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#shared_workqueue~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#shared_workqueue~0.base);~#kernel_lock~0.base, ~#kernel_lock~0.offset := 44bv32, 0bv32;call #Ultimate.allocInit(8bv32, 44bv32);call write~init~intINTTYPE4(0bv32, ~#kernel_lock~0.base, ~#kernel_lock~0.offset, 4bv32);call write~init~intINTTYPE4(0bv32, ~#kernel_lock~0.base, ~bvadd32(4bv32, ~#kernel_lock~0.offset), 4bv32);~#fixed_request_queue~0.base, ~#fixed_request_queue~0.offset := 45bv32, 0bv32;call #Ultimate.allocInit(460bv32, 45bv32);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#fixed_request_queue~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#fixed_request_queue~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#fixed_request_queue~0.base);~number_request_queue_used~0 := 0bv32;~proc_root_driver~0.base, ~proc_root_driver~0.offset := 0bv32, 0bv32;~#global_tty_driver~0.base, ~#global_tty_driver~0.offset := 46bv32, 0bv32;call #Ultimate.allocInit(200bv32, 46bv32);#memory_$Pointer$.base, #memory_$Pointer$.offset := ~initToZeroAtPointerBaseAddress~$Pointer$.base(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#global_tty_driver~0.base), ~initToZeroAtPointerBaseAddress~$Pointer$.offset(#memory_$Pointer$.base, #memory_$Pointer$.offset, ~#global_tty_driver~0.base);#memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, ~#global_tty_driver~0.base);~ddv_ioport_request_start~0 := 0bv32;~ddv_ioport_request_len~0 := 0bv32; {14620#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#length| (_ bv43 32)) (_ bv40 32)) (= |~#shared_workqueue~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:57:41,580 INFO L290 TraceCheckUtils]: 1: Hoare triple {14620#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#length| (_ bv43 32)) (_ bv40 32)) (= |~#shared_workqueue~0.offset| (_ bv0 32)))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret231#1;~_ddv_module_init~0.base, ~_ddv_module_init~0.offset := #funAddr~zf_init.base, #funAddr~zf_init.offset;~_ddv_module_exit~0.base, ~_ddv_module_exit~0.offset := #funAddr~zf_exit.base, #funAddr~zf_exit.offset;assume { :begin_inline_call_ddv } true;havoc call_ddv_#res#1;havoc call_ddv_#t~ret303#1, call_ddv_~err~0#1;havoc call_ddv_~err~0#1;~current_execution_context~0 := 1bv32;assume { :begin_inline_init_kernel } true;havoc init_kernel_#t~post299#1, init_kernel_#t~post300#1, init_kernel_~i~1#1;havoc init_kernel_~i~1#1; {14620#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#length| (_ bv43 32)) (_ bv40 32)) (= |~#shared_workqueue~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:57:41,581 INFO L272 TraceCheckUtils]: 2: Hoare triple {14620#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#length| (_ bv43 32)) (_ bv40 32)) (= |~#shared_workqueue~0.offset| (_ bv0 32)))} call spin_lock_init(~#kernel_lock~0.base, ~#kernel_lock~0.offset); {14620#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#length| (_ bv43 32)) (_ bv40 32)) (= |~#shared_workqueue~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:57:41,581 INFO L290 TraceCheckUtils]: 3: Hoare triple {14620#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#length| (_ bv43 32)) (_ bv40 32)) (= |~#shared_workqueue~0.offset| (_ bv0 32)))} ~lock.base, ~lock.offset := #in~lock.base, #in~lock.offset; {14620#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#length| (_ bv43 32)) (_ bv40 32)) (= |~#shared_workqueue~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:57:41,582 INFO L290 TraceCheckUtils]: 4: Hoare triple {14620#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#length| (_ bv43 32)) (_ bv40 32)) (= |~#shared_workqueue~0.offset| (_ bv0 32)))} SUMMARY for call write~intINTTYPE4(1bv32, ~lock.base, ~lock.offset, 4bv32); srcloc: L4153 {14620#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#length| (_ bv43 32)) (_ bv40 32)) (= |~#shared_workqueue~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:57:41,583 INFO L290 TraceCheckUtils]: 5: Hoare triple {14620#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#length| (_ bv43 32)) (_ bv40 32)) (= |~#shared_workqueue~0.offset| (_ bv0 32)))} SUMMARY for call write~intINTTYPE4(0bv32, ~lock.base, ~bvadd32(4bv32, ~lock.offset), 4bv32); srcloc: L4153-1 {14620#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#length| (_ bv43 32)) (_ bv40 32)) (= |~#shared_workqueue~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:57:41,584 INFO L290 TraceCheckUtils]: 6: Hoare triple {14620#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#length| (_ bv43 32)) (_ bv40 32)) (= |~#shared_workqueue~0.offset| (_ bv0 32)))} assume true; {14620#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#length| (_ bv43 32)) (_ bv40 32)) (= |~#shared_workqueue~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:57:41,584 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {14620#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#length| (_ bv43 32)) (_ bv40 32)) (= |~#shared_workqueue~0.offset| (_ bv0 32)))} {14620#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#length| (_ bv43 32)) (_ bv40 32)) (= |~#shared_workqueue~0.offset| (_ bv0 32)))} #1159#return; {14620#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#length| (_ bv43 32)) (_ bv40 32)) (= |~#shared_workqueue~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:57:41,585 INFO L290 TraceCheckUtils]: 8: Hoare triple {14620#(and (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#length| (_ bv43 32)) (_ bv40 32)) (= |~#shared_workqueue~0.offset| (_ bv0 32)))} init_kernel_~i~1#1 := 0bv32; {14645#(and (= |ULTIMATE.start_init_kernel_~i~1#1| (_ bv0 32)) (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#length| (_ bv43 32)) (_ bv40 32)) (= |~#shared_workqueue~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:57:41,586 INFO L290 TraceCheckUtils]: 9: Hoare triple {14645#(and (= |ULTIMATE.start_init_kernel_~i~1#1| (_ bv0 32)) (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#length| (_ bv43 32)) (_ bv40 32)) (= |~#shared_workqueue~0.offset| (_ bv0 32)))} assume !!~bvslt32(init_kernel_~i~1#1, 10bv32); {14645#(and (= |ULTIMATE.start_init_kernel_~i~1#1| (_ bv0 32)) (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#length| (_ bv43 32)) (_ bv40 32)) (= |~#shared_workqueue~0.offset| (_ bv0 32)))} is VALID [2022-02-20 23:57:41,587 INFO L290 TraceCheckUtils]: 10: Hoare triple {14645#(and (= |ULTIMATE.start_init_kernel_~i~1#1| (_ bv0 32)) (= |~#shared_workqueue~0.base| (_ bv43 32)) (= (select |#length| (_ bv43 32)) (_ bv40 32)) (= |~#shared_workqueue~0.offset| (_ bv0 32)))} assume !((~bvule32(~bvadd32(4bv32, ~bvadd32(~#shared_workqueue~0.offset, ~bvmul32(4bv32, init_kernel_~i~1#1))), #length[~#shared_workqueue~0.base]) && ~bvule32(~bvadd32(~#shared_workqueue~0.offset, ~bvmul32(4bv32, init_kernel_~i~1#1)), ~bvadd32(4bv32, ~bvadd32(~#shared_workqueue~0.offset, ~bvmul32(4bv32, init_kernel_~i~1#1))))) && ~bvule32(0bv32, ~bvadd32(~#shared_workqueue~0.offset, ~bvmul32(4bv32, init_kernel_~i~1#1)))); {14616#false} is VALID [2022-02-20 23:57:41,587 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:57:41,587 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:57:41,587 INFO L144 FreeRefinementEngine]: Strategy WOLF found an infeasible trace [2022-02-20 23:57:41,587 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleMathsat [597659906] [2022-02-20 23:57:41,587 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleMathsat [597659906] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:57:41,587 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:57:41,587 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:57:41,587 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1698815471] [2022-02-20 23:57:41,588 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:57:41,588 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 3.0) internal successors, (9), 3 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 11 [2022-02-20 23:57:41,588 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:57:41,588 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 3.0) internal successors, (9), 3 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:57:41,631 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:57:41,631 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:57:41,631 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy WOLF [2022-02-20 23:57:41,631 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:57:41,632 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:57:41,632 INFO L87 Difference]: Start difference. First operand 1059 states and 1430 transitions. Second operand has 4 states, 3 states have (on average 3.0) internal successors, (9), 3 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1)