./Ultimate.py --spec ../sv-benchmarks/c/properties/no-data-race.prp --file ../sv-benchmarks/c/pthread-race-challenges/thread-join-counter-outer-race.i --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for data races Using default analysis Version 551b0097 Calling Ultimate with: /root/.sdkman/candidates/java/21.0.5-tem/bin/java -Dosgi.configuration.area=/storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/pthread-race-challenges/thread-join-counter-outer-race.i -s /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-DataRace-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! data-race) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 47827fdca8ccc83dae99015d656cdcf2872ea585121905304e5ffb2ef40b4eac --- Real Ultimate output --- This is Ultimate 0.3.0-?-551b009-m [2025-01-09 21:39:29,741 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-01-09 21:39:29,802 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-DataRace-32bit-Automizer_Default.epf [2025-01-09 21:39:29,807 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-01-09 21:39:29,808 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-01-09 21:39:29,841 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-01-09 21:39:29,843 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-01-09 21:39:29,843 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-01-09 21:39:29,843 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-01-09 21:39:29,843 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-01-09 21:39:29,844 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-01-09 21:39:29,845 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-01-09 21:39:29,845 INFO L153 SettingsManager]: * Use SBE=true [2025-01-09 21:39:29,845 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-01-09 21:39:29,845 INFO L153 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2025-01-09 21:39:29,846 INFO L153 SettingsManager]: * sizeof long=4 [2025-01-09 21:39:29,846 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-01-09 21:39:29,846 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-01-09 21:39:29,846 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-01-09 21:39:29,846 INFO L153 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2025-01-09 21:39:29,846 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-01-09 21:39:29,846 INFO L153 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2025-01-09 21:39:29,847 INFO L153 SettingsManager]: * Check absence of data races in concurrent programs=true [2025-01-09 21:39:29,847 INFO L153 SettingsManager]: * Check unreachability of reach_error function=false [2025-01-09 21:39:29,847 INFO L153 SettingsManager]: * sizeof long double=12 [2025-01-09 21:39:29,847 INFO L153 SettingsManager]: * Check if freed pointer was valid=false [2025-01-09 21:39:29,847 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-01-09 21:39:29,847 INFO L153 SettingsManager]: * Use constant arrays=true [2025-01-09 21:39:29,847 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-01-09 21:39:29,847 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 21:39:29,847 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 21:39:29,848 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 21:39:29,848 INFO L151 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2025-01-09 21:39:29,849 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-01-09 21:39:29,849 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-01-09 21:39:29,849 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 21:39:29,849 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-01-09 21:39:29,849 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-01-09 21:39:29,849 INFO L153 SettingsManager]: * Compute procedure contracts=false [2025-01-09 21:39:29,850 INFO L153 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopHeads [2025-01-09 21:39:29,850 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-01-09 21:39:29,851 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2025-01-09 21:39:29,851 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-01-09 21:39:29,851 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-01-09 21:39:29,851 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-01-09 21:39:29,851 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-01-09 21:39:29,851 INFO L153 SettingsManager]: * Looper check in Petri net analysis=SEMANTIC Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux 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 ! data-race) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 47827fdca8ccc83dae99015d656cdcf2872ea585121905304e5ffb2ef40b4eac [2025-01-09 21:39:30,148 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-01-09 21:39:30,156 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-01-09 21:39:30,159 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-01-09 21:39:30,160 INFO L270 PluginConnector]: Initializing CDTParser... [2025-01-09 21:39:30,161 INFO L274 PluginConnector]: CDTParser initialized [2025-01-09 21:39:30,163 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/pthread-race-challenges/thread-join-counter-outer-race.i [2025-01-09 21:39:31,541 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/7ebc6e83a/34ece3877abe46ba86e175d862d856e3/FLAG3c249d951 [2025-01-09 21:39:31,898 INFO L384 CDTParser]: Found 1 translation units. [2025-01-09 21:39:31,899 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/pthread-race-challenges/thread-join-counter-outer-race.i [2025-01-09 21:39:31,911 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/7ebc6e83a/34ece3877abe46ba86e175d862d856e3/FLAG3c249d951 [2025-01-09 21:39:31,924 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/7ebc6e83a/34ece3877abe46ba86e175d862d856e3 [2025-01-09 21:39:31,926 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-01-09 21:39:31,928 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-01-09 21:39:31,929 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-01-09 21:39:31,930 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-01-09 21:39:31,934 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-01-09 21:39:31,934 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 09:39:31" (1/1) ... [2025-01-09 21:39:31,935 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3571874d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 09:39:31, skipping insertion in model container [2025-01-09 21:39:31,935 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 09.01 09:39:31" (1/1) ... [2025-01-09 21:39:31,970 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-01-09 21:39:32,283 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 21:39:32,297 INFO L200 MainTranslator]: Completed pre-run [2025-01-09 21:39:32,349 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-01-09 21:39:32,386 INFO L204 MainTranslator]: Completed translation [2025-01-09 21:39:32,388 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 09:39:32 WrapperNode [2025-01-09 21:39:32,388 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-01-09 21:39:32,389 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-01-09 21:39:32,390 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-01-09 21:39:32,390 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-01-09 21:39:32,396 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 09:39:32" (1/1) ... [2025-01-09 21:39:32,405 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 09:39:32" (1/1) ... [2025-01-09 21:39:32,422 INFO L138 Inliner]: procedures = 159, calls = 12, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 55 [2025-01-09 21:39:32,423 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-01-09 21:39:32,423 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-01-09 21:39:32,423 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-01-09 21:39:32,423 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-01-09 21:39:32,432 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 09:39:32" (1/1) ... [2025-01-09 21:39:32,432 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 09:39:32" (1/1) ... [2025-01-09 21:39:32,436 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 09:39:32" (1/1) ... [2025-01-09 21:39:32,436 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 09:39:32" (1/1) ... [2025-01-09 21:39:32,440 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 09:39:32" (1/1) ... [2025-01-09 21:39:32,444 INFO L184 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 09:39:32" (1/1) ... [2025-01-09 21:39:32,450 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 09:39:32" (1/1) ... [2025-01-09 21:39:32,453 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 09:39:32" (1/1) ... [2025-01-09 21:39:32,454 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 09:39:32" (1/1) ... [2025-01-09 21:39:32,456 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-01-09 21:39:32,456 INFO L112 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2025-01-09 21:39:32,457 INFO L270 PluginConnector]: Initializing RCFGBuilder... [2025-01-09 21:39:32,457 INFO L274 PluginConnector]: RCFGBuilder initialized [2025-01-09 21:39:32,457 INFO L184 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 09:39:32" (1/1) ... [2025-01-09 21:39:32,465 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-01-09 21:39:32,476 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-01-09 21:39:32,486 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (exit command is (exit), workingDir is null) [2025-01-09 21:39:32,488 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Waiting until timeout for monitored process [2025-01-09 21:39:32,505 INFO L130 BoogieDeclarations]: Found specification of procedure #PthreadsMutexLock [2025-01-09 21:39:32,506 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-01-09 21:39:32,506 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2025-01-09 21:39:32,506 INFO L130 BoogieDeclarations]: Found specification of procedure thread [2025-01-09 21:39:32,506 INFO L138 BoogieDeclarations]: Found implementation of procedure thread [2025-01-09 21:39:32,506 INFO L130 BoogieDeclarations]: Found specification of procedure #PthreadsMutexUnlock [2025-01-09 21:39:32,506 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-01-09 21:39:32,506 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-01-09 21:39:32,507 WARN L203 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement. [2025-01-09 21:39:32,620 INFO L234 CfgBuilder]: Building ICFG [2025-01-09 21:39:32,622 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2025-01-09 21:39:32,758 INFO L279 CfgBuilder]: Omitted future-live optimization because the input is a concurrent program. [2025-01-09 21:39:32,758 INFO L283 CfgBuilder]: Performing block encoding [2025-01-09 21:39:32,778 INFO L307 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-01-09 21:39:32,779 INFO L312 CfgBuilder]: Removed 1 assume(true) statements. [2025-01-09 21:39:32,779 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 09:39:32 BoogieIcfgContainer [2025-01-09 21:39:32,779 INFO L131 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2025-01-09 21:39:32,782 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-01-09 21:39:32,783 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-01-09 21:39:32,787 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-01-09 21:39:32,787 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 09.01 09:39:31" (1/3) ... [2025-01-09 21:39:32,788 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7c102e51 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 09:39:32, skipping insertion in model container [2025-01-09 21:39:32,788 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 09.01 09:39:32" (2/3) ... [2025-01-09 21:39:32,788 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7c102e51 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 09.01 09:39:32, skipping insertion in model container [2025-01-09 21:39:32,788 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 09:39:32" (3/3) ... [2025-01-09 21:39:32,789 INFO L128 eAbstractionObserver]: Analyzing ICFG thread-join-counter-outer-race.i [2025-01-09 21:39:32,800 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:LoopHeads NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-01-09 21:39:32,802 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG thread-join-counter-outer-race.i that has 2 procedures, 91 locations, 1 initial locations, 2 loop locations, and 7 error locations. [2025-01-09 21:39:32,802 INFO L491 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2025-01-09 21:39:32,842 INFO L143 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2025-01-09 21:39:32,877 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 94 places, 94 transitions, 192 flow [2025-01-09 21:39:32,941 INFO L124 PetriNetUnfolderBase]: 5/125 cut-off events. [2025-01-09 21:39:32,944 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2025-01-09 21:39:32,950 INFO L83 FinitePrefix]: Finished finitePrefix Result has 129 conditions, 125 events. 5/125 cut-off events. For 0/0 co-relation queries the response was YES. Maximal size of possible extension queue 6. Compared 184 event pairs, 0 based on Foata normal form. 0/107 useless extension candidates. Maximal degree in co-relation 66. Up to 4 conditions per place. [2025-01-09 21:39:32,950 INFO L82 GeneralOperation]: Start removeDead. Operand has 94 places, 94 transitions, 192 flow [2025-01-09 21:39:32,954 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 94 places, 94 transitions, 192 flow [2025-01-09 21:39:32,961 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-01-09 21:39:32,971 INFO L333 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, 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;@e21c697, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-01-09 21:39:32,971 INFO L334 AbstractCegarLoop]: Starting to check reachability of 11 error locations. [2025-01-09 21:39:32,979 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2025-01-09 21:39:32,983 INFO L124 PetriNetUnfolderBase]: 1/32 cut-off events. [2025-01-09 21:39:32,984 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2025-01-09 21:39:32,984 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 21:39:32,985 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 21:39:32,986 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE === [ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr2ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr3ASSERT_VIOLATIONDATA_RACE (and 8 more)] === [2025-01-09 21:39:32,991 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 21:39:32,991 INFO L85 PathProgramCache]: Analyzing trace with hash 475140232, now seen corresponding path program 1 times [2025-01-09 21:39:32,996 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 21:39:32,997 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1233539078] [2025-01-09 21:39:32,997 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 21:39:32,997 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 21:39:33,078 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 27 statements into 1 equivalence classes. [2025-01-09 21:39:33,093 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 27 of 27 statements. [2025-01-09 21:39:33,093 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 21:39:33,093 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 21:39:33,205 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-09 21:39:33,206 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 21:39:33,207 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1233539078] [2025-01-09 21:39:33,208 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1233539078] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 21:39:33,208 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 21:39:33,208 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-01-09 21:39:33,209 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2006576912] [2025-01-09 21:39:33,210 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 21:39:33,215 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2025-01-09 21:39:33,218 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 21:39:33,238 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-01-09 21:39:33,238 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-01-09 21:39:33,278 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 78 out of 94 [2025-01-09 21:39:33,281 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 94 places, 94 transitions, 192 flow. Second operand has 3 states, 3 states have (on average 78.66666666666667) internal successors, (236), 3 states have internal predecessors, (236), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 21:39:33,281 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 21:39:33,281 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 78 of 94 [2025-01-09 21:39:33,283 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 21:39:33,411 INFO L124 PetriNetUnfolderBase]: 32/293 cut-off events. [2025-01-09 21:39:33,411 INFO L125 PetriNetUnfolderBase]: For 1/1 co-relation queries the response was YES. [2025-01-09 21:39:33,412 INFO L83 FinitePrefix]: Finished finitePrefix Result has 380 conditions, 293 events. 32/293 cut-off events. For 1/1 co-relation queries the response was YES. Maximal size of possible extension queue 17. Compared 1181 event pairs, 7 based on Foata normal form. 1/263 useless extension candidates. Maximal degree in co-relation 310. Up to 59 conditions per place. [2025-01-09 21:39:33,417 INFO L140 encePairwiseOnDemand]: 81/94 looper letters, 16 selfloop transitions, 8 changer transitions 1/102 dead transitions. [2025-01-09 21:39:33,417 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 96 places, 102 transitions, 256 flow [2025-01-09 21:39:33,418 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-01-09 21:39:33,421 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2025-01-09 21:39:33,428 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 264 transitions. [2025-01-09 21:39:33,430 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.9361702127659575 [2025-01-09 21:39:33,431 INFO L175 Difference]: Start difference. First operand has 94 places, 94 transitions, 192 flow. Second operand 3 states and 264 transitions. [2025-01-09 21:39:33,432 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 96 places, 102 transitions, 256 flow [2025-01-09 21:39:33,435 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 96 places, 102 transitions, 256 flow, removed 0 selfloop flow, removed 0 redundant places. [2025-01-09 21:39:33,442 INFO L231 Difference]: Finished difference. Result has 98 places, 99 transitions, 256 flow [2025-01-09 21:39:33,444 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=94, PETRI_DIFFERENCE_MINUEND_FLOW=188, PETRI_DIFFERENCE_MINUEND_PLACES=94, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=92, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=0, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=84, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=256, PETRI_PLACES=98, PETRI_TRANSITIONS=99} [2025-01-09 21:39:33,450 INFO L279 CegarLoopForPetriNet]: 94 programPoint places, 4 predicate places. [2025-01-09 21:39:33,451 INFO L471 AbstractCegarLoop]: Abstraction has has 98 places, 99 transitions, 256 flow [2025-01-09 21:39:33,452 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 78.66666666666667) internal successors, (236), 3 states have internal predecessors, (236), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 21:39:33,452 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 21:39:33,452 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 21:39:33,452 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2025-01-09 21:39:33,454 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr3ASSERT_VIOLATIONDATA_RACE === [ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr2ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr3ASSERT_VIOLATIONDATA_RACE (and 8 more)] === [2025-01-09 21:39:33,456 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 21:39:33,456 INFO L85 PathProgramCache]: Analyzing trace with hash 519321420, now seen corresponding path program 1 times [2025-01-09 21:39:33,457 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 21:39:33,457 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [397863820] [2025-01-09 21:39:33,457 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 21:39:33,457 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 21:39:33,476 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 31 statements into 1 equivalence classes. [2025-01-09 21:39:33,484 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 31 of 31 statements. [2025-01-09 21:39:33,485 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 21:39:33,485 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 21:39:33,550 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-09 21:39:33,551 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 21:39:33,551 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [397863820] [2025-01-09 21:39:33,551 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [397863820] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 21:39:33,551 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 21:39:33,551 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-01-09 21:39:33,551 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1519300033] [2025-01-09 21:39:33,552 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 21:39:33,553 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2025-01-09 21:39:33,553 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 21:39:33,554 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-01-09 21:39:33,554 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-01-09 21:39:33,567 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 85 out of 94 [2025-01-09 21:39:33,568 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 98 places, 99 transitions, 256 flow. Second operand has 3 states, 3 states have (on average 85.66666666666667) internal successors, (257), 3 states have internal predecessors, (257), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 21:39:33,568 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 21:39:33,568 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 85 of 94 [2025-01-09 21:39:33,568 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 21:39:33,645 INFO L124 PetriNetUnfolderBase]: 27/308 cut-off events. [2025-01-09 21:39:33,645 INFO L125 PetriNetUnfolderBase]: For 19/19 co-relation queries the response was YES. [2025-01-09 21:39:33,647 INFO L83 FinitePrefix]: Finished finitePrefix Result has 434 conditions, 308 events. 27/308 cut-off events. For 19/19 co-relation queries the response was YES. Maximal size of possible extension queue 20. Compared 1387 event pairs, 5 based on Foata normal form. 0/277 useless extension candidates. Maximal degree in co-relation 359. Up to 45 conditions per place. [2025-01-09 21:39:33,649 INFO L140 encePairwiseOnDemand]: 90/94 looper letters, 8 selfloop transitions, 3 changer transitions 0/103 dead transitions. [2025-01-09 21:39:33,649 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 99 places, 103 transitions, 286 flow [2025-01-09 21:39:33,651 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-01-09 21:39:33,651 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2025-01-09 21:39:33,652 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 267 transitions. [2025-01-09 21:39:33,654 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.9468085106382979 [2025-01-09 21:39:33,654 INFO L175 Difference]: Start difference. First operand has 98 places, 99 transitions, 256 flow. Second operand 3 states and 267 transitions. [2025-01-09 21:39:33,654 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 99 places, 103 transitions, 286 flow [2025-01-09 21:39:33,656 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 97 places, 103 transitions, 270 flow, removed 0 selfloop flow, removed 2 redundant places. [2025-01-09 21:39:33,659 INFO L231 Difference]: Finished difference. Result has 99 places, 101 transitions, 262 flow [2025-01-09 21:39:33,659 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=94, PETRI_DIFFERENCE_MINUEND_FLOW=240, PETRI_DIFFERENCE_MINUEND_PLACES=95, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=99, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=96, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=262, PETRI_PLACES=99, PETRI_TRANSITIONS=101} [2025-01-09 21:39:33,660 INFO L279 CegarLoopForPetriNet]: 94 programPoint places, 5 predicate places. [2025-01-09 21:39:33,660 INFO L471 AbstractCegarLoop]: Abstraction has has 99 places, 101 transitions, 262 flow [2025-01-09 21:39:33,660 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 85.66666666666667) internal successors, (257), 3 states have internal predecessors, (257), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 21:39:33,661 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 21:39:33,661 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 21:39:33,661 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2025-01-09 21:39:33,661 INFO L396 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONDATA_RACE === [ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr2ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr3ASSERT_VIOLATIONDATA_RACE (and 8 more)] === [2025-01-09 21:39:33,661 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 21:39:33,662 INFO L85 PathProgramCache]: Analyzing trace with hash 95997775, now seen corresponding path program 1 times [2025-01-09 21:39:33,662 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 21:39:33,662 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [9516429] [2025-01-09 21:39:33,662 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 21:39:33,662 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 21:39:33,679 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 32 statements into 1 equivalence classes. [2025-01-09 21:39:33,689 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 32 of 32 statements. [2025-01-09 21:39:33,689 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 21:39:33,689 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 21:39:33,727 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-09 21:39:33,727 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 21:39:33,728 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [9516429] [2025-01-09 21:39:33,728 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [9516429] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 21:39:33,728 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 21:39:33,728 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-01-09 21:39:33,728 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1123449571] [2025-01-09 21:39:33,728 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 21:39:33,728 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2025-01-09 21:39:33,729 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 21:39:33,729 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-01-09 21:39:33,729 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-01-09 21:39:33,770 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 78 out of 94 [2025-01-09 21:39:33,771 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 99 places, 101 transitions, 262 flow. Second operand has 3 states, 3 states have (on average 79.66666666666667) internal successors, (239), 3 states have internal predecessors, (239), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 21:39:33,771 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 21:39:33,771 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 78 of 94 [2025-01-09 21:39:33,771 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 21:39:33,851 INFO L124 PetriNetUnfolderBase]: 54/456 cut-off events. [2025-01-09 21:39:33,851 INFO L125 PetriNetUnfolderBase]: For 63/71 co-relation queries the response was YES. [2025-01-09 21:39:33,853 INFO L83 FinitePrefix]: Finished finitePrefix Result has 709 conditions, 456 events. 54/456 cut-off events. For 63/71 co-relation queries the response was YES. Maximal size of possible extension queue 27. Compared 2512 event pairs, 23 based on Foata normal form. 4/416 useless extension candidates. Maximal degree in co-relation 627. Up to 104 conditions per place. [2025-01-09 21:39:33,855 INFO L140 encePairwiseOnDemand]: 88/94 looper letters, 19 selfloop transitions, 7 changer transitions 0/108 dead transitions. [2025-01-09 21:39:33,855 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 101 places, 108 transitions, 334 flow [2025-01-09 21:39:33,856 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-01-09 21:39:33,856 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2025-01-09 21:39:33,857 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 255 transitions. [2025-01-09 21:39:33,858 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.9042553191489362 [2025-01-09 21:39:33,858 INFO L175 Difference]: Start difference. First operand has 99 places, 101 transitions, 262 flow. Second operand 3 states and 255 transitions. [2025-01-09 21:39:33,858 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 101 places, 108 transitions, 334 flow [2025-01-09 21:39:33,862 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 99 places, 108 transitions, 328 flow, removed 0 selfloop flow, removed 2 redundant places. [2025-01-09 21:39:33,864 INFO L231 Difference]: Finished difference. Result has 101 places, 106 transitions, 312 flow [2025-01-09 21:39:33,864 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=94, PETRI_DIFFERENCE_MINUEND_FLOW=256, PETRI_DIFFERENCE_MINUEND_PLACES=97, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=101, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=2, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=94, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=312, PETRI_PLACES=101, PETRI_TRANSITIONS=106} [2025-01-09 21:39:33,865 INFO L279 CegarLoopForPetriNet]: 94 programPoint places, 7 predicate places. [2025-01-09 21:39:33,865 INFO L471 AbstractCegarLoop]: Abstraction has has 101 places, 106 transitions, 312 flow [2025-01-09 21:39:33,866 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 79.66666666666667) internal successors, (239), 3 states have internal predecessors, (239), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 21:39:33,867 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 21:39:33,867 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 21:39:33,867 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2025-01-09 21:39:33,867 INFO L396 AbstractCegarLoop]: === Iteration 4 === Targeting threadErr0ASSERT_VIOLATIONDATA_RACE === [ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr2ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr3ASSERT_VIOLATIONDATA_RACE (and 8 more)] === [2025-01-09 21:39:33,868 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 21:39:33,869 INFO L85 PathProgramCache]: Analyzing trace with hash -172017348, now seen corresponding path program 1 times [2025-01-09 21:39:33,869 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 21:39:33,869 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1846103821] [2025-01-09 21:39:33,869 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 21:39:33,869 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 21:39:33,884 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 48 statements into 1 equivalence classes. [2025-01-09 21:39:33,894 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 48 of 48 statements. [2025-01-09 21:39:33,894 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 21:39:33,894 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 21:39:33,943 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-09 21:39:33,944 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 21:39:33,944 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1846103821] [2025-01-09 21:39:33,944 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1846103821] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 21:39:33,944 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 21:39:33,944 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-01-09 21:39:33,944 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [83459234] [2025-01-09 21:39:33,944 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 21:39:33,944 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2025-01-09 21:39:33,945 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 21:39:33,945 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-01-09 21:39:33,945 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-01-09 21:39:33,959 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 83 out of 94 [2025-01-09 21:39:33,960 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 101 places, 106 transitions, 312 flow. Second operand has 3 states, 3 states have (on average 84.66666666666667) internal successors, (254), 3 states have internal predecessors, (254), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 21:39:33,960 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 21:39:33,960 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 83 of 94 [2025-01-09 21:39:33,960 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 21:39:34,004 INFO L124 PetriNetUnfolderBase]: 36/366 cut-off events. [2025-01-09 21:39:34,004 INFO L125 PetriNetUnfolderBase]: For 63/70 co-relation queries the response was YES. [2025-01-09 21:39:34,005 INFO L83 FinitePrefix]: Finished finitePrefix Result has 574 conditions, 366 events. 36/366 cut-off events. For 63/70 co-relation queries the response was YES. Maximal size of possible extension queue 23. Compared 1942 event pairs, 8 based on Foata normal form. 0/332 useless extension candidates. Maximal degree in co-relation 495. Up to 51 conditions per place. [2025-01-09 21:39:34,006 INFO L140 encePairwiseOnDemand]: 89/94 looper letters, 8 selfloop transitions, 5 changer transitions 0/109 dead transitions. [2025-01-09 21:39:34,006 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 103 places, 109 transitions, 346 flow [2025-01-09 21:39:34,006 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-01-09 21:39:34,006 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2025-01-09 21:39:34,007 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 262 transitions. [2025-01-09 21:39:34,007 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.9290780141843972 [2025-01-09 21:39:34,007 INFO L175 Difference]: Start difference. First operand has 101 places, 106 transitions, 312 flow. Second operand 3 states and 262 transitions. [2025-01-09 21:39:34,007 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 103 places, 109 transitions, 346 flow [2025-01-09 21:39:34,011 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 101 places, 109 transitions, 332 flow, removed 0 selfloop flow, removed 2 redundant places. [2025-01-09 21:39:34,013 INFO L231 Difference]: Finished difference. Result has 103 places, 109 transitions, 334 flow [2025-01-09 21:39:34,013 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=94, PETRI_DIFFERENCE_MINUEND_FLOW=298, PETRI_DIFFERENCE_MINUEND_PLACES=99, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=106, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=2, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=101, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=334, PETRI_PLACES=103, PETRI_TRANSITIONS=109} [2025-01-09 21:39:34,016 INFO L279 CegarLoopForPetriNet]: 94 programPoint places, 9 predicate places. [2025-01-09 21:39:34,016 INFO L471 AbstractCegarLoop]: Abstraction has has 103 places, 109 transitions, 334 flow [2025-01-09 21:39:34,017 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 84.66666666666667) internal successors, (254), 3 states have internal predecessors, (254), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 21:39:34,017 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 21:39:34,017 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 21:39:34,017 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2025-01-09 21:39:34,017 INFO L396 AbstractCegarLoop]: === Iteration 5 === Targeting threadErr2ASSERT_VIOLATIONDATA_RACE === [ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr2ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr3ASSERT_VIOLATIONDATA_RACE (and 8 more)] === [2025-01-09 21:39:34,018 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 21:39:34,019 INFO L85 PathProgramCache]: Analyzing trace with hash -1535942361, now seen corresponding path program 1 times [2025-01-09 21:39:34,019 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 21:39:34,019 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [214192452] [2025-01-09 21:39:34,019 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 21:39:34,020 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 21:39:34,034 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 59 statements into 1 equivalence classes. [2025-01-09 21:39:34,043 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 59 of 59 statements. [2025-01-09 21:39:34,044 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 21:39:34,044 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 21:39:34,111 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-09 21:39:34,111 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 21:39:34,111 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [214192452] [2025-01-09 21:39:34,111 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [214192452] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 21:39:34,111 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 21:39:34,111 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-01-09 21:39:34,111 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1661244394] [2025-01-09 21:39:34,111 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 21:39:34,112 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2025-01-09 21:39:34,112 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 21:39:34,112 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-01-09 21:39:34,112 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-01-09 21:39:34,143 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 80 out of 94 [2025-01-09 21:39:34,143 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 103 places, 109 transitions, 334 flow. Second operand has 3 states, 3 states have (on average 83.0) internal successors, (249), 3 states have internal predecessors, (249), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 21:39:34,143 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 21:39:34,143 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 80 of 94 [2025-01-09 21:39:34,144 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 21:39:34,207 INFO L124 PetriNetUnfolderBase]: 64/479 cut-off events. [2025-01-09 21:39:34,207 INFO L125 PetriNetUnfolderBase]: For 157/165 co-relation queries the response was YES. [2025-01-09 21:39:34,209 INFO L83 FinitePrefix]: Finished finitePrefix Result has 880 conditions, 479 events. 64/479 cut-off events. For 157/165 co-relation queries the response was YES. Maximal size of possible extension queue 31. Compared 2702 event pairs, 13 based on Foata normal form. 1/447 useless extension candidates. Maximal degree in co-relation 796. Up to 109 conditions per place. [2025-01-09 21:39:34,210 INFO L140 encePairwiseOnDemand]: 87/94 looper letters, 16 selfloop transitions, 11 changer transitions 1/116 dead transitions. [2025-01-09 21:39:34,210 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 105 places, 116 transitions, 416 flow [2025-01-09 21:39:34,212 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-01-09 21:39:34,212 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2025-01-09 21:39:34,213 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 258 transitions. [2025-01-09 21:39:34,213 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.9148936170212766 [2025-01-09 21:39:34,213 INFO L175 Difference]: Start difference. First operand has 103 places, 109 transitions, 334 flow. Second operand 3 states and 258 transitions. [2025-01-09 21:39:34,213 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 105 places, 116 transitions, 416 flow [2025-01-09 21:39:34,216 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 103 places, 116 transitions, 406 flow, removed 0 selfloop flow, removed 2 redundant places. [2025-01-09 21:39:34,218 INFO L231 Difference]: Finished difference. Result has 105 places, 115 transitions, 408 flow [2025-01-09 21:39:34,218 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=94, PETRI_DIFFERENCE_MINUEND_FLOW=324, PETRI_DIFFERENCE_MINUEND_PLACES=101, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=109, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=98, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=408, PETRI_PLACES=105, PETRI_TRANSITIONS=115} [2025-01-09 21:39:34,218 INFO L279 CegarLoopForPetriNet]: 94 programPoint places, 11 predicate places. [2025-01-09 21:39:34,220 INFO L471 AbstractCegarLoop]: Abstraction has has 105 places, 115 transitions, 408 flow [2025-01-09 21:39:34,220 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 83.0) internal successors, (249), 3 states have internal predecessors, (249), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 21:39:34,220 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 21:39:34,220 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 21:39:34,221 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2025-01-09 21:39:34,221 INFO L396 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr3ASSERT_VIOLATIONDATA_RACE === [ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr2ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr3ASSERT_VIOLATIONDATA_RACE (and 8 more)] === [2025-01-09 21:39:34,222 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 21:39:34,225 INFO L85 PathProgramCache]: Analyzing trace with hash -1128229663, now seen corresponding path program 1 times [2025-01-09 21:39:34,225 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 21:39:34,225 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1497093772] [2025-01-09 21:39:34,225 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 21:39:34,225 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 21:39:34,240 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 62 statements into 1 equivalence classes. [2025-01-09 21:39:34,255 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 62 of 62 statements. [2025-01-09 21:39:34,255 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 21:39:34,255 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 21:39:34,422 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-09 21:39:34,422 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 21:39:34,423 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1497093772] [2025-01-09 21:39:34,423 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1497093772] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 21:39:34,423 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 21:39:34,423 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-01-09 21:39:34,423 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1415964415] [2025-01-09 21:39:34,423 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 21:39:34,423 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2025-01-09 21:39:34,423 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 21:39:34,424 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-01-09 21:39:34,424 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2025-01-09 21:39:34,453 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 80 out of 94 [2025-01-09 21:39:34,454 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 105 places, 115 transitions, 408 flow. Second operand has 5 states, 5 states have (on average 81.6) internal successors, (408), 5 states have internal predecessors, (408), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 21:39:34,454 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 21:39:34,454 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 80 of 94 [2025-01-09 21:39:34,454 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 21:39:34,553 INFO L124 PetriNetUnfolderBase]: 68/463 cut-off events. [2025-01-09 21:39:34,554 INFO L125 PetriNetUnfolderBase]: For 245/256 co-relation queries the response was YES. [2025-01-09 21:39:34,555 INFO L83 FinitePrefix]: Finished finitePrefix Result has 909 conditions, 463 events. 68/463 cut-off events. For 245/256 co-relation queries the response was YES. Maximal size of possible extension queue 32. Compared 2584 event pairs, 13 based on Foata normal form. 3/438 useless extension candidates. Maximal degree in co-relation 818. Up to 65 conditions per place. [2025-01-09 21:39:34,558 INFO L140 encePairwiseOnDemand]: 87/94 looper letters, 14 selfloop transitions, 7 changer transitions 1/119 dead transitions. [2025-01-09 21:39:34,558 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 108 places, 119 transitions, 444 flow [2025-01-09 21:39:34,559 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2025-01-09 21:39:34,559 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2025-01-09 21:39:34,560 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 504 transitions. [2025-01-09 21:39:34,561 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.8936170212765957 [2025-01-09 21:39:34,561 INFO L175 Difference]: Start difference. First operand has 105 places, 115 transitions, 408 flow. Second operand 6 states and 504 transitions. [2025-01-09 21:39:34,561 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 108 places, 119 transitions, 444 flow [2025-01-09 21:39:34,566 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 102 places, 119 transitions, 408 flow, removed 4 selfloop flow, removed 6 redundant places. [2025-01-09 21:39:34,568 INFO L231 Difference]: Finished difference. Result has 105 places, 114 transitions, 386 flow [2025-01-09 21:39:34,568 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=94, PETRI_DIFFERENCE_MINUEND_FLOW=344, PETRI_DIFFERENCE_MINUEND_PLACES=97, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=109, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=3, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=103, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=386, PETRI_PLACES=105, PETRI_TRANSITIONS=114} [2025-01-09 21:39:34,570 INFO L279 CegarLoopForPetriNet]: 94 programPoint places, 11 predicate places. [2025-01-09 21:39:34,571 INFO L471 AbstractCegarLoop]: Abstraction has has 105 places, 114 transitions, 386 flow [2025-01-09 21:39:34,571 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 81.6) internal successors, (408), 5 states have internal predecessors, (408), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 21:39:34,571 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 21:39:34,571 INFO L206 CegarLoopForPetriNet]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 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] [2025-01-09 21:39:34,572 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2025-01-09 21:39:34,572 INFO L396 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES === [ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr2ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr3ASSERT_VIOLATIONDATA_RACE (and 8 more)] === [2025-01-09 21:39:34,572 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 21:39:34,573 INFO L85 PathProgramCache]: Analyzing trace with hash -1663866667, now seen corresponding path program 1 times [2025-01-09 21:39:34,573 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 21:39:34,573 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2134807531] [2025-01-09 21:39:34,574 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 21:39:34,574 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 21:39:34,585 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 62 statements into 1 equivalence classes. [2025-01-09 21:39:34,597 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 62 of 62 statements. [2025-01-09 21:39:34,598 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 21:39:34,598 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-09 21:39:34,598 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-09 21:39:34,605 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 62 statements into 1 equivalence classes. [2025-01-09 21:39:34,611 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 62 of 62 statements. [2025-01-09 21:39:34,613 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 21:39:34,613 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-09 21:39:34,645 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-09 21:39:34,646 INFO L340 BasicCegarLoop]: Counterexample is feasible [2025-01-09 21:39:34,646 INFO L782 garLoopResultBuilder]: Registering result UNSAFE for location ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (10 of 11 remaining) [2025-01-09 21:39:34,648 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE (9 of 11 remaining) [2025-01-09 21:39:34,648 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr2ASSERT_VIOLATIONDATA_RACE (8 of 11 remaining) [2025-01-09 21:39:34,648 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr3ASSERT_VIOLATIONDATA_RACE (7 of 11 remaining) [2025-01-09 21:39:34,648 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr1ASSERT_VIOLATIONDATA_RACE (6 of 11 remaining) [2025-01-09 21:39:34,648 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location threadErr0ASSERT_VIOLATIONDATA_RACE (5 of 11 remaining) [2025-01-09 21:39:34,648 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location threadErr1ASSERT_VIOLATIONDATA_RACE (4 of 11 remaining) [2025-01-09 21:39:34,648 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location threadErr2ASSERT_VIOLATIONDATA_RACE (3 of 11 remaining) [2025-01-09 21:39:34,648 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location threadErr0ASSERT_VIOLATIONDATA_RACE (2 of 11 remaining) [2025-01-09 21:39:34,648 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location threadErr1ASSERT_VIOLATIONDATA_RACE (1 of 11 remaining) [2025-01-09 21:39:34,648 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location threadErr2ASSERT_VIOLATIONDATA_RACE (0 of 11 remaining) [2025-01-09 21:39:34,648 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2025-01-09 21:39:34,649 INFO L422 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1, 1, 1, 1] [2025-01-09 21:39:34,653 WARN L246 ceAbstractionStarter]: 1 thread instances were not sufficient, I will increase this number and restart the analysis [2025-01-09 21:39:34,653 INFO L491 ceAbstractionStarter]: Constructing petrified ICFG for 2 thread instances. [2025-01-09 21:39:34,675 INFO L143 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2025-01-09 21:39:34,678 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 124 places, 122 transitions, 254 flow [2025-01-09 21:39:34,699 INFO L124 PetriNetUnfolderBase]: 7/192 cut-off events. [2025-01-09 21:39:34,699 INFO L125 PetriNetUnfolderBase]: For 2/2 co-relation queries the response was YES. [2025-01-09 21:39:34,700 INFO L83 FinitePrefix]: Finished finitePrefix Result has 200 conditions, 192 events. 7/192 cut-off events. For 2/2 co-relation queries the response was YES. Maximal size of possible extension queue 6. Compared 325 event pairs, 0 based on Foata normal form. 0/164 useless extension candidates. Maximal degree in co-relation 126. Up to 6 conditions per place. [2025-01-09 21:39:34,700 INFO L82 GeneralOperation]: Start removeDead. Operand has 124 places, 122 transitions, 254 flow [2025-01-09 21:39:34,701 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 124 places, 122 transitions, 254 flow [2025-01-09 21:39:34,703 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-01-09 21:39:34,703 INFO L333 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, 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;@e21c697, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-01-09 21:39:34,705 INFO L334 AbstractCegarLoop]: Starting to check reachability of 14 error locations. [2025-01-09 21:39:34,707 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2025-01-09 21:39:34,708 INFO L124 PetriNetUnfolderBase]: 1/32 cut-off events. [2025-01-09 21:39:34,708 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2025-01-09 21:39:34,708 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 21:39:34,708 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 21:39:34,709 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE === [ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr2ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr3ASSERT_VIOLATIONDATA_RACE (and 11 more)] === [2025-01-09 21:39:34,709 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 21:39:34,709 INFO L85 PathProgramCache]: Analyzing trace with hash 1157198530, now seen corresponding path program 1 times [2025-01-09 21:39:34,709 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 21:39:34,709 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1938170940] [2025-01-09 21:39:34,710 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 21:39:34,710 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 21:39:34,716 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 27 statements into 1 equivalence classes. [2025-01-09 21:39:34,720 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 27 of 27 statements. [2025-01-09 21:39:34,720 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 21:39:34,720 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 21:39:34,741 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-09 21:39:34,742 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 21:39:34,742 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1938170940] [2025-01-09 21:39:34,742 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1938170940] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 21:39:34,742 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 21:39:34,742 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-01-09 21:39:34,742 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1167281381] [2025-01-09 21:39:34,742 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 21:39:34,742 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2025-01-09 21:39:34,743 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 21:39:34,744 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-01-09 21:39:34,744 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-01-09 21:39:34,777 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 99 out of 122 [2025-01-09 21:39:34,778 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 124 places, 122 transitions, 254 flow. Second operand has 3 states, 3 states have (on average 99.66666666666667) internal successors, (299), 3 states have internal predecessors, (299), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 21:39:34,778 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 21:39:34,778 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 99 of 122 [2025-01-09 21:39:34,778 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 21:39:35,089 INFO L124 PetriNetUnfolderBase]: 563/2345 cut-off events. [2025-01-09 21:39:35,090 INFO L125 PetriNetUnfolderBase]: For 41/41 co-relation queries the response was YES. [2025-01-09 21:39:35,094 INFO L83 FinitePrefix]: Finished finitePrefix Result has 3375 conditions, 2345 events. 563/2345 cut-off events. For 41/41 co-relation queries the response was YES. Maximal size of possible extension queue 117. Compared 19528 event pairs, 195 based on Foata normal form. 1/2089 useless extension candidates. Maximal degree in co-relation 2679. Up to 666 conditions per place. [2025-01-09 21:39:35,104 INFO L140 encePairwiseOnDemand]: 105/122 looper letters, 26 selfloop transitions, 11 changer transitions 1/136 dead transitions. [2025-01-09 21:39:35,105 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 126 places, 136 transitions, 361 flow [2025-01-09 21:39:35,106 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-01-09 21:39:35,106 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2025-01-09 21:39:35,107 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 341 transitions. [2025-01-09 21:39:35,107 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.9316939890710383 [2025-01-09 21:39:35,108 INFO L175 Difference]: Start difference. First operand has 124 places, 122 transitions, 254 flow. Second operand 3 states and 341 transitions. [2025-01-09 21:39:35,108 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 126 places, 136 transitions, 361 flow [2025-01-09 21:39:35,110 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 126 places, 136 transitions, 361 flow, removed 0 selfloop flow, removed 0 redundant places. [2025-01-09 21:39:35,111 INFO L231 Difference]: Finished difference. Result has 128 places, 130 transitions, 344 flow [2025-01-09 21:39:35,111 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=122, PETRI_DIFFERENCE_MINUEND_FLOW=250, PETRI_DIFFERENCE_MINUEND_PLACES=124, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=120, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=0, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=109, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=344, PETRI_PLACES=128, PETRI_TRANSITIONS=130} [2025-01-09 21:39:35,112 INFO L279 CegarLoopForPetriNet]: 124 programPoint places, 4 predicate places. [2025-01-09 21:39:35,112 INFO L471 AbstractCegarLoop]: Abstraction has has 128 places, 130 transitions, 344 flow [2025-01-09 21:39:35,112 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 99.66666666666667) internal successors, (299), 3 states have internal predecessors, (299), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 21:39:35,112 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 21:39:35,112 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 21:39:35,112 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2025-01-09 21:39:35,112 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr3ASSERT_VIOLATIONDATA_RACE === [ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr2ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr3ASSERT_VIOLATIONDATA_RACE (and 11 more)] === [2025-01-09 21:39:35,113 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 21:39:35,113 INFO L85 PathProgramCache]: Analyzing trace with hash 75840262, now seen corresponding path program 1 times [2025-01-09 21:39:35,113 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 21:39:35,113 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1735368121] [2025-01-09 21:39:35,113 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 21:39:35,113 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 21:39:35,121 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 31 statements into 1 equivalence classes. [2025-01-09 21:39:35,125 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 31 of 31 statements. [2025-01-09 21:39:35,126 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 21:39:35,126 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 21:39:35,145 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-09 21:39:35,146 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 21:39:35,146 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1735368121] [2025-01-09 21:39:35,146 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1735368121] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 21:39:35,146 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 21:39:35,146 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-01-09 21:39:35,146 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1133038014] [2025-01-09 21:39:35,147 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 21:39:35,147 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2025-01-09 21:39:35,147 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 21:39:35,148 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-01-09 21:39:35,148 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-01-09 21:39:35,163 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 109 out of 122 [2025-01-09 21:39:35,164 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 128 places, 130 transitions, 344 flow. Second operand has 3 states, 3 states have (on average 109.66666666666667) internal successors, (329), 3 states have internal predecessors, (329), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 21:39:35,164 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 21:39:35,164 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 109 of 122 [2025-01-09 21:39:35,164 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 21:39:35,485 INFO L124 PetriNetUnfolderBase]: 499/2664 cut-off events. [2025-01-09 21:39:35,486 INFO L125 PetriNetUnfolderBase]: For 238/248 co-relation queries the response was YES. [2025-01-09 21:39:35,493 INFO L83 FinitePrefix]: Finished finitePrefix Result has 4080 conditions, 2664 events. 499/2664 cut-off events. For 238/248 co-relation queries the response was YES. Maximal size of possible extension queue 140. Compared 24881 event pairs, 168 based on Foata normal form. 0/2374 useless extension candidates. Maximal degree in co-relation 3212. Up to 510 conditions per place. [2025-01-09 21:39:35,506 INFO L140 encePairwiseOnDemand]: 117/122 looper letters, 14 selfloop transitions, 4 changer transitions 0/137 dead transitions. [2025-01-09 21:39:35,506 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 129 places, 137 transitions, 394 flow [2025-01-09 21:39:35,507 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-01-09 21:39:35,507 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2025-01-09 21:39:35,509 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 346 transitions. [2025-01-09 21:39:35,510 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.9453551912568307 [2025-01-09 21:39:35,510 INFO L175 Difference]: Start difference. First operand has 128 places, 130 transitions, 344 flow. Second operand 3 states and 346 transitions. [2025-01-09 21:39:35,510 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 129 places, 137 transitions, 394 flow [2025-01-09 21:39:35,514 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 127 places, 137 transitions, 372 flow, removed 0 selfloop flow, removed 2 redundant places. [2025-01-09 21:39:35,516 INFO L231 Difference]: Finished difference. Result has 129 places, 133 transitions, 352 flow [2025-01-09 21:39:35,517 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=122, PETRI_DIFFERENCE_MINUEND_FLOW=322, PETRI_DIFFERENCE_MINUEND_PLACES=125, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=130, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=126, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=352, PETRI_PLACES=129, PETRI_TRANSITIONS=133} [2025-01-09 21:39:35,517 INFO L279 CegarLoopForPetriNet]: 124 programPoint places, 5 predicate places. [2025-01-09 21:39:35,517 INFO L471 AbstractCegarLoop]: Abstraction has has 129 places, 133 transitions, 352 flow [2025-01-09 21:39:35,517 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 109.66666666666667) internal successors, (329), 3 states have internal predecessors, (329), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 21:39:35,517 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 21:39:35,518 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 21:39:35,518 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2025-01-09 21:39:35,518 INFO L396 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr1ASSERT_VIOLATIONDATA_RACE === [ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr2ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr3ASSERT_VIOLATIONDATA_RACE (and 11 more)] === [2025-01-09 21:39:35,518 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 21:39:35,518 INFO L85 PathProgramCache]: Analyzing trace with hash -767016113, now seen corresponding path program 1 times [2025-01-09 21:39:35,518 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 21:39:35,518 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1263774219] [2025-01-09 21:39:35,518 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 21:39:35,518 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 21:39:35,528 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 32 statements into 1 equivalence classes. [2025-01-09 21:39:35,532 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 32 of 32 statements. [2025-01-09 21:39:35,533 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 21:39:35,533 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 21:39:35,553 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-09 21:39:35,554 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 21:39:35,554 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1263774219] [2025-01-09 21:39:35,554 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1263774219] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 21:39:35,554 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 21:39:35,554 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-01-09 21:39:35,554 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1516169399] [2025-01-09 21:39:35,554 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 21:39:35,555 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2025-01-09 21:39:35,555 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 21:39:35,556 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-01-09 21:39:35,556 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-01-09 21:39:35,592 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 101 out of 122 [2025-01-09 21:39:35,592 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 129 places, 133 transitions, 352 flow. Second operand has 3 states, 3 states have (on average 102.66666666666667) internal successors, (308), 3 states have internal predecessors, (308), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 21:39:35,593 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 21:39:35,593 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 101 of 122 [2025-01-09 21:39:35,593 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 21:39:35,771 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([257] L704-3-->L704-1: Formula: (= 0 |v_#race~threads_alive~0_7|) InVars {} OutVars{#race~threads_alive~0=|v_#race~threads_alive~0_7|} AuxVars[] AssignedVars[#race~threads_alive~0][35], [69#L704-1true, Black: 127#true, 132#true, 83#L689-3true, 37#L692-2true, 137#true, Black: 134#(= |#race~data~0| 0), 123#true, 125#true]) [2025-01-09 21:39:35,771 INFO L294 olderBase$Statistics]: this new event has 93 ancestors and is cut-off event [2025-01-09 21:39:35,772 INFO L297 olderBase$Statistics]: existing Event has 93 ancestors and is cut-off event [2025-01-09 21:39:35,772 INFO L297 olderBase$Statistics]: existing Event has 90 ancestors and is cut-off event [2025-01-09 21:39:35,772 INFO L297 olderBase$Statistics]: existing Event has 90 ancestors and is cut-off event [2025-01-09 21:39:35,953 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([257] L704-3-->L704-1: Formula: (= 0 |v_#race~threads_alive~0_7|) InVars {} OutVars{#race~threads_alive~0=|v_#race~threads_alive~0_7|} AuxVars[] AssignedVars[#race~threads_alive~0][35], [69#L704-1true, 8#L691-3true, 132#true, Black: 127#true, 37#L692-2true, Black: 134#(= |#race~data~0| 0), 137#true, 123#true, 125#true]) [2025-01-09 21:39:35,953 INFO L294 olderBase$Statistics]: this new event has 103 ancestors and is cut-off event [2025-01-09 21:39:35,953 INFO L297 olderBase$Statistics]: existing Event has 100 ancestors and is cut-off event [2025-01-09 21:39:35,953 INFO L297 olderBase$Statistics]: existing Event has 103 ancestors and is cut-off event [2025-01-09 21:39:35,953 INFO L297 olderBase$Statistics]: existing Event has 100 ancestors and is cut-off event [2025-01-09 21:39:36,185 INFO L124 PetriNetUnfolderBase]: 1078/4632 cut-off events. [2025-01-09 21:39:36,185 INFO L125 PetriNetUnfolderBase]: For 832/973 co-relation queries the response was YES. [2025-01-09 21:39:36,196 INFO L83 FinitePrefix]: Finished finitePrefix Result has 7774 conditions, 4632 events. 1078/4632 cut-off events. For 832/973 co-relation queries the response was YES. Maximal size of possible extension queue 200. Compared 46240 event pairs, 540 based on Foata normal form. 39/4073 useless extension candidates. Maximal degree in co-relation 6529. Up to 1374 conditions per place. [2025-01-09 21:39:36,217 INFO L140 encePairwiseOnDemand]: 114/122 looper letters, 28 selfloop transitions, 12 changer transitions 0/147 dead transitions. [2025-01-09 21:39:36,217 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 131 places, 147 transitions, 476 flow [2025-01-09 21:39:36,218 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-01-09 21:39:36,218 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2025-01-09 21:39:36,218 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 333 transitions. [2025-01-09 21:39:36,219 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.9098360655737705 [2025-01-09 21:39:36,219 INFO L175 Difference]: Start difference. First operand has 129 places, 133 transitions, 352 flow. Second operand 3 states and 333 transitions. [2025-01-09 21:39:36,219 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 131 places, 147 transitions, 476 flow [2025-01-09 21:39:36,222 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 129 places, 147 transitions, 468 flow, removed 0 selfloop flow, removed 2 redundant places. [2025-01-09 21:39:36,223 INFO L231 Difference]: Finished difference. Result has 131 places, 143 transitions, 450 flow [2025-01-09 21:39:36,224 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=122, PETRI_DIFFERENCE_MINUEND_FLOW=344, PETRI_DIFFERENCE_MINUEND_PLACES=127, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=133, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=2, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=121, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=450, PETRI_PLACES=131, PETRI_TRANSITIONS=143} [2025-01-09 21:39:36,224 INFO L279 CegarLoopForPetriNet]: 124 programPoint places, 7 predicate places. [2025-01-09 21:39:36,224 INFO L471 AbstractCegarLoop]: Abstraction has has 131 places, 143 transitions, 450 flow [2025-01-09 21:39:36,225 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 102.66666666666667) internal successors, (308), 3 states have internal predecessors, (308), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 21:39:36,225 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 21:39:36,225 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 21:39:36,225 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2025-01-09 21:39:36,225 INFO L396 AbstractCegarLoop]: === Iteration 4 === Targeting threadErr0ASSERT_VIOLATIONDATA_RACE === [ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr2ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr3ASSERT_VIOLATIONDATA_RACE (and 11 more)] === [2025-01-09 21:39:36,226 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 21:39:36,226 INFO L85 PathProgramCache]: Analyzing trace with hash 1648842113, now seen corresponding path program 1 times [2025-01-09 21:39:36,226 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 21:39:36,226 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [231679087] [2025-01-09 21:39:36,226 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 21:39:36,226 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 21:39:36,233 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 48 statements into 1 equivalence classes. [2025-01-09 21:39:36,236 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 48 of 48 statements. [2025-01-09 21:39:36,236 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 21:39:36,236 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 21:39:36,260 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-09 21:39:36,260 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 21:39:36,260 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [231679087] [2025-01-09 21:39:36,260 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [231679087] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 21:39:36,260 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 21:39:36,260 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-01-09 21:39:36,260 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [60983545] [2025-01-09 21:39:36,260 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 21:39:36,260 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2025-01-09 21:39:36,261 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 21:39:36,261 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-01-09 21:39:36,261 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-01-09 21:39:36,279 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 107 out of 122 [2025-01-09 21:39:36,279 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 131 places, 143 transitions, 450 flow. Second operand has 3 states, 3 states have (on average 108.66666666666667) internal successors, (326), 3 states have internal predecessors, (326), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 21:39:36,279 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 21:39:36,279 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 107 of 122 [2025-01-09 21:39:36,279 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 21:39:36,621 INFO L124 PetriNetUnfolderBase]: 734/3778 cut-off events. [2025-01-09 21:39:36,622 INFO L125 PetriNetUnfolderBase]: For 974/1208 co-relation queries the response was YES. [2025-01-09 21:39:36,632 INFO L83 FinitePrefix]: Finished finitePrefix Result has 6438 conditions, 3778 events. 734/3778 cut-off events. For 974/1208 co-relation queries the response was YES. Maximal size of possible extension queue 183. Compared 38722 event pairs, 223 based on Foata normal form. 3/3313 useless extension candidates. Maximal degree in co-relation 4259. Up to 663 conditions per place. [2025-01-09 21:39:36,646 INFO L140 encePairwiseOnDemand]: 116/122 looper letters, 16 selfloop transitions, 7 changer transitions 0/151 dead transitions. [2025-01-09 21:39:36,647 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 133 places, 151 transitions, 523 flow [2025-01-09 21:39:36,648 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-01-09 21:39:36,648 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2025-01-09 21:39:36,649 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 342 transitions. [2025-01-09 21:39:36,649 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.9344262295081968 [2025-01-09 21:39:36,649 INFO L175 Difference]: Start difference. First operand has 131 places, 143 transitions, 450 flow. Second operand 3 states and 342 transitions. [2025-01-09 21:39:36,649 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 133 places, 151 transitions, 523 flow [2025-01-09 21:39:36,657 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 131 places, 151 transitions, 499 flow, removed 0 selfloop flow, removed 2 redundant places. [2025-01-09 21:39:36,659 INFO L231 Difference]: Finished difference. Result has 133 places, 148 transitions, 482 flow [2025-01-09 21:39:36,659 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=122, PETRI_DIFFERENCE_MINUEND_FLOW=426, PETRI_DIFFERENCE_MINUEND_PLACES=129, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=143, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=2, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=136, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=482, PETRI_PLACES=133, PETRI_TRANSITIONS=148} [2025-01-09 21:39:36,659 INFO L279 CegarLoopForPetriNet]: 124 programPoint places, 9 predicate places. [2025-01-09 21:39:36,660 INFO L471 AbstractCegarLoop]: Abstraction has has 133 places, 148 transitions, 482 flow [2025-01-09 21:39:36,661 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 108.66666666666667) internal successors, (326), 3 states have internal predecessors, (326), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 21:39:36,661 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 21:39:36,661 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 21:39:36,661 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2025-01-09 21:39:36,661 INFO L396 AbstractCegarLoop]: === Iteration 5 === Targeting threadErr2ASSERT_VIOLATIONDATA_RACE === [ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr2ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr3ASSERT_VIOLATIONDATA_RACE (and 11 more)] === [2025-01-09 21:39:36,662 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 21:39:36,662 INFO L85 PathProgramCache]: Analyzing trace with hash -1432046596, now seen corresponding path program 1 times [2025-01-09 21:39:36,662 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 21:39:36,662 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1931604988] [2025-01-09 21:39:36,663 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 21:39:36,663 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 21:39:36,669 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 59 statements into 1 equivalence classes. [2025-01-09 21:39:36,673 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 59 of 59 statements. [2025-01-09 21:39:36,673 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 21:39:36,673 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 21:39:36,694 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-09 21:39:36,695 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 21:39:36,695 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1931604988] [2025-01-09 21:39:36,695 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1931604988] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 21:39:36,695 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 21:39:36,695 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-01-09 21:39:36,695 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [502068239] [2025-01-09 21:39:36,695 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 21:39:36,695 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2025-01-09 21:39:36,696 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 21:39:36,697 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-01-09 21:39:36,697 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-01-09 21:39:36,737 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 103 out of 122 [2025-01-09 21:39:36,737 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 133 places, 148 transitions, 482 flow. Second operand has 3 states, 3 states have (on average 106.0) internal successors, (318), 3 states have internal predecessors, (318), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 21:39:36,738 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 21:39:36,738 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 103 of 122 [2025-01-09 21:39:36,738 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 21:39:36,854 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([257] L704-3-->L704-1: Formula: (= 0 |v_#race~threads_alive~0_7|) InVars {} OutVars{#race~threads_alive~0=|v_#race~threads_alive~0_7|} AuxVars[] AssignedVars[#race~threads_alive~0][35], [69#L704-1true, Black: 144#(= |threadThread1of2ForFork0_#t~nondet2| |#race~data~0|), Black: 127#true, 147#true, 83#L689-3true, 37#L692-2true, Black: 134#(= |#race~data~0| 0), 123#true, Black: 139#(= |#race~threads_alive~0| |ULTIMATE.start_main_#t~nondet8#1|), 142#true, 125#true]) [2025-01-09 21:39:36,854 INFO L294 olderBase$Statistics]: this new event has 93 ancestors and is cut-off event [2025-01-09 21:39:36,854 INFO L297 olderBase$Statistics]: existing Event has 90 ancestors and is cut-off event [2025-01-09 21:39:36,854 INFO L297 olderBase$Statistics]: existing Event has 93 ancestors and is cut-off event [2025-01-09 21:39:36,854 INFO L297 olderBase$Statistics]: existing Event has 90 ancestors and is cut-off event [2025-01-09 21:39:37,022 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([257] L704-3-->L704-1: Formula: (= 0 |v_#race~threads_alive~0_7|) InVars {} OutVars{#race~threads_alive~0=|v_#race~threads_alive~0_7|} AuxVars[] AssignedVars[#race~threads_alive~0][35], [69#L704-1true, Black: 144#(= |threadThread1of2ForFork0_#t~nondet2| |#race~data~0|), 8#L691-3true, Black: 127#true, 147#true, 37#L692-2true, Black: 134#(= |#race~data~0| 0), 123#true, Black: 139#(= |#race~threads_alive~0| |ULTIMATE.start_main_#t~nondet8#1|), 142#true, 125#true]) [2025-01-09 21:39:37,023 INFO L294 olderBase$Statistics]: this new event has 103 ancestors and is cut-off event [2025-01-09 21:39:37,023 INFO L297 olderBase$Statistics]: existing Event has 103 ancestors and is cut-off event [2025-01-09 21:39:37,023 INFO L297 olderBase$Statistics]: existing Event has 100 ancestors and is cut-off event [2025-01-09 21:39:37,023 INFO L297 olderBase$Statistics]: existing Event has 100 ancestors and is cut-off event [2025-01-09 21:39:37,148 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([257] L704-3-->L704-1: Formula: (= 0 |v_#race~threads_alive~0_7|) InVars {} OutVars{#race~threads_alive~0=|v_#race~threads_alive~0_7|} AuxVars[] AssignedVars[#race~threads_alive~0][120], [69#L704-1true, Black: 144#(= |threadThread1of2ForFork0_#t~nondet2| |#race~data~0|), Black: 127#true, 147#true, 110#L692-2true, Black: 134#(= |#race~data~0| 0), 76#L692-7true, 123#true, Black: 139#(= |#race~threads_alive~0| |ULTIMATE.start_main_#t~nondet8#1|), 142#true, 125#true]) [2025-01-09 21:39:37,149 INFO L294 olderBase$Statistics]: this new event has 111 ancestors and is cut-off event [2025-01-09 21:39:37,149 INFO L297 olderBase$Statistics]: existing Event has 108 ancestors and is cut-off event [2025-01-09 21:39:37,149 INFO L297 olderBase$Statistics]: existing Event has 108 ancestors and is cut-off event [2025-01-09 21:39:37,149 INFO L297 olderBase$Statistics]: existing Event has 111 ancestors and is cut-off event [2025-01-09 21:39:37,210 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([257] L704-3-->L704-1: Formula: (= 0 |v_#race~threads_alive~0_7|) InVars {} OutVars{#race~threads_alive~0=|v_#race~threads_alive~0_7|} AuxVars[] AssignedVars[#race~threads_alive~0][35], [69#L704-1true, Black: 144#(= |threadThread1of2ForFork0_#t~nondet2| |#race~data~0|), Black: 127#true, 147#true, 110#L692-2true, Black: 134#(= |#race~data~0| 0), 123#true, 53#L693true, Black: 139#(= |#race~threads_alive~0| |ULTIMATE.start_main_#t~nondet8#1|), 125#true, 142#true]) [2025-01-09 21:39:37,210 INFO L294 olderBase$Statistics]: this new event has 113 ancestors and is cut-off event [2025-01-09 21:39:37,210 INFO L297 olderBase$Statistics]: existing Event has 110 ancestors and is cut-off event [2025-01-09 21:39:37,210 INFO L297 olderBase$Statistics]: existing Event has 110 ancestors and is cut-off event [2025-01-09 21:39:37,210 INFO L297 olderBase$Statistics]: existing Event has 113 ancestors and is cut-off event [2025-01-09 21:39:37,311 INFO L124 PetriNetUnfolderBase]: 1587/6317 cut-off events. [2025-01-09 21:39:37,311 INFO L125 PetriNetUnfolderBase]: For 3309/3589 co-relation queries the response was YES. [2025-01-09 21:39:37,333 INFO L83 FinitePrefix]: Finished finitePrefix Result has 12392 conditions, 6317 events. 1587/6317 cut-off events. For 3309/3589 co-relation queries the response was YES. Maximal size of possible extension queue 262. Compared 66423 event pairs, 516 based on Foata normal form. 46/5552 useless extension candidates. Maximal degree in co-relation 10314. Up to 1835 conditions per place. [2025-01-09 21:39:37,360 INFO L140 encePairwiseOnDemand]: 113/122 looper letters, 31 selfloop transitions, 19 changer transitions 0/166 dead transitions. [2025-01-09 21:39:37,361 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 135 places, 166 transitions, 667 flow [2025-01-09 21:39:37,361 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-01-09 21:39:37,361 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2025-01-09 21:39:37,362 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 337 transitions. [2025-01-09 21:39:37,362 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.9207650273224044 [2025-01-09 21:39:37,362 INFO L175 Difference]: Start difference. First operand has 133 places, 148 transitions, 482 flow. Second operand 3 states and 337 transitions. [2025-01-09 21:39:37,362 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 135 places, 166 transitions, 667 flow [2025-01-09 21:39:37,365 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 133 places, 166 transitions, 653 flow, removed 0 selfloop flow, removed 2 redundant places. [2025-01-09 21:39:37,367 INFO L231 Difference]: Finished difference. Result has 135 places, 163 transitions, 650 flow [2025-01-09 21:39:37,368 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=122, PETRI_DIFFERENCE_MINUEND_FLOW=468, PETRI_DIFFERENCE_MINUEND_PLACES=131, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=148, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=129, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=650, PETRI_PLACES=135, PETRI_TRANSITIONS=163} [2025-01-09 21:39:37,369 INFO L279 CegarLoopForPetriNet]: 124 programPoint places, 11 predicate places. [2025-01-09 21:39:37,369 INFO L471 AbstractCegarLoop]: Abstraction has has 135 places, 163 transitions, 650 flow [2025-01-09 21:39:37,369 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 106.0) internal successors, (318), 3 states have internal predecessors, (318), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 21:39:37,369 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 21:39:37,369 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 21:39:37,369 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11 [2025-01-09 21:39:37,369 INFO L396 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr3ASSERT_VIOLATIONDATA_RACE === [ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr2ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr3ASSERT_VIOLATIONDATA_RACE (and 11 more)] === [2025-01-09 21:39:37,370 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 21:39:37,370 INFO L85 PathProgramCache]: Analyzing trace with hash 1654173478, now seen corresponding path program 1 times [2025-01-09 21:39:37,370 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 21:39:37,370 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [922589424] [2025-01-09 21:39:37,370 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 21:39:37,370 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 21:39:37,379 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 62 statements into 1 equivalence classes. [2025-01-09 21:39:37,387 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 62 of 62 statements. [2025-01-09 21:39:37,388 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 21:39:37,388 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-01-09 21:39:37,504 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-01-09 21:39:37,505 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-01-09 21:39:37,505 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [922589424] [2025-01-09 21:39:37,505 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [922589424] provided 1 perfect and 0 imperfect interpolant sequences [2025-01-09 21:39:37,505 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-01-09 21:39:37,505 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2025-01-09 21:39:37,505 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2020652752] [2025-01-09 21:39:37,505 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-01-09 21:39:37,506 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2025-01-09 21:39:37,506 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-01-09 21:39:37,506 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2025-01-09 21:39:37,507 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2025-01-09 21:39:37,532 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 104 out of 122 [2025-01-09 21:39:37,533 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 135 places, 163 transitions, 650 flow. Second operand has 5 states, 5 states have (on average 105.6) internal successors, (528), 5 states have internal predecessors, (528), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 21:39:37,533 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-01-09 21:39:37,533 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 104 of 122 [2025-01-09 21:39:37,533 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-01-09 21:39:38,149 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([257] L704-3-->L704-1: Formula: (= 0 |v_#race~threads_alive~0_7|) InVars {} OutVars{#race~threads_alive~0=|v_#race~threads_alive~0_7|} AuxVars[] AssignedVars[#race~threads_alive~0][123], [69#L704-1true, Black: 144#(= |threadThread1of2ForFork0_#t~nondet2| |#race~data~0|), 147#true, Black: 127#true, 110#L692-2true, Black: 149#(= |threadThread1of2ForFork0_#t~nondet5| |#race~threads_alive~0|), Black: 134#(= |#race~data~0| 0), 123#true, 76#L692-7true, 152#true, Black: 139#(= |#race~threads_alive~0| |ULTIMATE.start_main_#t~nondet8#1|), 125#true]) [2025-01-09 21:39:38,149 INFO L294 olderBase$Statistics]: this new event has 111 ancestors and is cut-off event [2025-01-09 21:39:38,149 INFO L297 olderBase$Statistics]: existing Event has 108 ancestors and is cut-off event [2025-01-09 21:39:38,149 INFO L297 olderBase$Statistics]: existing Event has 108 ancestors and is cut-off event [2025-01-09 21:39:38,150 INFO L297 olderBase$Statistics]: existing Event has 111 ancestors and is cut-off event [2025-01-09 21:39:38,170 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([288] L699-5-->L699-6: Formula: (= |v_ULTIMATE.start_main_#t~nondet8#1_3| |v_#race~threads_alive~0_4|) InVars {ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_3|} OutVars{ULTIMATE.start_main_#t~nondet8#1=|v_ULTIMATE.start_main_#t~nondet8#1_3|, #race~threads_alive~0=|v_#race~threads_alive~0_4|} AuxVars[] AssignedVars[#race~threads_alive~0][129], [Black: 144#(= |threadThread1of2ForFork0_#t~nondet2| |#race~data~0|), Black: 129#(= |#race~threads_alive~0| 0), 147#true, 110#L692-2true, Black: 149#(= |threadThread1of2ForFork0_#t~nondet5| |#race~threads_alive~0|), 63#L699-6true, Black: 134#(= |#race~data~0| 0), 123#true, 76#L692-7true, 152#true, Black: 137#true, 125#true]) [2025-01-09 21:39:38,171 INFO L294 olderBase$Statistics]: this new event has 112 ancestors and is cut-off event [2025-01-09 21:39:38,171 INFO L297 olderBase$Statistics]: existing Event has 112 ancestors and is cut-off event [2025-01-09 21:39:38,171 INFO L297 olderBase$Statistics]: existing Event has 112 ancestors and is cut-off event [2025-01-09 21:39:38,171 INFO L297 olderBase$Statistics]: existing Event has 112 ancestors and is cut-off event [2025-01-09 21:39:38,185 INFO L292 olderBase$Statistics]: inserting event number 5 for the transition-marking pair ([257] L704-3-->L704-1: Formula: (= 0 |v_#race~threads_alive~0_7|) InVars {} OutVars{#race~threads_alive~0=|v_#race~threads_alive~0_7|} AuxVars[] AssignedVars[#race~threads_alive~0][123], [69#L704-1true, Black: 144#(= |threadThread1of2ForFork0_#t~nondet2| |#race~data~0|), 147#true, Black: 127#true, 110#L692-2true, Black: 149#(= |threadThread1of2ForFork0_#t~nondet5| |#race~threads_alive~0|), Black: 134#(= |#race~data~0| 0), 123#true, 76#L692-7true, 152#true, Black: 139#(= |#race~threads_alive~0| |ULTIMATE.start_main_#t~nondet8#1|), 125#true]) [2025-01-09 21:39:38,185 INFO L294 olderBase$Statistics]: this new event has 111 ancestors and is cut-off event [2025-01-09 21:39:38,185 INFO L297 olderBase$Statistics]: existing Event has 108 ancestors and is cut-off event [2025-01-09 21:39:38,185 INFO L297 olderBase$Statistics]: existing Event has 111 ancestors and is cut-off event [2025-01-09 21:39:38,185 INFO L297 olderBase$Statistics]: existing Event has 108 ancestors and is cut-off event [2025-01-09 21:39:38,185 INFO L297 olderBase$Statistics]: existing Event has 111 ancestors and is cut-off event [2025-01-09 21:39:38,189 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([257] L704-3-->L704-1: Formula: (= 0 |v_#race~threads_alive~0_7|) InVars {} OutVars{#race~threads_alive~0=|v_#race~threads_alive~0_7|} AuxVars[] AssignedVars[#race~threads_alive~0][123], [69#L704-1true, Black: 144#(= |threadThread1of2ForFork0_#t~nondet2| |#race~data~0|), 147#true, Black: 127#true, Black: 149#(= |threadThread1of2ForFork0_#t~nondet5| |#race~threads_alive~0|), 80#L692-1true, Black: 134#(= |#race~data~0| 0), 123#true, 76#L692-7true, Black: 139#(= |#race~threads_alive~0| |ULTIMATE.start_main_#t~nondet8#1|), 152#true, 125#true]) [2025-01-09 21:39:38,189 INFO L294 olderBase$Statistics]: this new event has 110 ancestors and is cut-off event [2025-01-09 21:39:38,189 INFO L297 olderBase$Statistics]: existing Event has 107 ancestors and is cut-off event [2025-01-09 21:39:38,189 INFO L297 olderBase$Statistics]: existing Event has 110 ancestors and is cut-off event [2025-01-09 21:39:38,189 INFO L297 olderBase$Statistics]: existing Event has 110 ancestors and is cut-off event [2025-01-09 21:39:38,190 INFO L292 olderBase$Statistics]: inserting event number 6 for the transition-marking pair ([257] L704-3-->L704-1: Formula: (= 0 |v_#race~threads_alive~0_7|) InVars {} OutVars{#race~threads_alive~0=|v_#race~threads_alive~0_7|} AuxVars[] AssignedVars[#race~threads_alive~0][123], [69#L704-1true, Black: 144#(= |threadThread1of2ForFork0_#t~nondet2| |#race~data~0|), 147#true, Black: 127#true, 110#L692-2true, Black: 149#(= |threadThread1of2ForFork0_#t~nondet5| |#race~threads_alive~0|), Black: 134#(= |#race~data~0| 0), 123#true, 76#L692-7true, Black: 139#(= |#race~threads_alive~0| |ULTIMATE.start_main_#t~nondet8#1|), 152#true, 125#true]) [2025-01-09 21:39:38,190 INFO L294 olderBase$Statistics]: this new event has 111 ancestors and is cut-off event [2025-01-09 21:39:38,190 INFO L297 olderBase$Statistics]: existing Event has 111 ancestors and is cut-off event [2025-01-09 21:39:38,190 INFO L297 olderBase$Statistics]: existing Event has 108 ancestors and is cut-off event [2025-01-09 21:39:38,190 INFO L297 olderBase$Statistics]: existing Event has 111 ancestors and is cut-off event [2025-01-09 21:39:38,190 INFO L297 olderBase$Statistics]: existing Event has 108 ancestors and is cut-off event [2025-01-09 21:39:38,190 INFO L297 olderBase$Statistics]: existing Event has 111 ancestors and is cut-off event [2025-01-09 21:39:38,230 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([257] L704-3-->L704-1: Formula: (= 0 |v_#race~threads_alive~0_7|) InVars {} OutVars{#race~threads_alive~0=|v_#race~threads_alive~0_7|} AuxVars[] AssignedVars[#race~threads_alive~0][74], [69#L704-1true, Black: 144#(= |threadThread1of2ForFork0_#t~nondet2| |#race~data~0|), 147#true, Black: 127#true, 110#L692-2true, Black: 149#(= |threadThread1of2ForFork0_#t~nondet5| |#race~threads_alive~0|), Black: 134#(= |#race~data~0| 0), 28#threadErr2ASSERT_VIOLATIONDATA_RACEtrue, 123#true, 152#true, Black: 139#(= |#race~threads_alive~0| |ULTIMATE.start_main_#t~nondet8#1|), 125#true]) [2025-01-09 21:39:38,230 INFO L294 olderBase$Statistics]: this new event has 111 ancestors and is cut-off event [2025-01-09 21:39:38,230 INFO L297 olderBase$Statistics]: existing Event has 111 ancestors and is cut-off event [2025-01-09 21:39:38,230 INFO L297 olderBase$Statistics]: existing Event has 108 ancestors and is cut-off event [2025-01-09 21:39:38,230 INFO L297 olderBase$Statistics]: existing Event has 111 ancestors and is cut-off event [2025-01-09 21:39:38,261 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([257] L704-3-->L704-1: Formula: (= 0 |v_#race~threads_alive~0_7|) InVars {} OutVars{#race~threads_alive~0=|v_#race~threads_alive~0_7|} AuxVars[] AssignedVars[#race~threads_alive~0][74], [69#L704-1true, Black: 144#(= |threadThread1of2ForFork0_#t~nondet2| |#race~data~0|), Black: 127#true, 147#true, 110#L692-2true, Black: 149#(= |threadThread1of2ForFork0_#t~nondet5| |#race~threads_alive~0|), Black: 134#(= |#race~data~0| 0), 123#true, 53#L693true, Black: 139#(= |#race~threads_alive~0| |ULTIMATE.start_main_#t~nondet8#1|), 152#true, 125#true]) [2025-01-09 21:39:38,261 INFO L294 olderBase$Statistics]: this new event has 113 ancestors and is cut-off event [2025-01-09 21:39:38,261 INFO L297 olderBase$Statistics]: existing Event has 113 ancestors and is cut-off event [2025-01-09 21:39:38,261 INFO L297 olderBase$Statistics]: existing Event has 110 ancestors and is cut-off event [2025-01-09 21:39:38,261 INFO L297 olderBase$Statistics]: existing Event has 110 ancestors and is cut-off event [2025-01-09 21:39:38,262 INFO L292 olderBase$Statistics]: inserting event number 5 for the transition-marking pair ([257] L704-3-->L704-1: Formula: (= 0 |v_#race~threads_alive~0_7|) InVars {} OutVars{#race~threads_alive~0=|v_#race~threads_alive~0_7|} AuxVars[] AssignedVars[#race~threads_alive~0][74], [69#L704-1true, Black: 144#(= |threadThread1of2ForFork0_#t~nondet2| |#race~data~0|), Black: 127#true, 147#true, 110#L692-2true, Black: 149#(= |threadThread1of2ForFork0_#t~nondet5| |#race~threads_alive~0|), Black: 134#(= |#race~data~0| 0), 123#true, 53#L693true, 152#true, Black: 139#(= |#race~threads_alive~0| |ULTIMATE.start_main_#t~nondet8#1|), 125#true]) [2025-01-09 21:39:38,262 INFO L294 olderBase$Statistics]: this new event has 113 ancestors and is cut-off event [2025-01-09 21:39:38,262 INFO L297 olderBase$Statistics]: existing Event has 113 ancestors and is cut-off event [2025-01-09 21:39:38,262 INFO L297 olderBase$Statistics]: existing Event has 110 ancestors and is cut-off event [2025-01-09 21:39:38,262 INFO L297 olderBase$Statistics]: existing Event has 113 ancestors and is cut-off event [2025-01-09 21:39:38,262 INFO L297 olderBase$Statistics]: existing Event has 110 ancestors and is cut-off event [2025-01-09 21:39:38,406 INFO L292 olderBase$Statistics]: inserting event number 4 for the transition-marking pair ([355] L692-5-->L692-6: Formula: (= |v_#race~threads_alive~0_13| |v_threadThread1of2ForFork0_#t~nondet5_3|) InVars {threadThread1of2ForFork0_#t~nondet5=|v_threadThread1of2ForFork0_#t~nondet5_3|} OutVars{threadThread1of2ForFork0_#t~nondet5=|v_threadThread1of2ForFork0_#t~nondet5_3|, #race~threads_alive~0=|v_#race~threads_alive~0_13|} AuxVars[] AssignedVars[#race~threads_alive~0][84], [60#L700true, Black: 144#(= |threadThread1of2ForFork0_#t~nondet2| |#race~data~0|), Black: 129#(= |#race~threads_alive~0| 0), 110#L692-2true, Black: 147#true, Black: 134#(= |#race~data~0| 0), 123#true, 149#(= |threadThread1of2ForFork0_#t~nondet5| |#race~threads_alive~0|), 152#true, 118#L692-6true, Black: 139#(= |#race~threads_alive~0| |ULTIMATE.start_main_#t~nondet8#1|), 125#true]) [2025-01-09 21:39:38,406 INFO L294 olderBase$Statistics]: this new event has 114 ancestors and is not cut-off event [2025-01-09 21:39:38,406 INFO L297 olderBase$Statistics]: existing Event has 114 ancestors and is not cut-off event [2025-01-09 21:39:38,406 INFO L297 olderBase$Statistics]: existing Event has 114 ancestors and is not cut-off event [2025-01-09 21:39:38,406 INFO L297 olderBase$Statistics]: existing Event has 114 ancestors and is not cut-off event [2025-01-09 21:39:38,483 INFO L124 PetriNetUnfolderBase]: 2085/8293 cut-off events. [2025-01-09 21:39:38,483 INFO L125 PetriNetUnfolderBase]: For 5311/5976 co-relation queries the response was YES. [2025-01-09 21:39:38,508 INFO L83 FinitePrefix]: Finished finitePrefix Result has 16955 conditions, 8293 events. 2085/8293 cut-off events. For 5311/5976 co-relation queries the response was YES. Maximal size of possible extension queue 397. Compared 94562 event pairs, 555 based on Foata normal form. 54/7315 useless extension candidates. Maximal degree in co-relation 10169. Up to 1525 conditions per place. [2025-01-09 21:39:38,539 INFO L140 encePairwiseOnDemand]: 114/122 looper letters, 23 selfloop transitions, 9 changer transitions 1/180 dead transitions. [2025-01-09 21:39:38,539 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 140 places, 180 transitions, 750 flow [2025-01-09 21:39:38,539 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2025-01-09 21:39:38,540 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2025-01-09 21:39:38,541 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 659 transitions. [2025-01-09 21:39:38,541 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.9002732240437158 [2025-01-09 21:39:38,541 INFO L175 Difference]: Start difference. First operand has 135 places, 163 transitions, 650 flow. Second operand 6 states and 659 transitions. [2025-01-09 21:39:38,541 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 140 places, 180 transitions, 750 flow [2025-01-09 21:39:38,558 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 138 places, 180 transitions, 712 flow, removed 0 selfloop flow, removed 2 redundant places. [2025-01-09 21:39:38,560 INFO L231 Difference]: Finished difference. Result has 140 places, 170 transitions, 663 flow [2025-01-09 21:39:38,561 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=122, PETRI_DIFFERENCE_MINUEND_FLOW=612, PETRI_DIFFERENCE_MINUEND_PLACES=133, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=163, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=4, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=156, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=663, PETRI_PLACES=140, PETRI_TRANSITIONS=170} [2025-01-09 21:39:38,562 INFO L279 CegarLoopForPetriNet]: 124 programPoint places, 16 predicate places. [2025-01-09 21:39:38,562 INFO L471 AbstractCegarLoop]: Abstraction has has 140 places, 170 transitions, 663 flow [2025-01-09 21:39:38,562 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 105.6) internal successors, (528), 5 states have internal predecessors, (528), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-01-09 21:39:38,562 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-01-09 21:39:38,563 INFO L206 CegarLoopForPetriNet]: trace histogram [2, 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, 1, 1, 1, 1, 1, 1, 1, 1] [2025-01-09 21:39:38,563 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable12 [2025-01-09 21:39:38,563 INFO L396 AbstractCegarLoop]: === Iteration 7 === Targeting threadErr1ASSERT_VIOLATIONDATA_RACE === [ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr2ASSERT_VIOLATIONDATA_RACE, ULTIMATE.startErr3ASSERT_VIOLATIONDATA_RACE (and 11 more)] === [2025-01-09 21:39:38,564 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-01-09 21:39:38,564 INFO L85 PathProgramCache]: Analyzing trace with hash 1616955913, now seen corresponding path program 1 times [2025-01-09 21:39:38,564 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-01-09 21:39:38,564 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [283708535] [2025-01-09 21:39:38,564 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-01-09 21:39:38,564 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-01-09 21:39:38,571 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 69 statements into 1 equivalence classes. [2025-01-09 21:39:38,579 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 69 of 69 statements. [2025-01-09 21:39:38,579 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 21:39:38,579 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-09 21:39:38,579 INFO L348 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2025-01-09 21:39:38,583 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 69 statements into 1 equivalence classes. [2025-01-09 21:39:38,591 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 69 of 69 statements. [2025-01-09 21:39:38,592 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-01-09 21:39:38,592 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is sat [2025-01-09 21:39:38,602 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2025-01-09 21:39:38,602 INFO L340 BasicCegarLoop]: Counterexample is feasible [2025-01-09 21:39:38,602 INFO L782 garLoopResultBuilder]: Registering result UNSAFE for location threadErr1ASSERT_VIOLATIONDATA_RACE (13 of 14 remaining) [2025-01-09 21:39:38,603 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr0ASSERT_VIOLATIONDATA_RACE (12 of 14 remaining) [2025-01-09 21:39:38,603 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr2ASSERT_VIOLATIONDATA_RACE (11 of 14 remaining) [2025-01-09 21:39:38,603 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr3ASSERT_VIOLATIONDATA_RACE (10 of 14 remaining) [2025-01-09 21:39:38,603 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr1ASSERT_VIOLATIONDATA_RACE (9 of 14 remaining) [2025-01-09 21:39:38,603 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (8 of 14 remaining) [2025-01-09 21:39:38,603 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location threadErr0ASSERT_VIOLATIONDATA_RACE (7 of 14 remaining) [2025-01-09 21:39:38,603 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location threadErr1ASSERT_VIOLATIONDATA_RACE (6 of 14 remaining) [2025-01-09 21:39:38,603 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location threadErr2ASSERT_VIOLATIONDATA_RACE (5 of 14 remaining) [2025-01-09 21:39:38,604 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location threadErr0ASSERT_VIOLATIONDATA_RACE (4 of 14 remaining) [2025-01-09 21:39:38,604 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location threadErr2ASSERT_VIOLATIONDATA_RACE (3 of 14 remaining) [2025-01-09 21:39:38,604 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location threadErr0ASSERT_VIOLATIONDATA_RACE (2 of 14 remaining) [2025-01-09 21:39:38,604 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location threadErr1ASSERT_VIOLATIONDATA_RACE (1 of 14 remaining) [2025-01-09 21:39:38,604 INFO L782 garLoopResultBuilder]: Registering result UNKNOWN for location threadErr2ASSERT_VIOLATIONDATA_RACE (0 of 14 remaining) [2025-01-09 21:39:38,604 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable13 [2025-01-09 21:39:38,604 INFO L422 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1, 1, 1, 1] [2025-01-09 21:39:38,657 INFO L241 ceAbstractionStarter]: Analysis of concurrent program completed with 2 thread instances [2025-01-09 21:39:38,658 INFO L170 ceAbstractionStarter]: Computing trace abstraction results [2025-01-09 21:39:38,666 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 09.01 09:39:38 BasicIcfg [2025-01-09 21:39:38,666 INFO L131 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2025-01-09 21:39:38,667 INFO L112 PluginConnector]: ------------------------Witness Printer---------------------------- [2025-01-09 21:39:38,667 INFO L270 PluginConnector]: Initializing Witness Printer... [2025-01-09 21:39:38,667 INFO L274 PluginConnector]: Witness Printer initialized [2025-01-09 21:39:38,668 INFO L184 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 09.01 09:39:32" (3/4) ... [2025-01-09 21:39:38,669 INFO L140 WitnessPrinter]: Generating witness for reachability counterexample [2025-01-09 21:39:38,741 INFO L127 tionWitnessGenerator]: Generated YAML witness of length 6. [2025-01-09 21:39:38,781 INFO L149 WitnessManager]: Wrote witness to /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/witness.graphml [2025-01-09 21:39:38,782 INFO L149 WitnessManager]: Wrote witness to /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/witness.yml [2025-01-09 21:39:38,782 INFO L131 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2025-01-09 21:39:38,782 INFO L158 Benchmark]: Toolchain (without parser) took 6854.61ms. Allocated memory was 142.6MB in the beginning and 419.4MB in the end (delta: 276.8MB). Free memory was 110.2MB in the beginning and 238.7MB in the end (delta: -128.4MB). Peak memory consumption was 145.0MB. Max. memory is 16.1GB. [2025-01-09 21:39:38,783 INFO L158 Benchmark]: CDTParser took 0.33ms. Allocated memory is still 201.3MB. Free memory is still 127.1MB. There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 21:39:38,783 INFO L158 Benchmark]: CACSL2BoogieTranslator took 459.45ms. Allocated memory is still 142.6MB. Free memory was 110.2MB in the beginning and 90.5MB in the end (delta: 19.7MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. [2025-01-09 21:39:38,783 INFO L158 Benchmark]: Boogie Procedure Inliner took 33.17ms. Allocated memory is still 142.6MB. Free memory was 90.5MB in the beginning and 89.1MB in the end (delta: 1.5MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-01-09 21:39:38,783 INFO L158 Benchmark]: Boogie Preprocessor took 32.77ms. Allocated memory is still 142.6MB. Free memory was 89.1MB in the beginning and 88.1MB in the end (delta: 983.7kB). There was no memory consumed. Max. memory is 16.1GB. [2025-01-09 21:39:38,784 INFO L158 Benchmark]: RCFGBuilder took 323.47ms. Allocated memory is still 142.6MB. Free memory was 88.1MB in the beginning and 74.8MB in the end (delta: 13.3MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-01-09 21:39:38,784 INFO L158 Benchmark]: TraceAbstraction took 5884.14ms. Allocated memory was 142.6MB in the beginning and 419.4MB in the end (delta: 276.8MB). Free memory was 73.8MB in the beginning and 251.2MB in the end (delta: -177.5MB). Peak memory consumption was 103.0MB. Max. memory is 16.1GB. [2025-01-09 21:39:38,784 INFO L158 Benchmark]: Witness Printer took 114.64ms. Allocated memory is still 419.4MB. Free memory was 251.2MB in the beginning and 238.7MB in the end (delta: 12.6MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-01-09 21:39:38,785 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.33ms. Allocated memory is still 201.3MB. Free memory is still 127.1MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 459.45ms. Allocated memory is still 142.6MB. Free memory was 110.2MB in the beginning and 90.5MB in the end (delta: 19.7MB). Peak memory consumption was 16.8MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 33.17ms. Allocated memory is still 142.6MB. Free memory was 90.5MB in the beginning and 89.1MB in the end (delta: 1.5MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * Boogie Preprocessor took 32.77ms. Allocated memory is still 142.6MB. Free memory was 89.1MB in the beginning and 88.1MB in the end (delta: 983.7kB). There was no memory consumed. Max. memory is 16.1GB. * RCFGBuilder took 323.47ms. Allocated memory is still 142.6MB. Free memory was 88.1MB in the beginning and 74.8MB in the end (delta: 13.3MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * TraceAbstraction took 5884.14ms. Allocated memory was 142.6MB in the beginning and 419.4MB in the end (delta: 276.8MB). Free memory was 73.8MB in the beginning and 251.2MB in the end (delta: -177.5MB). Peak memory consumption was 103.0MB. Max. memory is 16.1GB. * Witness Printer took 114.64ms. Allocated memory is still 419.4MB. Free memory was 251.2MB in the beginning and 238.7MB in the end (delta: 12.6MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - DataRaceFoundResult [Line: 692]: Data race detected Data race detected The following path leads to a data race: [L685] 0 int threads_alive = 0; VAL [threads_alive=0] [L686] 0 int data = 0; VAL [data=0, threads_alive=0] [L687] 0 pthread_mutex_t data_mutex = { { 0, 0, 0, PTHREAD_MUTEX_TIMED_NP, 0, { { 0, 0 } } } }; VAL [data=0, data_mutex={1:0}, threads_alive=0] [L696] 0 int threads_total = __VERIFIER_nondet_int(); VAL [data=0, data_mutex={1:0}, threads_alive=0, threads_total=2] [L697] CALL 0 assume_abort_if_not(threads_total >= 0) [L682] COND FALSE 0 !(!cond) VAL [\old(cond)=1, cond=1, data=0, data_mutex={1:0}, threads_alive=0] [L697] RET 0 assume_abort_if_not(threads_total >= 0) [L698] 0 int i = 0; VAL [data=0, data_mutex={1:0}, i=0, threads_alive=0, threads_total=2] [L698] COND TRUE 0 i < threads_total VAL [data=0, data_mutex={1:0}, i=0, threads_alive=0, threads_total=2] [L699] 0 threads_alive++ VAL [data=0, data_mutex={1:0}, i=0, threads_alive=1, threads_total=2] [L700] 0 pthread_t tid; VAL [data=0, data_mutex={1:0}, i=0, threads_alive=1, threads_total=2] [L701] FCALL, FORK 0 pthread_create(&tid, ((void *)0), &thread, ((void *)0)) VAL [\old(arg)={0:0}, data=0, data_mutex={1:0}, i=0, threads_alive=1, threads_total=2, tid=-1] [L698] 0 i++ VAL [\old(arg)={0:0}, data=0, data_mutex={1:0}, i=1, threads_alive=1, threads_total=2] [L698] COND TRUE 0 i < threads_total VAL [\old(arg)={0:0}, data=0, data_mutex={1:0}, i=1, threads_alive=1, threads_total=2] [L699] 0 threads_alive++ VAL [\old(arg)={0:0}, data=0, data_mutex={1:0}, i=1, threads_alive=1, threads_total=2] [L690] 1 data = __VERIFIER_nondet_int() VAL [\old(arg)={0:0}, arg={0:0}, data=0, data_mutex={1:0}, threads_alive=1] [L699] 0 threads_alive++ VAL [\old(arg)={0:0}, arg={0:0}, data=0, data_mutex={1:0}, i=1, threads_alive=2, threads_total=2] [L692] 1 threads_alive-- VAL [\old(arg)={0:0}, arg={0:0}, data=0, data_mutex={1:0}, threads_alive=2] [L699] 0 threads_alive++ VAL [\old(arg)={0:0}, arg={0:0}, data=0, data_mutex={1:0}, i=1, threads_alive=2, threads_total=2] [L692] 1 threads_alive-- VAL [\old(arg)={0:0}, arg={0:0}, data=0, data_mutex={1:0}, threads_alive=2] Now there is a data race on ~threads_alive~0 between C: threads_alive++ [699] and C: threads_alive-- [692] - UnprovableResult [Line: 699]: Unable to prove that there are no data races Unable to prove that there are no data races Reason: Not analyzed. - UnprovableResult [Line: 704]: Unable to prove that there are no data races Unable to prove that there are no data races Reason: Not analyzed. - UnprovableResult [Line: 705]: Unable to prove that there are no data races Unable to prove that there are no data races Reason: Not analyzed. - UnprovableResult [Line: 699]: Unable to prove that there are no data races Unable to prove that there are no data races Reason: Not analyzed. - UnprovableResult [Line: 701]: Unable to prove that petrification did provide enough thread instances (tool internal message) Unable to prove that petrification did provide enough thread instances (tool internal message) Reason: Not analyzed. - UnprovableResult [Line: 690]: Unable to prove that there are no data races Unable to prove that there are no data races Reason: Not analyzed. - UnprovableResult [Line: 692]: Unable to prove that there are no data races Unable to prove that there are no data races Reason: Not analyzed. - StatisticsResult: Ultimate Automizer benchmark data with 1 thread instances CFG has 3 procedures, 120 locations, 11 error locations. Started 1 CEGAR loops. EmptinessCheckTime: 0.0s, RemoveRedundantFlowTime: 0.0s, RemoveRedundantFlowUnfoldingTime: 0.0s, BackfoldingTime: 0.0s, BackfoldingUnfoldingTime: 0.0s, FlowIncreaseByBackfolding: 0, BasicCegarLoop: OverallTime: 1.8s, OverallIterations: 7, TraceHistogramMax: 2, PathProgramHistogramMax: 1, EmptinessCheckTime: 0.0s, AutomataDifference: 0.8s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.1s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 142 SdHoareTripleChecker+Valid, 0.2s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 51 mSDsluCounter, 53 SdHoareTripleChecker+Invalid, 0.2s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 12 mSDsCounter, 15 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 186 IncrementalHoareTripleChecker+Invalid, 201 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 15 mSolverCounterUnsat, 41 mSDtfsCounter, 186 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 17 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=408occurred in iteration=5, InterpolantAutomatonStates: 21, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: No data available, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.1s SatisfiabilityAnalysisTime, 0.5s InterpolantComputationTime, 321 NumberOfCodeBlocks, 321 NumberOfCodeBlocksAsserted, 7 NumberOfCheckSat, 253 ConstructedInterpolants, 0 QuantifiedInterpolants, 361 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 6 InterpolantComputations, 6 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available, ConComCheckerStatistics: No data available - StatisticsResult: Ultimate Automizer benchmark data with 2 thread instances CFG has 4 procedures, 148 locations, 14 error locations. Started 1 CEGAR loops. EmptinessCheckTime: 0.0s, RemoveRedundantFlowTime: 0.0s, RemoveRedundantFlowUnfoldingTime: 0.0s, BackfoldingTime: 0.0s, BackfoldingUnfoldingTime: 0.0s, FlowIncreaseByBackfolding: 0, BasicCegarLoop: OverallTime: 3.9s, OverallIterations: 7, TraceHistogramMax: 2, PathProgramHistogramMax: 1, EmptinessCheckTime: 0.0s, AutomataDifference: 3.5s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 217 SdHoareTripleChecker+Valid, 0.3s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 88 mSDsluCounter, 49 SdHoareTripleChecker+Invalid, 0.2s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 12 mSDsCounter, 20 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 291 IncrementalHoareTripleChecker+Invalid, 311 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 20 mSolverCounterUnsat, 37 mSDtfsCounter, 291 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 17 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=663occurred in iteration=6, InterpolantAutomatonStates: 21, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: No data available, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.0s SatisfiabilityAnalysisTime, 0.2s InterpolantComputationTime, 328 NumberOfCodeBlocks, 328 NumberOfCodeBlocksAsserted, 7 NumberOfCheckSat, 253 ConstructedInterpolants, 0 QuantifiedInterpolants, 361 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 6 InterpolantComputations, 6 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available, ConComCheckerStatistics: No data available RESULT: Ultimate proved your program to be incorrect! [2025-01-09 21:39:38,802 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (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(DATA-RACE)