./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/seq-pthread/cs_read_write_lock-2.i --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 0e0057cc Calling Ultimate with: /usr/lib/jvm/java-11-openjdk-amd64/bin/java -Dosgi.configuration.area=/tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/bin/ukojak-verify-Qdu7aM0XO9/data/config -Xmx15G -Xms4m -jar /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/bin/ukojak-verify-Qdu7aM0XO9/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/bin/ukojak-verify-Qdu7aM0XO9/data -tc /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/bin/ukojak-verify-Qdu7aM0XO9/config/KojakReach.xml -i ../../sv-benchmarks/c/seq-pthread/cs_read_write_lock-2.i -s /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/bin/ukojak-verify-Qdu7aM0XO9/config/svcomp-Reach-32bit-Kojak_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/bin/ukojak-verify-Qdu7aM0XO9 --witnessprinter.witness.filename witness --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Kojak --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 1458378674bd140ace04512980940eeb05aa22f50528a181d147a292aa3349d2 --- Real Ultimate output --- This is Ultimate 0.2.4-dev-0e0057c [2023-12-03 04:40:07,772 INFO L188 SettingsManager]: Resetting all preferences to default values... [2023-12-03 04:40:07,837 INFO L114 SettingsManager]: Loading settings from /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/bin/ukojak-verify-Qdu7aM0XO9/config/svcomp-Reach-32bit-Kojak_Default.epf [2023-12-03 04:40:07,842 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2023-12-03 04:40:07,842 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck.Interpolating solver [2023-12-03 04:40:07,866 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2023-12-03 04:40:07,867 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2023-12-03 04:40:07,867 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ALWAYS [2023-12-03 04:40:07,868 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2023-12-03 04:40:07,869 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2023-12-03 04:40:07,869 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2023-12-03 04:40:07,870 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2023-12-03 04:40:07,870 INFO L153 SettingsManager]: * sizeof long=4 [2023-12-03 04:40:07,871 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2023-12-03 04:40:07,871 INFO L153 SettingsManager]: * sizeof POINTER=4 [2023-12-03 04:40:07,872 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2023-12-03 04:40:07,873 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2023-12-03 04:40:07,873 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2023-12-03 04:40:07,874 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2023-12-03 04:40:07,874 INFO L153 SettingsManager]: * sizeof long double=12 [2023-12-03 04:40:07,875 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2023-12-03 04:40:07,878 INFO L153 SettingsManager]: * Use constant arrays=true [2023-12-03 04:40:07,879 INFO L151 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2023-12-03 04:40:07,879 INFO L153 SettingsManager]: * Timeout in seconds=1000000 [2023-12-03 04:40:07,880 INFO L153 SettingsManager]: * Theory for external solver=ALL [2023-12-03 04:40:07,880 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2023-12-03 04:40:07,881 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2023-12-03 04:40:07,881 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2023-12-03 04:40:07,881 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2023-12-03 04:40:07,882 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2023-12-03 04:40:07,882 INFO L153 SettingsManager]: * Trace refinement strategy=PENGUIN [2023-12-03 04:40:07,883 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2023-12-03 04:40:07,883 INFO L153 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2023-12-03 04:40:07,883 INFO L153 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:/tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/bin/ukojak-verify-Qdu7aM0XO9/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 -> /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/bin/ukojak-verify-Qdu7aM0XO9 Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness 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 ! call(reach_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Kojak 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 -> 1458378674bd140ace04512980940eeb05aa22f50528a181d147a292aa3349d2 [2023-12-03 04:40:08,087 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2023-12-03 04:40:08,106 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2023-12-03 04:40:08,108 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2023-12-03 04:40:08,109 INFO L270 PluginConnector]: Initializing CDTParser... [2023-12-03 04:40:08,110 INFO L274 PluginConnector]: CDTParser initialized [2023-12-03 04:40:08,111 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/bin/ukojak-verify-Qdu7aM0XO9/../../sv-benchmarks/c/seq-pthread/cs_read_write_lock-2.i [2023-12-03 04:40:10,808 INFO L533 CDTParser]: Created temporary CDT project at NULL [2023-12-03 04:40:11,051 INFO L384 CDTParser]: Found 1 translation units. [2023-12-03 04:40:11,052 INFO L180 CDTParser]: Scanning /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/sv-benchmarks/c/seq-pthread/cs_read_write_lock-2.i [2023-12-03 04:40:11,071 INFO L427 CDTParser]: About to delete temporary CDT project at /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/bin/ukojak-verify-Qdu7aM0XO9/data/40f1b2560/55c4980464c34231ac53d6eb6146d864/FLAG03c11ae76 [2023-12-03 04:40:11,085 INFO L435 CDTParser]: Successfully deleted /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/bin/ukojak-verify-Qdu7aM0XO9/data/40f1b2560/55c4980464c34231ac53d6eb6146d864 [2023-12-03 04:40:11,088 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2023-12-03 04:40:11,090 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2023-12-03 04:40:11,091 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2023-12-03 04:40:11,091 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2023-12-03 04:40:11,096 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2023-12-03 04:40:11,097 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 03.12 04:40:11" (1/1) ... [2023-12-03 04:40:11,098 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@219b9709 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.12 04:40:11, skipping insertion in model container [2023-12-03 04:40:11,098 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 03.12 04:40:11" (1/1) ... [2023-12-03 04:40:11,153 INFO L177 MainTranslator]: Built tables and reachable declarations [2023-12-03 04:40:11,422 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/sv-benchmarks/c/seq-pthread/cs_read_write_lock-2.i[23469,23482] [2023-12-03 04:40:11,510 INFO L209 PostProcessor]: Analyzing one entry point: main [2023-12-03 04:40:11,525 INFO L202 MainTranslator]: Completed pre-run [2023-12-03 04:40:11,555 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/sv-benchmarks/c/seq-pthread/cs_read_write_lock-2.i[23469,23482] [2023-12-03 04:40:11,605 INFO L209 PostProcessor]: Analyzing one entry point: main [2023-12-03 04:40:11,644 INFO L206 MainTranslator]: Completed translation [2023-12-03 04:40:11,644 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.12 04:40:11 WrapperNode [2023-12-03 04:40:11,644 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2023-12-03 04:40:11,646 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2023-12-03 04:40:11,646 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2023-12-03 04:40:11,646 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2023-12-03 04:40:11,651 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.12 04:40:11" (1/1) ... [2023-12-03 04:40:11,674 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.12 04:40:11" (1/1) ... [2023-12-03 04:40:11,722 INFO L138 Inliner]: procedures = 145, calls = 279, calls flagged for inlining = 8, calls inlined = 8, statements flattened = 557 [2023-12-03 04:40:11,722 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2023-12-03 04:40:11,723 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2023-12-03 04:40:11,723 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2023-12-03 04:40:11,723 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2023-12-03 04:40:11,731 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.12 04:40:11" (1/1) ... [2023-12-03 04:40:11,731 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.12 04:40:11" (1/1) ... [2023-12-03 04:40:11,741 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.12 04:40:11" (1/1) ... [2023-12-03 04:40:11,741 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.12 04:40:11" (1/1) ... [2023-12-03 04:40:11,769 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.12 04:40:11" (1/1) ... [2023-12-03 04:40:11,773 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.12 04:40:11" (1/1) ... [2023-12-03 04:40:11,779 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.12 04:40:11" (1/1) ... [2023-12-03 04:40:11,783 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.12 04:40:11" (1/1) ... [2023-12-03 04:40:11,792 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2023-12-03 04:40:11,793 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2023-12-03 04:40:11,793 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2023-12-03 04:40:11,793 INFO L274 PluginConnector]: RCFGBuilder initialized [2023-12-03 04:40:11,794 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.12 04:40:11" (1/1) ... [2023-12-03 04:40:11,800 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2023-12-03 04:40:11,811 INFO L189 MonitoredProcess]: No working directory specified, using /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/bin/ukojak-verify-Qdu7aM0XO9/z3 [2023-12-03 04:40:11,822 INFO L229 MonitoredProcess]: Starting monitored process 1 with /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/bin/ukojak-verify-Qdu7aM0XO9/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (exit command is (exit), workingDir is null) [2023-12-03 04:40:11,829 INFO L327 MonitoredProcess]: [MP /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/bin/ukojak-verify-Qdu7aM0XO9/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (1)] Waiting until timeout for monitored process [2023-12-03 04:40:11,858 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2023-12-03 04:40:11,858 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2023-12-03 04:40:11,858 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2023-12-03 04:40:11,858 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2023-12-03 04:40:11,858 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2023-12-03 04:40:11,859 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2023-12-03 04:40:11,859 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2023-12-03 04:40:11,859 INFO L130 BoogieDeclarations]: Found specification of procedure __CS_pthread_create [2023-12-03 04:40:11,859 INFO L138 BoogieDeclarations]: Found implementation of procedure __CS_pthread_create [2023-12-03 04:40:11,859 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2023-12-03 04:40:11,860 INFO L130 BoogieDeclarations]: Found specification of procedure __CS_pthread_join [2023-12-03 04:40:11,860 INFO L138 BoogieDeclarations]: Found implementation of procedure __CS_pthread_join [2023-12-03 04:40:11,860 INFO L130 BoogieDeclarations]: Found specification of procedure ##fun~$Pointer$~TO~$Pointer$ [2023-12-03 04:40:11,860 INFO L138 BoogieDeclarations]: Found implementation of procedure ##fun~$Pointer$~TO~$Pointer$ [2023-12-03 04:40:11,860 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2023-12-03 04:40:11,860 INFO L130 BoogieDeclarations]: Found specification of procedure __CS_cs [2023-12-03 04:40:11,861 INFO L138 BoogieDeclarations]: Found implementation of procedure __CS_cs [2023-12-03 04:40:11,861 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2023-12-03 04:40:11,861 INFO L130 BoogieDeclarations]: Found specification of procedure __CS_assume [2023-12-03 04:40:11,861 INFO L138 BoogieDeclarations]: Found implementation of procedure __CS_assume [2023-12-03 04:40:11,861 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2023-12-03 04:40:11,861 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2023-12-03 04:40:12,022 INFO L241 CfgBuilder]: Building ICFG [2023-12-03 04:40:12,024 INFO L267 CfgBuilder]: Building CFG for each procedure with an implementation [2023-12-03 04:40:12,387 INFO L775 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##42: assume !(0 != (if ~__CS_ret~0 % 256 % 4294967296 <= 2147483647 then ~__CS_ret~0 % 256 % 4294967296 else ~__CS_ret~0 % 256 % 4294967296 - 4294967296)); [2023-12-03 04:40:12,388 INFO L775 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##41: assume 0 != (if ~__CS_ret~0 % 256 % 4294967296 <= 2147483647 then ~__CS_ret~0 % 256 % 4294967296 else ~__CS_ret~0 % 256 % 4294967296 - 4294967296);reader_#res#1.base, reader_#res#1.offset := 0, 0; [2023-12-03 04:40:22,657 INFO L282 CfgBuilder]: Performing block encoding [2023-12-03 04:40:22,781 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder has thrown an exception: java.lang.UnsupportedOperationException: Incomplete atomic composition (dangling end of atomic block: havoc __VERIFIER_atomic_take_write_lock_#t~mem21#1;havoc __VERIFIER_atomic_take_write_lock_#t~mem22#1;havoc __VERIFIER_atomic_take_write_lock_#t~short23#1;call write~int(1, ~#w~0.base, ~#w~0.offset + 4 * (if ~__CS_round~0 % 256 % 4294967296 <= 2147483647 then ~__CS_round~0 % 256 % 4294967296 else ~__CS_round~0 % 256 % 4294967296 - 4294967296), 4);havoc __VERIFIER_atomic_take_write_lock_#t~mem21#1, __VERIFIER_atomic_take_write_lock_#t~mem22#1, __VERIFIER_atomic_take_write_lock_#t~short23#1;assume { :end_inline___VERIFIER_atomic_take_write_lock } true;). Is there illegal control flow (e.g. loops) within an atomic block? at de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.cfg.CfgBuilder.ensureAtomicCompositionComplete(CfgBuilder.java:333) at de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.cfg.CfgBuilder.ensureAtomicCompositionComplete(CfgBuilder.java:325) at de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.cfg.CfgBuilder.createIcfg(CfgBuilder.java:296) at de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBuilderObserver.process(RCFGBuilderObserver.java:88) at de.uni_freiburg.informatik.ultimate.core.coreplugin.modelwalker.DFSTreeWalker.runObserver(DFSTreeWalker.java:65) at de.uni_freiburg.informatik.ultimate.core.coreplugin.modelwalker.BaseWalker.runObserver(BaseWalker.java:93) at de.uni_freiburg.informatik.ultimate.core.coreplugin.modelwalker.BaseWalker.run(BaseWalker.java:86) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:166) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:150) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:127) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:233) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:227) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:144) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:106) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:319) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) [2023-12-03 04:40:22,784 INFO L158 Benchmark]: Toolchain (without parser) took 11694.33ms. Allocated memory is still 172.0MB. Free memory was 125.0MB in the beginning and 61.7MB in the end (delta: 63.3MB). Peak memory consumption was 64.7MB. Max. memory is 16.1GB. [2023-12-03 04:40:22,785 INFO L158 Benchmark]: CDTParser took 0.20ms. Allocated memory is still 127.9MB. Free memory is still 75.2MB. There was no memory consumed. Max. memory is 16.1GB. [2023-12-03 04:40:22,786 INFO L158 Benchmark]: CACSL2BoogieTranslator took 553.80ms. Allocated memory is still 172.0MB. Free memory was 125.0MB in the beginning and 98.4MB in the end (delta: 26.6MB). Peak memory consumption was 27.3MB. Max. memory is 16.1GB. [2023-12-03 04:40:22,786 INFO L158 Benchmark]: Boogie Procedure Inliner took 76.67ms. Allocated memory is still 172.0MB. Free memory was 98.4MB in the beginning and 137.2MB in the end (delta: -38.8MB). Peak memory consumption was 8.1MB. Max. memory is 16.1GB. [2023-12-03 04:40:22,787 INFO L158 Benchmark]: Boogie Preprocessor took 69.36ms. Allocated memory is still 172.0MB. Free memory was 137.2MB in the beginning and 132.9MB in the end (delta: 4.4MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. [2023-12-03 04:40:22,788 INFO L158 Benchmark]: RCFGBuilder took 10990.14ms. Allocated memory is still 172.0MB. Free memory was 132.9MB in the beginning and 61.7MB in the end (delta: 71.1MB). Peak memory consumption was 71.3MB. Max. memory is 16.1GB. [2023-12-03 04:40:22,790 INFO L338 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.20ms. Allocated memory is still 127.9MB. Free memory is still 75.2MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 553.80ms. Allocated memory is still 172.0MB. Free memory was 125.0MB in the beginning and 98.4MB in the end (delta: 26.6MB). Peak memory consumption was 27.3MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 76.67ms. Allocated memory is still 172.0MB. Free memory was 98.4MB in the beginning and 137.2MB in the end (delta: -38.8MB). Peak memory consumption was 8.1MB. Max. memory is 16.1GB. * Boogie Preprocessor took 69.36ms. Allocated memory is still 172.0MB. Free memory was 137.2MB in the beginning and 132.9MB in the end (delta: 4.4MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. * RCFGBuilder took 10990.14ms. Allocated memory is still 172.0MB. Free memory was 132.9MB in the beginning and 61.7MB in the end (delta: 71.1MB). Peak memory consumption was 71.3MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder: - ExceptionOrErrorResult: UnsupportedOperationException: Incomplete atomic composition (dangling end of atomic block: havoc __VERIFIER_atomic_take_write_lock_#t~mem21#1;havoc __VERIFIER_atomic_take_write_lock_#t~mem22#1;havoc __VERIFIER_atomic_take_write_lock_#t~short23#1;call write~int(1, ~#w~0.base, ~#w~0.offset + 4 * (if ~__CS_round~0 % 256 % 4294967296 <= 2147483647 then ~__CS_round~0 % 256 % 4294967296 else ~__CS_round~0 % 256 % 4294967296 - 4294967296), 4);havoc __VERIFIER_atomic_take_write_lock_#t~mem21#1, __VERIFIER_atomic_take_write_lock_#t~mem22#1, __VERIFIER_atomic_take_write_lock_#t~short23#1;assume { :end_inline___VERIFIER_atomic_take_write_lock } true;). Is there illegal control flow (e.g. loops) within an atomic block? de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder: UnsupportedOperationException: Incomplete atomic composition (dangling end of atomic block: havoc __VERIFIER_atomic_take_write_lock_#t~mem21#1;havoc __VERIFIER_atomic_take_write_lock_#t~mem22#1;havoc __VERIFIER_atomic_take_write_lock_#t~short23#1;call write~int(1, ~#w~0.base, ~#w~0.offset + 4 * (if ~__CS_round~0 % 256 % 4294967296 <= 2147483647 then ~__CS_round~0 % 256 % 4294967296 else ~__CS_round~0 % 256 % 4294967296 - 4294967296), 4);havoc __VERIFIER_atomic_take_write_lock_#t~mem21#1, __VERIFIER_atomic_take_write_lock_#t~mem22#1, __VERIFIER_atomic_take_write_lock_#t~short23#1;assume { :end_inline___VERIFIER_atomic_take_write_lock } true;). Is there illegal control flow (e.g. loops) within an atomic block?: de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.cfg.CfgBuilder.ensureAtomicCompositionComplete(CfgBuilder.java:333) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2023-12-03 04:40:22,810 INFO L540 MonitoredProcess]: [MP /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/bin/ukojak-verify-Qdu7aM0XO9/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (1)] Forceful destruction successful, exit code 0 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/lib/jvm/java-11-openjdk-amd64/bin/java -Dosgi.configuration.area=/tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/bin/ukojak-verify-Qdu7aM0XO9/data/config -Xmx15G -Xms4m -jar /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/bin/ukojak-verify-Qdu7aM0XO9/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/bin/ukojak-verify-Qdu7aM0XO9/data -tc /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/bin/ukojak-verify-Qdu7aM0XO9/config/KojakReach.xml -i ../../sv-benchmarks/c/seq-pthread/cs_read_write_lock-2.i -s /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/bin/ukojak-verify-Qdu7aM0XO9/config/svcomp-Reach-32bit-Kojak_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/bin/ukojak-verify-Qdu7aM0XO9 --witnessprinter.witness.filename witness --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Kojak --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 1458378674bd140ace04512980940eeb05aa22f50528a181d147a292aa3349d2 --- Real Ultimate output --- This is Ultimate 0.2.4-dev-0e0057c [2023-12-03 04:40:24,935 INFO L188 SettingsManager]: Resetting all preferences to default values... [2023-12-03 04:40:25,017 INFO L114 SettingsManager]: Loading settings from /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/bin/ukojak-verify-Qdu7aM0XO9/config/svcomp-Reach-32bit-Kojak_Bitvector.epf [2023-12-03 04:40:25,051 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2023-12-03 04:40:25,052 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2023-12-03 04:40:25,053 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ALWAYS [2023-12-03 04:40:25,053 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2023-12-03 04:40:25,054 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2023-12-03 04:40:25,055 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2023-12-03 04:40:25,055 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2023-12-03 04:40:25,056 INFO L153 SettingsManager]: * sizeof long=4 [2023-12-03 04:40:25,057 INFO L153 SettingsManager]: * sizeof POINTER=4 [2023-12-03 04:40:25,057 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2023-12-03 04:40:25,058 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2023-12-03 04:40:25,058 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2023-12-03 04:40:25,059 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2023-12-03 04:40:25,059 INFO L153 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2023-12-03 04:40:25,060 INFO L153 SettingsManager]: * Use bitvectors instead of ints=true [2023-12-03 04:40:25,060 INFO L153 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2023-12-03 04:40:25,061 INFO L153 SettingsManager]: * sizeof long double=12 [2023-12-03 04:40:25,061 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2023-12-03 04:40:25,062 INFO L153 SettingsManager]: * Use constant arrays=true [2023-12-03 04:40:25,063 INFO L151 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2023-12-03 04:40:25,063 INFO L153 SettingsManager]: * Timeout in seconds=1000000 [2023-12-03 04:40:25,064 INFO L153 SettingsManager]: * Theory for external solver=ALL [2023-12-03 04:40:25,064 INFO L153 SettingsManager]: * Command for calling external solver=cvc4 --incremental --print-success --lang smt [2023-12-03 04:40:25,065 INFO L153 SettingsManager]: * Choose which separate solver to use for tracechecks=External_ModelsAndUnsatCoreMode [2023-12-03 04:40:25,065 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2023-12-03 04:40:25,066 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2023-12-03 04:40:25,066 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2023-12-03 04:40:25,067 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2023-12-03 04:40:25,067 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2023-12-03 04:40:25,068 INFO L153 SettingsManager]: * Trace refinement strategy=WALRUS [2023-12-03 04:40:25,068 INFO L153 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2023-12-03 04:40:25,068 INFO L153 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2023-12-03 04:40:25,069 INFO L153 SettingsManager]: * Use separate solver for trace checks=false [2023-12-03 04:40:25,069 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2023-12-03 04:40:25,069 INFO L153 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:/tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/bin/ukojak-verify-Qdu7aM0XO9/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 -> /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/bin/ukojak-verify-Qdu7aM0XO9 Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness 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 ! call(reach_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Kojak 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 -> 1458378674bd140ace04512980940eeb05aa22f50528a181d147a292aa3349d2 [2023-12-03 04:40:25,394 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2023-12-03 04:40:25,417 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2023-12-03 04:40:25,419 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2023-12-03 04:40:25,421 INFO L270 PluginConnector]: Initializing CDTParser... [2023-12-03 04:40:25,421 INFO L274 PluginConnector]: CDTParser initialized [2023-12-03 04:40:25,423 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/bin/ukojak-verify-Qdu7aM0XO9/../../sv-benchmarks/c/seq-pthread/cs_read_write_lock-2.i [2023-12-03 04:40:28,282 INFO L533 CDTParser]: Created temporary CDT project at NULL [2023-12-03 04:40:28,560 INFO L384 CDTParser]: Found 1 translation units. [2023-12-03 04:40:28,561 INFO L180 CDTParser]: Scanning /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/sv-benchmarks/c/seq-pthread/cs_read_write_lock-2.i [2023-12-03 04:40:28,578 INFO L427 CDTParser]: About to delete temporary CDT project at /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/bin/ukojak-verify-Qdu7aM0XO9/data/2d343f38b/158148330d104e14a2106b360e5ed834/FLAG379831e7b [2023-12-03 04:40:28,594 INFO L435 CDTParser]: Successfully deleted /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/bin/ukojak-verify-Qdu7aM0XO9/data/2d343f38b/158148330d104e14a2106b360e5ed834 [2023-12-03 04:40:28,596 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2023-12-03 04:40:28,598 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2023-12-03 04:40:28,599 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2023-12-03 04:40:28,600 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2023-12-03 04:40:28,603 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2023-12-03 04:40:28,604 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 03.12 04:40:28" (1/1) ... [2023-12-03 04:40:28,605 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@56343e3c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.12 04:40:28, skipping insertion in model container [2023-12-03 04:40:28,605 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 03.12 04:40:28" (1/1) ... [2023-12-03 04:40:28,674 INFO L177 MainTranslator]: Built tables and reachable declarations [2023-12-03 04:40:28,985 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/sv-benchmarks/c/seq-pthread/cs_read_write_lock-2.i[23469,23482] [2023-12-03 04:40:29,079 INFO L209 PostProcessor]: Analyzing one entry point: main [2023-12-03 04:40:29,099 INFO L202 MainTranslator]: Completed pre-run [2023-12-03 04:40:29,130 WARN L240 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/sv-benchmarks/c/seq-pthread/cs_read_write_lock-2.i[23469,23482] [2023-12-03 04:40:29,181 INFO L209 PostProcessor]: Analyzing one entry point: main [2023-12-03 04:40:29,228 INFO L206 MainTranslator]: Completed translation [2023-12-03 04:40:29,228 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.12 04:40:29 WrapperNode [2023-12-03 04:40:29,228 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2023-12-03 04:40:29,229 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2023-12-03 04:40:29,230 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2023-12-03 04:40:29,230 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2023-12-03 04:40:29,237 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.12 04:40:29" (1/1) ... [2023-12-03 04:40:29,264 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.12 04:40:29" (1/1) ... [2023-12-03 04:40:29,304 INFO L138 Inliner]: procedures = 149, calls = 279, calls flagged for inlining = 8, calls inlined = 8, statements flattened = 550 [2023-12-03 04:40:29,304 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2023-12-03 04:40:29,305 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2023-12-03 04:40:29,305 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2023-12-03 04:40:29,305 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2023-12-03 04:40:29,325 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.12 04:40:29" (1/1) ... [2023-12-03 04:40:29,325 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.12 04:40:29" (1/1) ... [2023-12-03 04:40:29,333 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.12 04:40:29" (1/1) ... [2023-12-03 04:40:29,334 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.12 04:40:29" (1/1) ... [2023-12-03 04:40:29,361 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.12 04:40:29" (1/1) ... [2023-12-03 04:40:29,365 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.12 04:40:29" (1/1) ... [2023-12-03 04:40:29,370 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.12 04:40:29" (1/1) ... [2023-12-03 04:40:29,375 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.12 04:40:29" (1/1) ... [2023-12-03 04:40:29,393 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2023-12-03 04:40:29,394 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2023-12-03 04:40:29,394 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2023-12-03 04:40:29,395 INFO L274 PluginConnector]: RCFGBuilder initialized [2023-12-03 04:40:29,395 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 03.12 04:40:29" (1/1) ... [2023-12-03 04:40:29,402 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2023-12-03 04:40:29,415 INFO L189 MonitoredProcess]: No working directory specified, using /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/bin/ukojak-verify-Qdu7aM0XO9/z3 [2023-12-03 04:40:29,433 INFO L229 MonitoredProcess]: Starting monitored process 1 with /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/bin/ukojak-verify-Qdu7aM0XO9/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (exit command is (exit), workingDir is null) [2023-12-03 04:40:29,439 INFO L327 MonitoredProcess]: [MP /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/bin/ukojak-verify-Qdu7aM0XO9/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (1)] Waiting until timeout for monitored process [2023-12-03 04:40:29,472 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE1 [2023-12-03 04:40:29,472 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2023-12-03 04:40:29,472 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2023-12-03 04:40:29,472 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2023-12-03 04:40:29,473 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2023-12-03 04:40:29,473 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2023-12-03 04:40:29,473 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2023-12-03 04:40:29,473 INFO L130 BoogieDeclarations]: Found specification of procedure __CS_pthread_create [2023-12-03 04:40:29,473 INFO L138 BoogieDeclarations]: Found implementation of procedure __CS_pthread_create [2023-12-03 04:40:29,473 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2023-12-03 04:40:29,474 INFO L130 BoogieDeclarations]: Found specification of procedure __CS_pthread_join [2023-12-03 04:40:29,474 INFO L138 BoogieDeclarations]: Found implementation of procedure __CS_pthread_join [2023-12-03 04:40:29,474 INFO L130 BoogieDeclarations]: Found specification of procedure ##fun~$Pointer$~TO~$Pointer$ [2023-12-03 04:40:29,474 INFO L138 BoogieDeclarations]: Found implementation of procedure ##fun~$Pointer$~TO~$Pointer$ [2023-12-03 04:40:29,474 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE1 [2023-12-03 04:40:29,474 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2023-12-03 04:40:29,475 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2023-12-03 04:40:29,475 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1 [2023-12-03 04:40:29,475 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE4 [2023-12-03 04:40:29,475 INFO L130 BoogieDeclarations]: Found specification of procedure __CS_cs [2023-12-03 04:40:29,475 INFO L138 BoogieDeclarations]: Found implementation of procedure __CS_cs [2023-12-03 04:40:29,475 INFO L130 BoogieDeclarations]: Found specification of procedure __CS_assume [2023-12-03 04:40:29,476 INFO L138 BoogieDeclarations]: Found implementation of procedure __CS_assume [2023-12-03 04:40:29,476 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2023-12-03 04:40:29,476 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2023-12-03 04:40:29,656 INFO L241 CfgBuilder]: Building ICFG [2023-12-03 04:40:29,659 INFO L267 CfgBuilder]: Building CFG for each procedure with an implementation [2023-12-03 04:40:30,253 INFO L775 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##42: assume !(0bv32 != ~zero_extend~32~8(~__CS_ret~0)); [2023-12-03 04:40:30,253 INFO L775 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##41: assume 0bv32 != ~zero_extend~32~8(~__CS_ret~0);reader_#res#1.base, reader_#res#1.offset := 0bv32, 0bv32; [2023-12-03 04:40:41,570 INFO L282 CfgBuilder]: Performing block encoding [2023-12-03 04:40:41,754 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder has thrown an exception: java.lang.UnsupportedOperationException: Incomplete atomic composition (dangling end of atomic block: havoc __VERIFIER_atomic_take_write_lock_#t~mem21#1;havoc __VERIFIER_atomic_take_write_lock_#t~mem22#1;havoc __VERIFIER_atomic_take_write_lock_#t~short23#1;call write~intINTTYPE4(1bv32, ~#w~0.base, ~bvadd~32(~#w~0.offset, ~bvmul~32(4bv32, ~zero_extend~32~8(~__CS_round~0))), 4bv32);havoc __VERIFIER_atomic_take_write_lock_#t~mem21#1, __VERIFIER_atomic_take_write_lock_#t~mem22#1, __VERIFIER_atomic_take_write_lock_#t~short23#1;assume { :end_inline___VERIFIER_atomic_take_write_lock } true;). Is there illegal control flow (e.g. loops) within an atomic block? at de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.cfg.CfgBuilder.ensureAtomicCompositionComplete(CfgBuilder.java:333) at de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.cfg.CfgBuilder.ensureAtomicCompositionComplete(CfgBuilder.java:325) at de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.cfg.CfgBuilder.createIcfg(CfgBuilder.java:296) at de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBuilderObserver.process(RCFGBuilderObserver.java:88) at de.uni_freiburg.informatik.ultimate.core.coreplugin.modelwalker.DFSTreeWalker.runObserver(DFSTreeWalker.java:65) at de.uni_freiburg.informatik.ultimate.core.coreplugin.modelwalker.BaseWalker.runObserver(BaseWalker.java:93) at de.uni_freiburg.informatik.ultimate.core.coreplugin.modelwalker.BaseWalker.run(BaseWalker.java:86) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:166) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:150) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:127) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:233) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:227) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:144) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:106) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:319) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) [2023-12-03 04:40:41,758 INFO L158 Benchmark]: Toolchain (without parser) took 13159.66ms. Allocated memory is still 127.9MB. Free memory was 102.3MB in the beginning and 73.8MB in the end (delta: 28.6MB). Peak memory consumption was 64.6MB. Max. memory is 16.1GB. [2023-12-03 04:40:41,759 INFO L158 Benchmark]: CDTParser took 0.21ms. Allocated memory is still 65.0MB. Free memory is still 40.7MB. There was no memory consumed. Max. memory is 16.1GB. [2023-12-03 04:40:41,760 INFO L158 Benchmark]: CACSL2BoogieTranslator took 629.30ms. Allocated memory is still 127.9MB. Free memory was 102.0MB in the beginning and 73.9MB in the end (delta: 28.0MB). Peak memory consumption was 27.3MB. Max. memory is 16.1GB. [2023-12-03 04:40:41,760 INFO L158 Benchmark]: Boogie Procedure Inliner took 75.07ms. Allocated memory is still 127.9MB. Free memory was 73.9MB in the beginning and 69.2MB in the end (delta: 4.7MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. [2023-12-03 04:40:41,761 INFO L158 Benchmark]: Boogie Preprocessor took 88.67ms. Allocated memory is still 127.9MB. Free memory was 69.2MB in the beginning and 100.5MB in the end (delta: -31.3MB). Peak memory consumption was 5.7MB. Max. memory is 16.1GB. [2023-12-03 04:40:41,761 INFO L158 Benchmark]: RCFGBuilder took 12362.53ms. Allocated memory is still 127.9MB. Free memory was 100.5MB in the beginning and 74.1MB in the end (delta: 26.4MB). Peak memory consumption was 63.1MB. Max. memory is 16.1GB. [2023-12-03 04:40:41,764 INFO L338 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.21ms. Allocated memory is still 65.0MB. Free memory is still 40.7MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 629.30ms. Allocated memory is still 127.9MB. Free memory was 102.0MB in the beginning and 73.9MB in the end (delta: 28.0MB). Peak memory consumption was 27.3MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 75.07ms. Allocated memory is still 127.9MB. Free memory was 73.9MB in the beginning and 69.2MB in the end (delta: 4.7MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. * Boogie Preprocessor took 88.67ms. Allocated memory is still 127.9MB. Free memory was 69.2MB in the beginning and 100.5MB in the end (delta: -31.3MB). Peak memory consumption was 5.7MB. Max. memory is 16.1GB. * RCFGBuilder took 12362.53ms. Allocated memory is still 127.9MB. Free memory was 100.5MB in the beginning and 74.1MB in the end (delta: 26.4MB). Peak memory consumption was 63.1MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder: - ExceptionOrErrorResult: UnsupportedOperationException: Incomplete atomic composition (dangling end of atomic block: havoc __VERIFIER_atomic_take_write_lock_#t~mem21#1;havoc __VERIFIER_atomic_take_write_lock_#t~mem22#1;havoc __VERIFIER_atomic_take_write_lock_#t~short23#1;call write~intINTTYPE4(1bv32, ~#w~0.base, ~bvadd~32(~#w~0.offset, ~bvmul~32(4bv32, ~zero_extend~32~8(~__CS_round~0))), 4bv32);havoc __VERIFIER_atomic_take_write_lock_#t~mem21#1, __VERIFIER_atomic_take_write_lock_#t~mem22#1, __VERIFIER_atomic_take_write_lock_#t~short23#1;assume { :end_inline___VERIFIER_atomic_take_write_lock } true;). Is there illegal control flow (e.g. loops) within an atomic block? de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder: UnsupportedOperationException: Incomplete atomic composition (dangling end of atomic block: havoc __VERIFIER_atomic_take_write_lock_#t~mem21#1;havoc __VERIFIER_atomic_take_write_lock_#t~mem22#1;havoc __VERIFIER_atomic_take_write_lock_#t~short23#1;call write~intINTTYPE4(1bv32, ~#w~0.base, ~bvadd~32(~#w~0.offset, ~bvmul~32(4bv32, ~zero_extend~32~8(~__CS_round~0))), 4bv32);havoc __VERIFIER_atomic_take_write_lock_#t~mem21#1, __VERIFIER_atomic_take_write_lock_#t~mem22#1, __VERIFIER_atomic_take_write_lock_#t~short23#1;assume { :end_inline___VERIFIER_atomic_take_write_lock } true;). Is there illegal control flow (e.g. loops) within an atomic block?: de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.cfg.CfgBuilder.ensureAtomicCompositionComplete(CfgBuilder.java:333) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2023-12-03 04:40:41,810 INFO L540 MonitoredProcess]: [MP /tmp/vcloud_worker_vcloud-master_on_vcloud-master/run_dir_3e046140-1288-4d26-9409-bef087d45e27/bin/ukojak-verify-Qdu7aM0XO9/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (1)] Forceful destruction successful, exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Writing output log to file Ultimate.log Result: ERROR: ExceptionOrErrorResult: UnsupportedOperationException: Incomplete atomic composition (dangling end of atomic block: havoc __VERIFIER_atomic_take_write_lock_#t~mem21#1;havoc __VERIFIER_atomic_take_write_lock_#t~mem22#1;havoc __VERIFIER_atomic_take_write_lock_#t~short23#1;call write~intINTTYPE4(1bv32, ~#w~0.base, ~bvadd~32(~#w~0.offset, ~bvmul~32(4bv32, ~zero_extend~32~8(~__CS_round~0))), 4bv32);havoc __VERIFIER_atomic_take_write_lock_#t~mem21#1, __VERIFIER_atomic_take_write_lock_#t~mem22#1, __VERIFIER_atomic_take_write_lock_#t~short23#1;assume { :end_inline___VERIFIER_atomic_take_write_lock } true;). Is there illegal control flow (e.g. loops) within an atomic block?