./Ultimate.py --spec ../../../trunk/examples/svcomp/properties/unreach-call.prp --file ../../../trunk/examples/svcomp/ldv-sets/test_mutex_double_lock.i --full-output --witness-type violation_witness --validate ./svcomp-yaml-violation-generation.2024-08-01_14-26-22.files/Default/test_mutex_double_lock.yml/witness.yml --preprocessor.replace.while.statements.and.if-then-else.statements false --icfgbuilder.size.of.a.code.block SequenceOfStatements --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 03fe66fa Calling Ultimate with: /root/.sdkman/candidates/java/current/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -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/AutomizerReachWitnessValidation.xml -i ../../../trunk/examples/svcomp/ldv-sets/test_mutex_double_lock.i ./svcomp-yaml-violation-generation.2024-08-01_14-26-22.files/Default/test_mutex_double_lock.yml/witness.yml -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --traceabstraction.compute.hoare.annotation.of.negated.interpolant.automaton,.abstraction.and.cfg false --preprocessor.replace.while.statements.and.if-then-else.statements false --icfgbuilder.size.of.a.code.block SequenceOfStatements --- Real Ultimate output --- This is Ultimate 0.2.4-wip.fs.yaml-violation-witnesses-03fe66f-m [2024-08-15 18:25:46,513 INFO L188 SettingsManager]: Resetting all preferences to default values... [2024-08-15 18:25:46,581 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2024-08-15 18:25:46,585 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2024-08-15 18:25:46,585 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2024-08-15 18:25:46,611 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2024-08-15 18:25:46,612 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2024-08-15 18:25:46,612 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2024-08-15 18:25:46,613 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2024-08-15 18:25:46,613 INFO L153 SettingsManager]: * Use memory slicer=true [2024-08-15 18:25:46,614 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2024-08-15 18:25:46,614 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2024-08-15 18:25:46,615 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2024-08-15 18:25:46,615 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2024-08-15 18:25:46,615 INFO L153 SettingsManager]: * Use SBE=true [2024-08-15 18:25:46,616 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2024-08-15 18:25:46,616 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2024-08-15 18:25:46,616 INFO L153 SettingsManager]: * sizeof long=4 [2024-08-15 18:25:46,617 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2024-08-15 18:25:46,617 INFO L153 SettingsManager]: * sizeof POINTER=4 [2024-08-15 18:25:46,617 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2024-08-15 18:25:46,619 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2024-08-15 18:25:46,619 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2024-08-15 18:25:46,619 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2024-08-15 18:25:46,620 INFO L153 SettingsManager]: * Allow undefined functions=false [2024-08-15 18:25:46,620 INFO L153 SettingsManager]: * sizeof long double=12 [2024-08-15 18:25:46,620 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2024-08-15 18:25:46,621 INFO L153 SettingsManager]: * Use constant arrays=true [2024-08-15 18:25:46,621 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2024-08-15 18:25:46,621 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2024-08-15 18:25:46,622 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2024-08-15 18:25:46,622 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2024-08-15 18:25:46,622 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2024-08-15 18:25:46,623 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2024-08-15 18:25:46,623 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2024-08-15 18:25:46,623 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2024-08-15 18:25:46,623 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2024-08-15 18:25:46,624 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2024-08-15 18:25:46,624 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2024-08-15 18:25:46,624 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2024-08-15 18:25:46,625 INFO L153 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2024-08-15 18:25:46,627 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2024-08-15 18:25:46,627 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2024-08-15 18:25:46,627 INFO L153 SettingsManager]: * Looper check in Petri net analysis=SEMANTIC 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.plugins.generator.traceabstraction: Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.boogie.preprocessor: Replace while statements and if-then-else statements -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder: Size of a code block -> SequenceOfStatements [2024-08-15 18:25:46,878 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2024-08-15 18:25:46,905 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2024-08-15 18:25:46,908 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2024-08-15 18:25:46,909 INFO L270 PluginConnector]: Initializing CDTParser... [2024-08-15 18:25:46,909 INFO L274 PluginConnector]: CDTParser initialized [2024-08-15 18:25:46,911 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/ldv-sets/test_mutex_double_lock.i [2024-08-15 18:25:48,592 INFO L533 CDTParser]: Created temporary CDT project at NULL [2024-08-15 18:25:48,888 INFO L384 CDTParser]: Found 1 translation units. [2024-08-15 18:25:48,889 INFO L180 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/ldv-sets/test_mutex_double_lock.i [2024-08-15 18:25:48,906 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/76325145a/8bbdf1d9a5664942878fb43169ce4342/FLAG80c9e9258 [2024-08-15 18:25:48,933 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/76325145a/8bbdf1d9a5664942878fb43169ce4342 [2024-08-15 18:25:48,936 INFO L270 PluginConnector]: Initializing Witness Parser... [2024-08-15 18:25:48,941 INFO L274 PluginConnector]: Witness Parser initialized [2024-08-15 18:25:48,944 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/./svcomp-yaml-violation-generation.2024-08-01_14-26-22.files/Default/test_mutex_double_lock.yml/witness.yml [2024-08-15 18:25:49,066 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2024-08-15 18:25:49,068 INFO L133 ToolchainWalker]: Walking toolchain with 4 elements. [2024-08-15 18:25:49,069 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2024-08-15 18:25:49,069 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2024-08-15 18:25:49,081 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2024-08-15 18:25:49,082 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.08 06:25:48" (1/2) ... [2024-08-15 18:25:49,083 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@d45016f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.08 06:25:49, skipping insertion in model container [2024-08-15 18:25:49,083 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.08 06:25:48" (1/2) ... [2024-08-15 18:25:49,084 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieTranslatorObserver@39c4ed66 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.08 06:25:49, skipping insertion in model container [2024-08-15 18:25:49,087 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser VIOLATION_WITNESS 15.08 06:25:49" (2/2) ... [2024-08-15 18:25:49,087 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@d45016f and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator VIOLATION_WITNESS 15.08 06:25:49, skipping insertion in model container [2024-08-15 18:25:49,087 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser VIOLATION_WITNESS 15.08 06:25:49" (2/2) ... [2024-08-15 18:25:49,138 INFO L175 MainTranslator]: Built tables and reachable declarations [2024-08-15 18:25:49,513 WARN L247 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/ldv-sets/test_mutex_double_lock.i[25842,25855] [2024-08-15 18:25:49,519 WARN L247 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/ldv-sets/test_mutex_double_lock.i[25967,25980] [2024-08-15 18:25:49,521 WARN L247 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/ldv-sets/test_mutex_double_lock.i[26082,26095] [2024-08-15 18:25:49,523 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-08-15 18:25:49,535 INFO L200 MainTranslator]: Completed pre-run [2024-08-15 18:25:49,617 WARN L247 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/ldv-sets/test_mutex_double_lock.i[25842,25855] [2024-08-15 18:25:49,628 WARN L247 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/ldv-sets/test_mutex_double_lock.i[25967,25980] [2024-08-15 18:25:49,631 WARN L247 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/ldv-sets/test_mutex_double_lock.i[26082,26095] [2024-08-15 18:25:49,638 INFO L207 PostProcessor]: Analyzing one entry point: main [2024-08-15 18:25:49,715 INFO L204 MainTranslator]: Completed translation [2024-08-15 18:25:49,715 INFO L201 PluginConnector]: Adding new model witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator VIOLATION_WITNESS 15.08 06:25:49 WrapperNode [2024-08-15 18:25:49,716 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2024-08-15 18:25:49,717 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2024-08-15 18:25:49,717 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2024-08-15 18:25:49,717 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2024-08-15 18:25:49,733 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator VIOLATION_WITNESS 15.08 06:25:49" (1/1) ... [2024-08-15 18:25:49,735 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator VIOLATION_WITNESS 15.08 06:25:49" (1/1) ... [2024-08-15 18:25:49,749 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator VIOLATION_WITNESS 15.08 06:25:49" (1/1) ... [2024-08-15 18:25:49,825 INFO L175 MemorySlicer]: Split 25 memory accesses to 3 slices as follows [2, 21, 2]. 84 percent of accesses are in the largest equivalence class. The 4 initializations are split as follows [2, 2, 0]. The 9 writes are split as follows [0, 7, 2]. [2024-08-15 18:25:49,825 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator VIOLATION_WITNESS 15.08 06:25:49" (1/1) ... [2024-08-15 18:25:49,825 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator VIOLATION_WITNESS 15.08 06:25:49" (1/1) ... [2024-08-15 18:25:49,854 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator VIOLATION_WITNESS 15.08 06:25:49" (1/1) ... [2024-08-15 18:25:49,867 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator VIOLATION_WITNESS 15.08 06:25:49" (1/1) ... [2024-08-15 18:25:49,874 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator VIOLATION_WITNESS 15.08 06:25:49" (1/1) ... [2024-08-15 18:25:49,884 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2024-08-15 18:25:49,889 INFO L112 PluginConnector]: ------------------------IcfgBuilder---------------------------- [2024-08-15 18:25:49,889 INFO L270 PluginConnector]: Initializing IcfgBuilder... [2024-08-15 18:25:49,889 INFO L274 PluginConnector]: IcfgBuilder initialized [2024-08-15 18:25:49,890 INFO L184 PluginConnector]: Executing the observer IcfgBuilderObserver from plugin IcfgBuilder for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator VIOLATION_WITNESS 15.08 06:25:49" (1/1) ... [2024-08-15 18:25:49,902 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 [2024-08-15 18:25:49,914 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-08-15 18:25:49,933 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (exit command is (exit), workingDir is null) [2024-08-15 18:25:49,936 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Waiting until timeout for monitored process [2024-08-15 18:25:49,978 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2024-08-15 18:25:49,979 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2024-08-15 18:25:49,979 INFO L138 BoogieDeclarations]: Found implementation of procedure __bswap_32 [2024-08-15 18:25:49,979 INFO L138 BoogieDeclarations]: Found implementation of procedure __bswap_64 [2024-08-15 18:25:49,979 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2024-08-15 18:25:49,979 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2024-08-15 18:25:49,979 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_malloc [2024-08-15 18:25:49,979 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_successful_malloc [2024-08-15 18:25:49,980 INFO L138 BoogieDeclarations]: Found implementation of procedure LDV_INIT_LIST_HEAD [2024-08-15 18:25:49,980 INFO L138 BoogieDeclarations]: Found implementation of procedure __ldv_list_add [2024-08-15 18:25:49,980 INFO L138 BoogieDeclarations]: Found implementation of procedure __ldv_list_del [2024-08-15 18:25:49,980 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_list_add [2024-08-15 18:25:49,980 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_list_add_tail [2024-08-15 18:25:49,980 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_list_del [2024-08-15 18:25:49,980 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_list_empty [2024-08-15 18:25:49,980 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_init_set [2024-08-15 18:25:49,981 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_set_add [2024-08-15 18:25:49,981 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_set_del [2024-08-15 18:25:49,981 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_is_in_set [2024-08-15 18:25:49,981 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_set_empty [2024-08-15 18:25:49,981 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_initialize [2024-08-15 18:25:49,981 INFO L138 BoogieDeclarations]: Found implementation of procedure mutex_lock [2024-08-15 18:25:49,981 INFO L138 BoogieDeclarations]: Found implementation of procedure mutex_unlock [2024-08-15 18:25:49,982 INFO L138 BoogieDeclarations]: Found implementation of procedure ldv_check_final_state [2024-08-15 18:25:49,982 INFO L138 BoogieDeclarations]: Found implementation of procedure foo [2024-08-15 18:25:49,982 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2024-08-15 18:25:49,982 INFO L130 BoogieDeclarations]: Found specification of procedure __bswap_32 [2024-08-15 18:25:49,982 INFO L130 BoogieDeclarations]: Found specification of procedure __bswap_64 [2024-08-15 18:25:49,982 INFO L130 BoogieDeclarations]: Found specification of procedure __ctype_get_mb_cur_max [2024-08-15 18:25:49,982 INFO L130 BoogieDeclarations]: Found specification of procedure atof [2024-08-15 18:25:49,983 INFO L130 BoogieDeclarations]: Found specification of procedure atoi [2024-08-15 18:25:49,983 INFO L130 BoogieDeclarations]: Found specification of procedure atol [2024-08-15 18:25:49,983 INFO L130 BoogieDeclarations]: Found specification of procedure atoll [2024-08-15 18:25:49,983 INFO L130 BoogieDeclarations]: Found specification of procedure strtod [2024-08-15 18:25:49,983 INFO L130 BoogieDeclarations]: Found specification of procedure strtof [2024-08-15 18:25:49,983 INFO L130 BoogieDeclarations]: Found specification of procedure strtold [2024-08-15 18:25:49,983 INFO L130 BoogieDeclarations]: Found specification of procedure strtol [2024-08-15 18:25:49,984 INFO L130 BoogieDeclarations]: Found specification of procedure strtoul [2024-08-15 18:25:49,984 INFO L130 BoogieDeclarations]: Found specification of procedure strtoq [2024-08-15 18:25:49,984 INFO L130 BoogieDeclarations]: Found specification of procedure strtouq [2024-08-15 18:25:49,984 INFO L130 BoogieDeclarations]: Found specification of procedure strtoll [2024-08-15 18:25:49,984 INFO L130 BoogieDeclarations]: Found specification of procedure strtoull [2024-08-15 18:25:49,984 INFO L130 BoogieDeclarations]: Found specification of procedure l64a [2024-08-15 18:25:49,984 INFO L130 BoogieDeclarations]: Found specification of procedure a64l [2024-08-15 18:25:49,984 INFO L130 BoogieDeclarations]: Found specification of procedure select [2024-08-15 18:25:49,985 INFO L130 BoogieDeclarations]: Found specification of procedure pselect [2024-08-15 18:25:49,985 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_major [2024-08-15 18:25:49,985 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_minor [2024-08-15 18:25:49,985 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_makedev [2024-08-15 18:25:49,985 INFO L130 BoogieDeclarations]: Found specification of procedure random [2024-08-15 18:25:49,985 INFO L130 BoogieDeclarations]: Found specification of procedure srandom [2024-08-15 18:25:49,985 INFO L130 BoogieDeclarations]: Found specification of procedure initstate [2024-08-15 18:25:49,985 INFO L130 BoogieDeclarations]: Found specification of procedure setstate [2024-08-15 18:25:49,986 INFO L130 BoogieDeclarations]: Found specification of procedure random_r [2024-08-15 18:25:49,986 INFO L130 BoogieDeclarations]: Found specification of procedure srandom_r [2024-08-15 18:25:49,986 INFO L130 BoogieDeclarations]: Found specification of procedure initstate_r [2024-08-15 18:25:49,986 INFO L130 BoogieDeclarations]: Found specification of procedure setstate_r [2024-08-15 18:25:49,986 INFO L130 BoogieDeclarations]: Found specification of procedure rand [2024-08-15 18:25:49,986 INFO L130 BoogieDeclarations]: Found specification of procedure srand [2024-08-15 18:25:49,986 INFO L130 BoogieDeclarations]: Found specification of procedure rand_r [2024-08-15 18:25:49,987 INFO L130 BoogieDeclarations]: Found specification of procedure drand48 [2024-08-15 18:25:49,987 INFO L130 BoogieDeclarations]: Found specification of procedure erand48 [2024-08-15 18:25:49,987 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48 [2024-08-15 18:25:49,987 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48 [2024-08-15 18:25:49,987 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48 [2024-08-15 18:25:49,987 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48 [2024-08-15 18:25:49,987 INFO L130 BoogieDeclarations]: Found specification of procedure srand48 [2024-08-15 18:25:49,987 INFO L130 BoogieDeclarations]: Found specification of procedure seed48 [2024-08-15 18:25:49,988 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48 [2024-08-15 18:25:49,988 INFO L130 BoogieDeclarations]: Found specification of procedure drand48_r [2024-08-15 18:25:49,988 INFO L130 BoogieDeclarations]: Found specification of procedure erand48_r [2024-08-15 18:25:49,988 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48_r [2024-08-15 18:25:49,988 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48_r [2024-08-15 18:25:49,988 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48_r [2024-08-15 18:25:49,988 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48_r [2024-08-15 18:25:49,988 INFO L130 BoogieDeclarations]: Found specification of procedure srand48_r [2024-08-15 18:25:49,989 INFO L130 BoogieDeclarations]: Found specification of procedure seed48_r [2024-08-15 18:25:49,989 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48_r [2024-08-15 18:25:49,989 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2024-08-15 18:25:49,989 INFO L130 BoogieDeclarations]: Found specification of procedure calloc [2024-08-15 18:25:49,989 INFO L130 BoogieDeclarations]: Found specification of procedure realloc [2024-08-15 18:25:49,989 INFO L130 BoogieDeclarations]: Found specification of procedure free [2024-08-15 18:25:49,989 INFO L130 BoogieDeclarations]: Found specification of procedure cfree [2024-08-15 18:25:49,990 INFO L130 BoogieDeclarations]: Found specification of procedure alloca [2024-08-15 18:25:49,990 INFO L130 BoogieDeclarations]: Found specification of procedure valloc [2024-08-15 18:25:49,990 INFO L130 BoogieDeclarations]: Found specification of procedure posix_memalign [2024-08-15 18:25:49,990 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2024-08-15 18:25:49,990 INFO L130 BoogieDeclarations]: Found specification of procedure atexit [2024-08-15 18:25:49,990 INFO L130 BoogieDeclarations]: Found specification of procedure on_exit [2024-08-15 18:25:49,990 INFO L130 BoogieDeclarations]: Found specification of procedure exit [2024-08-15 18:25:49,991 INFO L130 BoogieDeclarations]: Found specification of procedure _Exit [2024-08-15 18:25:49,991 INFO L130 BoogieDeclarations]: Found specification of procedure getenv [2024-08-15 18:25:49,991 INFO L130 BoogieDeclarations]: Found specification of procedure putenv [2024-08-15 18:25:49,991 INFO L130 BoogieDeclarations]: Found specification of procedure setenv [2024-08-15 18:25:49,991 INFO L130 BoogieDeclarations]: Found specification of procedure unsetenv [2024-08-15 18:25:49,991 INFO L130 BoogieDeclarations]: Found specification of procedure clearenv [2024-08-15 18:25:49,991 INFO L130 BoogieDeclarations]: Found specification of procedure mktemp [2024-08-15 18:25:49,992 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemp [2024-08-15 18:25:49,992 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemps [2024-08-15 18:25:49,992 INFO L130 BoogieDeclarations]: Found specification of procedure mkdtemp [2024-08-15 18:25:49,992 INFO L130 BoogieDeclarations]: Found specification of procedure system [2024-08-15 18:25:49,992 INFO L130 BoogieDeclarations]: Found specification of procedure realpath [2024-08-15 18:25:49,992 INFO L130 BoogieDeclarations]: Found specification of procedure bsearch [2024-08-15 18:25:49,992 INFO L130 BoogieDeclarations]: Found specification of procedure qsort [2024-08-15 18:25:49,992 INFO L130 BoogieDeclarations]: Found specification of procedure abs [2024-08-15 18:25:49,993 INFO L130 BoogieDeclarations]: Found specification of procedure labs [2024-08-15 18:25:49,993 INFO L130 BoogieDeclarations]: Found specification of procedure llabs [2024-08-15 18:25:49,993 INFO L130 BoogieDeclarations]: Found specification of procedure div [2024-08-15 18:25:49,993 INFO L130 BoogieDeclarations]: Found specification of procedure ldiv [2024-08-15 18:25:49,993 INFO L130 BoogieDeclarations]: Found specification of procedure lldiv [2024-08-15 18:25:49,993 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt [2024-08-15 18:25:49,993 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt [2024-08-15 18:25:49,994 INFO L130 BoogieDeclarations]: Found specification of procedure gcvt [2024-08-15 18:25:49,994 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt [2024-08-15 18:25:49,994 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt [2024-08-15 18:25:49,994 INFO L130 BoogieDeclarations]: Found specification of procedure qgcvt [2024-08-15 18:25:49,994 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt_r [2024-08-15 18:25:49,994 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt_r [2024-08-15 18:25:49,994 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt_r [2024-08-15 18:25:49,994 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt_r [2024-08-15 18:25:49,995 INFO L130 BoogieDeclarations]: Found specification of procedure mblen [2024-08-15 18:25:49,995 INFO L130 BoogieDeclarations]: Found specification of procedure mbtowc [2024-08-15 18:25:49,995 INFO L130 BoogieDeclarations]: Found specification of procedure wctomb [2024-08-15 18:25:49,995 INFO L130 BoogieDeclarations]: Found specification of procedure mbstowcs [2024-08-15 18:25:49,995 INFO L130 BoogieDeclarations]: Found specification of procedure wcstombs [2024-08-15 18:25:49,995 INFO L130 BoogieDeclarations]: Found specification of procedure rpmatch [2024-08-15 18:25:49,995 INFO L130 BoogieDeclarations]: Found specification of procedure getsubopt [2024-08-15 18:25:49,996 INFO L130 BoogieDeclarations]: Found specification of procedure getloadavg [2024-08-15 18:25:49,996 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2024-08-15 18:25:49,996 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_perror_fail [2024-08-15 18:25:49,996 INFO L130 BoogieDeclarations]: Found specification of procedure __assert [2024-08-15 18:25:49,996 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2024-08-15 18:25:49,996 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2024-08-15 18:25:49,996 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2024-08-15 18:25:49,996 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2024-08-15 18:25:49,997 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_malloc [2024-08-15 18:25:49,997 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2024-08-15 18:25:49,997 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_successful_malloc [2024-08-15 18:25:49,997 INFO L130 BoogieDeclarations]: Found specification of procedure LDV_INIT_LIST_HEAD [2024-08-15 18:25:49,997 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$#0 [2024-08-15 18:25:49,997 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$#1 [2024-08-15 18:25:49,997 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$#2 [2024-08-15 18:25:49,998 INFO L130 BoogieDeclarations]: Found specification of procedure __ldv_list_add [2024-08-15 18:25:49,998 INFO L130 BoogieDeclarations]: Found specification of procedure __ldv_list_del [2024-08-15 18:25:49,998 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_list_add [2024-08-15 18:25:49,998 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$#0 [2024-08-15 18:25:49,998 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$#1 [2024-08-15 18:25:49,998 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$#2 [2024-08-15 18:25:49,998 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_list_add_tail [2024-08-15 18:25:49,998 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_list_del [2024-08-15 18:25:49,999 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_list_empty [2024-08-15 18:25:49,999 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_init_set [2024-08-15 18:25:49,999 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_set_add [2024-08-15 18:25:49,999 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_set_del [2024-08-15 18:25:49,999 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_is_in_set [2024-08-15 18:25:49,999 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_set_empty [2024-08-15 18:25:49,999 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2024-08-15 18:25:49,999 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_initialize [2024-08-15 18:25:49,999 INFO L130 BoogieDeclarations]: Found specification of procedure mutex_lock [2024-08-15 18:25:50,000 INFO L130 BoogieDeclarations]: Found specification of procedure mutex_unlock [2024-08-15 18:25:50,000 INFO L130 BoogieDeclarations]: Found specification of procedure ldv_check_final_state [2024-08-15 18:25:50,000 INFO L130 BoogieDeclarations]: Found specification of procedure foo [2024-08-15 18:25:50,000 INFO L130 BoogieDeclarations]: Found specification of procedure main [2024-08-15 18:25:50,000 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2024-08-15 18:25:50,000 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2024-08-15 18:25:50,000 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2024-08-15 18:25:50,001 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#2 [2024-08-15 18:25:50,001 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$#0 [2024-08-15 18:25:50,001 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$#1 [2024-08-15 18:25:50,001 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$#2 [2024-08-15 18:25:50,001 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2024-08-15 18:25:50,001 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2024-08-15 18:25:50,001 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2024-08-15 18:25:50,002 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#2 [2024-08-15 18:25:50,002 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2024-08-15 18:25:50,002 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2024-08-15 18:25:50,002 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#2 [2024-08-15 18:25:50,207 INFO L273 CfgBuilder]: Building ICFG [2024-08-15 18:25:50,210 INFO L304 CfgBuilder]: Building CFG for each procedure with an implementation [2024-08-15 18:25:50,244 INFO L1266 $ProcedureCfgBuilder]: dead code at ProgramPoint L65: havoc #t~nondet0; [2024-08-15 18:25:50,295 INFO L1266 $ProcedureCfgBuilder]: dead code at ProgramPoint L570: havoc #t~malloc4.base, #t~malloc4.offset; [2024-08-15 18:25:50,301 INFO L1266 $ProcedureCfgBuilder]: dead code at ProgramPoint L663: havoc #t~ret31; [2024-08-15 18:25:50,384 INFO L1266 $ProcedureCfgBuilder]: dead code at ProgramPoint L620: havoc #t~mem10.base, #t~mem10.offset; [2024-08-15 18:25:50,394 INFO L1266 $ProcedureCfgBuilder]: dead code at ProgramPoint L70: havoc #t~nondet1; [2024-08-15 18:25:50,503 INFO L? ?]: Removed 43 outVars from TransFormulas that were not future-live. [2024-08-15 18:25:50,503 INFO L327 CfgBuilder]: Performing block encoding [2024-08-15 18:25:50,518 INFO L349 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2024-08-15 18:25:50,519 INFO L354 CfgBuilder]: Removed 0 assume(true) statements. [2024-08-15 18:25:50,520 INFO L201 PluginConnector]: Adding new model witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 15.08 06:25:50 BoogieIcfgContainer [2024-08-15 18:25:50,521 INFO L131 PluginConnector]: ------------------------ END IcfgBuilder---------------------------- [2024-08-15 18:25:50,524 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2024-08-15 18:25:50,524 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2024-08-15 18:25:50,527 INFO L274 PluginConnector]: TraceAbstraction initialized [2024-08-15 18:25:50,527 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.08 06:25:48" (1/4) ... [2024-08-15 18:25:50,528 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3add298b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.08 06:25:50, skipping insertion in model container [2024-08-15 18:25:50,528 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.witnessparser VIOLATION_WITNESS 15.08 06:25:49" (2/4) ... [2024-08-15 18:25:50,528 WARN L100 eAbstractionObserver]: Found a witness in the YAML format. I will only consider traces that are accepted by the witness [2024-08-15 18:25:50,530 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3add298b and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction VIOLATION_WITNESS 15.08 06:25:50, skipping insertion in model container [2024-08-15 18:25:50,530 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator VIOLATION_WITNESS 15.08 06:25:49" (3/4) ... [2024-08-15 18:25:50,531 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3add298b and model type witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction VIOLATION_WITNESS 15.08 06:25:50, skipping insertion in model container [2024-08-15 18:25:50,531 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 15.08 06:25:50" (4/4) ... [2024-08-15 18:25:50,533 INFO L128 eAbstractionObserver]: Analyzing ICFG test_mutex_double_lock.i [2024-08-15 18:25:50,551 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2024-08-15 18:25:50,552 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 3 error locations. [2024-08-15 18:25:50,584 INFO L90 WitnessUtils]: Constructing product of automaton with 118 states and violation witness of the following lengths: [39] [2024-08-15 18:25:51,111 INFO L95 WitnessUtils]: Product has 1646 reachable states. [2024-08-15 18:25:51,133 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2024-08-15 18:25:51,142 INFO L357 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=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopHeads, 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, mPorIndependenceSettings=[Lde.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings;@4a480c45, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2024-08-15 18:25:51,142 INFO L358 AbstractCegarLoop]: Starting to check reachability of 3 error locations. [2024-08-15 18:25:51,144 INFO L276 IsEmpty]: Start isEmpty. Operand 1646 states and 1939 transitions. [2024-08-15 18:25:51,166 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 90 [2024-08-15 18:25:51,166 INFO L187 NwaCegarLoop]: Found error trace [2024-08-15 18:25:51,168 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-08-15 18:25:51,168 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting mutex_lockErr0ASSERT_VIOLATIONERROR_FUNCTION === [mutex_unlockErr0ASSERT_VIOLATIONERROR_FUNCTION, mutex_lockErr0ASSERT_VIOLATIONERROR_FUNCTION, ldv_check_final_stateErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2024-08-15 18:25:51,175 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-08-15 18:25:51,175 INFO L85 PathProgramCache]: Analyzing trace with hash -1193713619, now seen corresponding path program 1 times [2024-08-15 18:25:51,183 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-08-15 18:25:51,185 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1727364704] [2024-08-15 18:25:51,186 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-08-15 18:25:51,186 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-08-15 18:25:51,366 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-15 18:25:51,543 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2024-08-15 18:25:51,548 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-15 18:25:51,564 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2024-08-15 18:25:51,568 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-15 18:25:51,579 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2024-08-15 18:25:51,586 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-15 18:25:51,596 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2024-08-15 18:25:51,598 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-15 18:25:51,603 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2024-08-15 18:25:51,607 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-15 18:25:51,616 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2024-08-15 18:25:51,617 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-15 18:25:51,640 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 31 [2024-08-15 18:25:51,671 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-15 18:25:51,698 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2024-08-15 18:25:51,701 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-15 18:25:51,707 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2024-08-15 18:25:51,731 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-15 18:25:51,802 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2024-08-15 18:25:51,804 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-15 18:25:51,811 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2024-08-15 18:25:51,824 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-15 18:25:51,839 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2024-08-15 18:25:51,841 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-15 18:25:51,865 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2024-08-15 18:25:51,880 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-15 18:25:51,899 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2024-08-15 18:25:51,913 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-15 18:25:51,921 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 78 [2024-08-15 18:25:51,930 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-15 18:25:51,937 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2024-08-15 18:25:51,937 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2024-08-15 18:25:51,938 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1727364704] [2024-08-15 18:25:51,938 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1727364704] provided 0 perfect and 1 imperfect interpolant sequences [2024-08-15 18:25:51,939 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [473084109] [2024-08-15 18:25:51,939 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-08-15 18:25:51,939 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2024-08-15 18:25:51,939 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2024-08-15 18:25:51,958 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2024-08-15 18:25:51,967 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2024-08-15 18:25:52,252 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2024-08-15 18:25:52,257 INFO L262 TraceCheckSpWp]: Trace formula consists of 482 conjuncts, 1 conjunts are in the unsatisfiable core [2024-08-15 18:25:52,265 INFO L285 TraceCheckSpWp]: Computing forward predicates... [2024-08-15 18:25:52,284 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 24 proven. 0 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2024-08-15 18:25:52,284 INFO L323 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2024-08-15 18:25:52,285 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [473084109] provided 1 perfect and 0 imperfect interpolant sequences [2024-08-15 18:25:52,285 INFO L185 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2024-08-15 18:25:52,285 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [6] total 6 [2024-08-15 18:25:52,288 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1097278539] [2024-08-15 18:25:52,289 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2024-08-15 18:25:52,298 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2024-08-15 18:25:52,298 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2024-08-15 18:25:52,339 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2024-08-15 18:25:52,340 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2024-08-15 18:25:52,344 INFO L87 Difference]: Start difference. First operand 1646 states and 1939 transitions. Second operand has 2 states, 2 states have (on average 22.5) internal successors, (45), 2 states have internal predecessors, (45), 2 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (14), 2 states have call predecessors, (14), 2 states have call successors, (14) [2024-08-15 18:25:52,383 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2024-08-15 18:25:52,384 INFO L93 Difference]: Finished difference Result 839 states and 931 transitions. [2024-08-15 18:25:52,385 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2024-08-15 18:25:52,387 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 22.5) internal successors, (45), 2 states have internal predecessors, (45), 2 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (14), 2 states have call predecessors, (14), 2 states have call successors, (14) Word has length 89 [2024-08-15 18:25:52,387 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2024-08-15 18:25:52,403 INFO L225 Difference]: With dead ends: 839 [2024-08-15 18:25:52,403 INFO L226 Difference]: Without dead ends: 100 [2024-08-15 18:25:52,406 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 124 GetRequests, 120 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2024-08-15 18:25:52,412 INFO L413 NwaCegarLoop]: 122 mSDtfsCounter, 0 mSDsluCounter, 0 mSDsCounter, 0 mSdLazyCounter, 0 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 122 SdHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 0 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2024-08-15 18:25:52,414 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 122 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2024-08-15 18:25:52,436 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states. [2024-08-15 18:25:52,480 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 99. [2024-08-15 18:25:52,482 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 99 states, 65 states have (on average 1.0461538461538462) internal successors, (68), 65 states have internal predecessors, (68), 18 states have call successors, (18), 18 states have call predecessors, (18), 15 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2024-08-15 18:25:52,484 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 99 states to 99 states and 101 transitions. [2024-08-15 18:25:52,486 INFO L78 Accepts]: Start accepts. Automaton has 99 states and 101 transitions. Word has length 89 [2024-08-15 18:25:52,487 INFO L84 Accepts]: Finished accepts. word is rejected. [2024-08-15 18:25:52,487 INFO L495 AbstractCegarLoop]: Abstraction has 99 states and 101 transitions. [2024-08-15 18:25:52,487 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 22.5) internal successors, (45), 2 states have internal predecessors, (45), 2 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (14), 2 states have call predecessors, (14), 2 states have call successors, (14) [2024-08-15 18:25:52,488 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 101 transitions. [2024-08-15 18:25:52,490 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2024-08-15 18:25:52,492 INFO L187 NwaCegarLoop]: Found error trace [2024-08-15 18:25:52,493 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2024-08-15 18:25:52,514 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2024-08-15 18:25:52,693 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable0 [2024-08-15 18:25:52,695 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting mutex_lockErr0ASSERT_VIOLATIONERROR_FUNCTION === [mutex_unlockErr0ASSERT_VIOLATIONERROR_FUNCTION, mutex_lockErr0ASSERT_VIOLATIONERROR_FUNCTION, ldv_check_final_stateErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2024-08-15 18:25:52,697 INFO L160 PredicateUnifier]: Initialized classic predicate unifier [2024-08-15 18:25:52,697 INFO L85 PathProgramCache]: Analyzing trace with hash 1694541797, now seen corresponding path program 1 times [2024-08-15 18:25:52,698 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2024-08-15 18:25:52,698 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1765846280] [2024-08-15 18:25:52,698 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2024-08-15 18:25:52,698 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2024-08-15 18:25:52,819 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-08-15 18:25:52,819 INFO L356 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2024-08-15 18:25:52,873 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2024-08-15 18:25:52,922 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2024-08-15 18:25:52,923 INFO L360 BasicCegarLoop]: Counterexample is feasible [2024-08-15 18:25:52,924 INFO L805 garLoopResultBuilder]: Registering result UNSAFE for location mutex_lockErr0ASSERT_VIOLATIONERROR_FUNCTION (2 of 3 remaining) [2024-08-15 18:25:52,927 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location mutex_unlockErr0ASSERT_VIOLATIONERROR_FUNCTION (1 of 3 remaining) [2024-08-15 18:25:52,927 INFO L805 garLoopResultBuilder]: Registering result UNKNOWN for location ldv_check_final_stateErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 3 remaining) [2024-08-15 18:25:52,927 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2024-08-15 18:25:52,931 INFO L445 BasicCegarLoop]: Path program histogram: [1, 1] [2024-08-15 18:25:52,936 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2024-08-15 18:25:52,965 WARN L916 BoogieBacktranslator]: Unfinished Backtranslation: Expression type not yet supported in backtranslation: TemporaryPointerExpression [2024-08-15 18:25:52,990 WARN L916 BoogieBacktranslator]: Unfinished Backtranslation: The program execution was not completely translated back. [2024-08-15 18:25:53,005 INFO L201 PluginConnector]: Adding new model witness.yml de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 15.08 06:25:53 BoogieIcfgContainer [2024-08-15 18:25:53,006 INFO L131 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2024-08-15 18:25:53,007 INFO L158 Benchmark]: Toolchain (without parser) took 3939.01ms. Allocated memory was 188.7MB in the beginning and 283.1MB in the end (delta: 94.4MB). Free memory was 114.0MB in the beginning and 175.8MB in the end (delta: -61.9MB). Peak memory consumption was 37.7MB. Max. memory is 16.1GB. [2024-08-15 18:25:53,007 INFO L158 Benchmark]: CDTParser took 0.20ms. Allocated memory is still 188.7MB. Free memory is still 145.5MB. There was no memory consumed. Max. memory is 16.1GB. [2024-08-15 18:25:53,007 INFO L158 Benchmark]: Witness Parser took 0.25ms. Allocated memory is still 188.7MB. Free memory is still 117.2MB. There was no memory consumed. Max. memory is 16.1GB. [2024-08-15 18:25:53,007 INFO L158 Benchmark]: CACSL2BoogieTranslator took 647.37ms. Allocated memory is still 188.7MB. Free memory was 113.7MB in the beginning and 154.3MB in the end (delta: -40.6MB). Peak memory consumption was 21.0MB. Max. memory is 16.1GB. [2024-08-15 18:25:53,008 INFO L158 Benchmark]: Boogie Preprocessor took 171.55ms. Allocated memory is still 188.7MB. Free memory was 154.3MB in the beginning and 148.8MB in the end (delta: 5.5MB). Peak memory consumption was 6.3MB. Max. memory is 16.1GB. [2024-08-15 18:25:53,008 INFO L158 Benchmark]: IcfgBuilder took 631.79ms. Allocated memory is still 188.7MB. Free memory was 148.8MB in the beginning and 114.4MB in the end (delta: 34.3MB). Peak memory consumption was 33.6MB. Max. memory is 16.1GB. [2024-08-15 18:25:53,009 INFO L158 Benchmark]: TraceAbstraction took 2482.22ms. Allocated memory was 188.7MB in the beginning and 283.1MB in the end (delta: 94.4MB). Free memory was 113.3MB in the beginning and 175.8MB in the end (delta: -62.5MB). Peak memory consumption was 33.8MB. Max. memory is 16.1GB. [2024-08-15 18:25:53,010 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 188.7MB. Free memory is still 145.5MB. There was no memory consumed. Max. memory is 16.1GB. * Witness Parser took 0.25ms. Allocated memory is still 188.7MB. Free memory is still 117.2MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 647.37ms. Allocated memory is still 188.7MB. Free memory was 113.7MB in the beginning and 154.3MB in the end (delta: -40.6MB). Peak memory consumption was 21.0MB. Max. memory is 16.1GB. * Boogie Preprocessor took 171.55ms. Allocated memory is still 188.7MB. Free memory was 154.3MB in the beginning and 148.8MB in the end (delta: 5.5MB). Peak memory consumption was 6.3MB. Max. memory is 16.1GB. * IcfgBuilder took 631.79ms. Allocated memory is still 188.7MB. Free memory was 148.8MB in the beginning and 114.4MB in the end (delta: 34.3MB). Peak memory consumption was 33.6MB. Max. memory is 16.1GB. * TraceAbstraction took 2482.22ms. Allocated memory was 188.7MB in the beginning and 283.1MB in the end (delta: 94.4MB). Free memory was 113.3MB in the beginning and 175.8MB in the end (delta: -62.5MB). Peak memory consumption was 33.8MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: Expression type not yet supported in backtranslation: TemporaryPointerExpression - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: The program execution was not completely translated back. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - CounterExampleResult [Line: 669]: a call to reach_error is reachable a call to reach_error is reachable We found a FailurePath: [L665] struct ldv_list_head mutexes = { &(mutexes), &(mutexes) }; [L665] struct ldv_list_head mutexes = { &(mutexes), &(mutexes) }; [L665] struct ldv_list_head mutexes = { &(mutexes), &(mutexes) }; VAL [mutexes={3:0}] [L692] CALL foo() VAL [mutexes={3:0}] [L681] FCALL ldv_initialize() VAL [mutexes={3:0}] [L682] CALL, EXPR ldv_successful_malloc(sizeof(struct mutex)) VAL [\old(size)=8, mutexes={3:0}] [L576] void *ptr = malloc(size); [L577] CALL assume_abort_if_not(ptr!=0) VAL [\old(cond)=1, mutexes={3:0}] [L565] COND FALSE !(!cond) VAL [\old(cond)=1, mutexes={3:0}] [L577] RET assume_abort_if_not(ptr!=0) VAL [\old(size)=8, mutexes={3:0}, ptr={-1:0}] [L578] return ptr; VAL [\old(size)=8, \result={-1:0}, mutexes={3:0}] [L682] RET, EXPR ldv_successful_malloc(sizeof(struct mutex)) VAL [mutexes={3:0}] [L682] struct mutex *m1 = ldv_successful_malloc(sizeof(struct mutex)); [L683] CALL, EXPR ldv_successful_malloc(sizeof(struct mutex)) VAL [\old(size)=8, mutexes={3:0}] [L576] void *ptr = malloc(size); [L577] CALL assume_abort_if_not(ptr!=0) VAL [\old(cond)=1, mutexes={3:0}] [L565] COND FALSE !(!cond) VAL [\old(cond)=1, mutexes={3:0}] [L577] RET assume_abort_if_not(ptr!=0) VAL [\old(size)=8, mutexes={3:0}, ptr={-2:0}] [L578] return ptr; VAL [\old(size)=8, \result={-2:0}, mutexes={3:0}] [L683] RET, EXPR ldv_successful_malloc(sizeof(struct mutex)) VAL [m1={-1:0}, mutexes={3:0}] [L683] struct mutex *m2 = ldv_successful_malloc(sizeof(struct mutex)); [L684] CALL mutex_lock(m1) VAL [\old(m)={-1:0}, mutexes={3:0}] [L669] CALL ldv_is_in_set(m, &mutexes) VAL [\old(e)={-1:0}, \old(s)={3:0}, mutexes={3:0}] [L654] struct ldv_list_element *m; [L655] EXPR (s)->next [L655] const typeof( ((typeof(*m) *)0)->list ) *__mptr = ((s)->next); [L655] { const typeof( ((typeof(*m) *)0)->list ) *__mptr = ((s)->next); (typeof(*m) *)( (char *)__mptr - ((size_t) &((typeof(*m) *)0)->list) );} [L655] m = ({ const typeof( ((typeof(*m) *)0)->list ) *__mptr = ((s)->next); (typeof(*m) *)( (char *)__mptr - ((size_t) &((typeof(*m) *)0)->list) );}) [L655] COND FALSE !(&m->list != (s)) VAL [\old(e)={-1:0}, \old(s)={3:0}, e={-1:0}, mutexes={3:0}] [L660] return 0; VAL [\old(e)={-1:0}, \old(s)={3:0}, \result=0, e={-1:0}, mutexes={3:0}] [L669] RET ldv_is_in_set(m, &mutexes) VAL [\old(m)={-1:0}, m={-1:0}, mutexes={3:0}] [L669] COND FALSE !(ldv_is_in_set(m, &mutexes)) [L670] CALL ldv_set_add(m, &mutexes) VAL [\old(new)={-1:0}, \old(s)={3:0}, mutexes={3:0}] [L636] CALL, EXPR ldv_is_in_set(new, s) VAL [\old(e)={-1:0}, \old(s)={3:0}, mutexes={3:0}] [L654] struct ldv_list_element *m; [L655] EXPR (s)->next [L655] const typeof( ((typeof(*m) *)0)->list ) *__mptr = ((s)->next); [L655] { const typeof( ((typeof(*m) *)0)->list ) *__mptr = ((s)->next); (typeof(*m) *)( (char *)__mptr - ((size_t) &((typeof(*m) *)0)->list) );} [L655] m = ({ const typeof( ((typeof(*m) *)0)->list ) *__mptr = ((s)->next); (typeof(*m) *)( (char *)__mptr - ((size_t) &((typeof(*m) *)0)->list) );}) [L655] COND FALSE !(&m->list != (s)) VAL [\old(e)={-1:0}, \old(s)={3:0}, e={-1:0}, mutexes={3:0}] [L660] return 0; VAL [\old(e)={-1:0}, \old(s)={3:0}, \result=0, e={-1:0}, mutexes={3:0}] [L636] RET, EXPR ldv_is_in_set(new, s) VAL [\old(new)={-1:0}, \old(s)={3:0}, mutexes={3:0}, new={-1:0}, s={3:0}] [L636] COND TRUE !ldv_is_in_set(new, s) [L637] struct ldv_list_element *le; VAL [\old(new)={-1:0}, \old(s)={3:0}, mutexes={3:0}, new={-1:0}, s={3:0}] [L638] CALL, EXPR ldv_successful_malloc(sizeof(struct ldv_list_element)) VAL [\old(size)=12, mutexes={3:0}] [L576] void *ptr = malloc(size); [L577] CALL assume_abort_if_not(ptr!=0) VAL [\old(cond)=1, mutexes={3:0}] [L565] COND FALSE !(!cond) VAL [\old(cond)=1, mutexes={3:0}] [L577] RET assume_abort_if_not(ptr!=0) VAL [\old(size)=12, mutexes={3:0}, ptr={-3:0}] [L578] return ptr; VAL [\old(size)=12, \result={-3:0}, mutexes={3:0}] [L638] RET, EXPR ldv_successful_malloc(sizeof(struct ldv_list_element)) VAL [\old(new)={-1:0}, \old(s)={3:0}, mutexes={3:0}, new={-1:0}, s={3:0}] [L638] le = (struct ldv_list_element*)ldv_successful_malloc(sizeof(struct ldv_list_element)) [L639] le->e = new VAL [\old(new)={-1:0}, \old(s)={3:0}, le={-3:0}, mutexes={3:0}, s={3:0}] [L640] CALL ldv_list_add(&le->list, s) VAL [\old(head)={3:0}, \old(new)={-3:4}, mutexes={3:0}] [L608] EXPR head->next VAL [\old(head)={3:0}, \old(new)={-3:4}, head={3:0}, mutexes={3:0}, new={-3:4}] [L608] CALL __ldv_list_add(new, head, head->next) VAL [\old(new)={-3:4}, \old(next)={3:0}, \old(prev)={3:0}, mutexes={3:0}] [L596] next->prev = new [L597] new->next = next [L598] new->prev = prev [L599] prev->next = new VAL [\old(new)={-3:4}, \old(next)={3:0}, \old(prev)={3:0}, mutexes={3:0}] [L608] RET __ldv_list_add(new, head, head->next) VAL [\old(head)={3:0}, \old(new)={-3:4}, head={3:0}, mutexes={3:0}, new={-3:4}] [L640] RET ldv_list_add(&le->list, s) VAL [\old(new)={-1:0}, \old(s)={3:0}, le={-3:0}, mutexes={3:0}, s={3:0}] [L670] RET ldv_set_add(m, &mutexes) VAL [\old(m)={-1:0}, m={-1:0}, mutexes={3:0}] [L684] RET mutex_lock(m1) VAL [m1={-1:0}, m2={-2:0}, mutexes={3:0}] [L685] CALL mutex_lock(m1) VAL [\old(m)={-1:0}, mutexes={3:0}] [L669] CALL ldv_is_in_set(m, &mutexes) VAL [\old(e)={-1:0}, \old(s)={3:0}, mutexes={3:0}] [L654] struct ldv_list_element *m; [L655] EXPR (s)->next [L655] const typeof( ((typeof(*m) *)0)->list ) *__mptr = ((s)->next); [L655] { const typeof( ((typeof(*m) *)0)->list ) *__mptr = ((s)->next); (typeof(*m) *)( (char *)__mptr - ((size_t) &((typeof(*m) *)0)->list) );} [L655] m = ({ const typeof( ((typeof(*m) *)0)->list ) *__mptr = ((s)->next); (typeof(*m) *)( (char *)__mptr - ((size_t) &((typeof(*m) *)0)->list) );}) [L655] COND TRUE &m->list != (s) VAL [\old(e)={-1:0}, \old(s)={3:0}, e={-1:0}, m={-3:0}, mutexes={3:0}, s={3:0}] [L656] EXPR m->e VAL [\old(e)={-1:0}, \old(s)={3:0}, e={-1:0}, m={-3:0}, mutexes={3:0}, s={3:0}] [L656] COND TRUE m->e == e [L657] return 1; VAL [\old(e)={-1:0}, \old(s)={3:0}, \result=1, m={-3:0}, mutexes={3:0}, s={3:0}] [L669] RET ldv_is_in_set(m, &mutexes) VAL [\old(m)={-1:0}, m={-1:0}, mutexes={3:0}] [L669] COND TRUE ldv_is_in_set(m, &mutexes) [L669] reach_error() VAL [\old(m)={-1:0}, m={-1:0}, mutexes={3:0}] - UnprovableResult [Line: 673]: Unable to prove that a call to reach_error is unreachable Unable to prove that a call to reach_error is unreachable Reason: Not analyzed. - UnprovableResult [Line: 677]: Unable to prove that a call to reach_error is unreachable Unable to prove that a call to reach_error is unreachable Reason: Not analyzed. - StatisticsResult: Ultimate Automizer benchmark data CFG has 26 procedures, 140 locations, 3 error locations. Started 1 CEGAR loops. OverallTime: 2.3s, OverallIterations: 2, TraceHistogramMax: 3, PathProgramHistogramMax: 1, EmptinessCheckTime: 0.0s, AutomataDifference: 0.1s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.5s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 0 SdHoareTripleChecker+Valid, 0.0s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 0 mSDsluCounter, 122 SdHoareTripleChecker+Invalid, 0.0s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 0 mSDsCounter, 0 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 0 IncrementalHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 0 mSolverCounterUnsat, 122 mSDtfsCounter, 0 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 124 GetRequests, 120 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.1s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=1646occurred in iteration=0, InterpolantAutomatonStates: 2, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.1s AutomataMinimizationTime, 1 MinimizatonAttempts, 1 StatesRemovedByMinimization, 1 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.2s SatisfiabilityAnalysisTime, 0.6s InterpolantComputationTime, 269 NumberOfCodeBlocks, 269 NumberOfCodeBlocksAsserted, 3 NumberOfCheckSat, 176 ConstructedInterpolants, 0 QuantifiedInterpolants, 248 SizeOfPredicates, 0 NumberOfNonLiveVariables, 482 ConjunctsInSsa, 1 ConjunctsInUnsatCore, 2 InterpolantComputations, 1 PerfectInterpolantSequences, 84/88 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! [2024-08-15 18:25:53,042 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:1024 -smt2 -in -t:12000 (1)] Ended with exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Writing output log to file Ultimate.log Writing human readable error path to file UltimateCounterExample.errorpath Result: FALSE