scripts/cpa.sh -svcomp24 -heap 10000M -benchmark -timelimit '900 s' -stats -spec /mnt/goblint-svcomp/goblint-bench/bench/concrat/properties/no-data-race.prp -64 /mnt/goblint-svcomp/goblint-bench/bench/concrat/Remotery/main.c


--------------------------------------------------------------------------------


Running CPAchecker with Java heap of size 10000M.
Running CPAchecker with default stack size (1024k). Specify a larger value with -stack if needed.
Language C detected and set for analysis (CPAMain.detectFrontendLanguageIfNecessary, INFO)

Using the following resource limits: CPU-time limit of 900s (ResourceLimitChecker.fromConfiguration, INFO)

CPAchecker 2.3 (OpenJDK 64-Bit Server VM 17.0.9) started (CPAchecker.run, INFO)

Parsing CFA from file(s) "/mnt/goblint-svcomp/goblint-bench/bench/concrat/Remotery/main.c" (CPAchecker.parse, INFO)

Undefined function __sync_bool_compare_and_swap found, first called in line 1114 (CheckBindingVisitor.visit, WARNING)

Undefined function __sync_fetch_and_add found, first called in line 1144 (CheckBindingVisitor.visit, WARNING)

lines 6878-6879: Dead code detected: __assert_fail("sizeof(MessageID) == sizeof(rmtU32)", "lib/Remotery.c", 7037U,
                  "_rmt_CreateGlobalInstance"); (CFACreationUtils.addEdgeToCFA, INFO)

Inline assembler ignored, analysis is probably unsound! (CFABuilder.createCFA, WARNING)

program contains concurrency, cloning functions... (CFACreator.postProcessingOnMutableCFAs, INFO)

Using predicate analysis with MathSAT5 version 5.6.10 (9293adc746be) (May 31 2023 12:38:06, gmp 6.2.0, gcc 7.5.0, 64-bit, reentrant) and JFactory 1.21. (PredicateCPA:PredicateCPA.<init>, INFO)

Starting analysis ... (CPAchecker.runAlgorithm, INFO)

Assuming external function signal to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO)

line 834: Ignoring function call through function pointer *(g_Settings.malloc): tmp = (*(g_Settings.malloc))(g_Settings.mm_context, size); (PredicateCPA:ExpressionToFormulaVisitor.visit, WARNING)

Assuming external function pthread_mutex_init to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO)

Assuming external function clock_gettime to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO)

Assuming external function fclose to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO)

Assuming external function pthread_self to be a constant function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO)

Assuming external function pthread_equal to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO)

line 1961: Ignoring function call through function pointer *(allocator->destructor): (*(allocator->destructor))((void *)(allocator->first_free)); (PredicateCPA:ExpressionToFormulaVisitor.visit, WARNING)

line 852: Ignoring function call through function pointer *(g_Settings.free): (*(g_Settings.free))(g_Settings.mm_context, ptr); (PredicateCPA:ExpressionToFormulaVisitor.visit, WARNING)

Assuming external function pthread_key_delete to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO)

Assuming external function pthread_mutex_destroy to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO)

Assuming external function munmap to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO)

Assuming external function shutdown to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO)

Assuming external function close to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO)

Assuming external function recv to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO)

Error: line 1897: Unrecognized C code (unsupported thread join access): thread->handle (ThreadingTransferRelation.extractParamName, SEVERE)


PredicateCPA statistics
-----------------------
Number of abstractions:            330 (17% of all post computations)
  Times abstraction was reused:    0
  Because of function entry/exit:  314 (95%)
  Because of loop head:            16 (5%)
  Because of join nodes:           0 (0%)
  Because of threshold:            0 (0%)
  Because of target state:         0 (0%)
  Times precision was empty:       330 (100%)
  Times precision was {false}:     0 (0%)
  Times result was cached:         0 (0%)
  Times cartesian abs was used:    0 (0%)
  Times boolean abs was used:      0 (0%)
  Times result was 'false':        0 (0%)
Number of strengthen sat checks:   0
Number of coverage checks:         254
  BDD entailment checks:           224
Number of SMT sat checks:          0
  trivial:                         0
  cached:                          0

Max ABE block size:                       39
Avg ABE block size:                                2.72 (sum: 897, count: 330, min: 0, max: 39)
Number of predicates discovered:          0

Time for post operator:                                0.373s
  Time for path formula creation:                      0.368s
Time for strengthen operator:                          0.003s
Time for prec operator:                                0.026s
  Time for abstraction:                  0.010s (Max:     0.001s, Count: 330)
    Solving time:                        0.000s (Max:     0.000s)
    Model enumeration time:              0.000s
    Time for BDD construction:           0.000s (Max:     0.000s)
Time for merge operator:                               0.010s
Time for coverage checks:                              0.012s
  Time for BDD entailment checks:                      0.012s
Total time for SMT solver (w/o itp):     0.000s

Number of path formula cache hits:   181 (9%)

Inside post operator:                  
  Inside path formula creation:        
    Time for path formula computation:     0.354s

Total number of created targets for pointer analysis: 0


Number of BDD nodes:                               202
Size of BDD node table:                            524309
Size of BDD cache:                                 52433
Size of BDD node cleanup queue:                    0.00 (sum: 0, count: 555, min: 0, max: 0)
Time for BDD node cleanup:                             0.000s
Time for BDD garbage collection:                       0.000s (in 0 runs)

KeyValue statistics
-------------------
Init. function predicates:                         0
Init. global predicates:                           0
Init. location predicates:                         0

Invariant Generation statistics
-------------------------------

ValueAnalysisCPA statistics
---------------------------
Number of variables per state:                     7.46 (sum: 13365, count: 1791, min: 0, max: 13)
Number of global variables per state:              5.77 (sum: 10327, count: 1791, min: 0, max: 7)
Number of assumptions:                                  406
Number of deterministic assumptions:                      0
Level of Determinism:                              0%

ValueAnalysisPrecisionAdjustment statistics
-------------------------------------------
Number of abstraction computations:                    1866
Total time for liveness abstraction:                   0.000s
Total time for abstraction computation:                0.005s
Total time for path thresholds:                        0.000s

ConstraintsStrengthenOperator statistics
----------------------------------------
Total time for strengthening by ConstraintsCPA:     0.000s
Replaced symbolic expressions: 0

AutomatonAnalysis (DataRace) statistics
---------------------------------------
Number of states:                                  1
Total time for successor computation:                  0.005s
Total time for strengthen operator:                    0.158s
Automaton transfers with branching:                0
Automaton transfer successors:                     1.00 (sum: 1925, count: 1925, min: 1, max: 1) [1 x 1925]
Number of states with assumption transitions:      0

AutomatonAnalysis (svcompTerminatingFunctions) statistics
---------------------------------------------------------
Number of states:                                  1
Total time for successor computation:                  0.014s
Automaton transfers with branching:                0
Automaton transfer successors:                     0.97 (sum: 1866, count: 1925, min: 0, max: 1) [0 x 59, 1 x 1866]
Number of states with assumption transitions:      0

CPA algorithm statistics
------------------------
Number of iterations:            1758
Max size of waitlist:            45
Average size of waitlist:        21
Number of computed successors:   1866
Max successors for one state:    2
Number of times merged:          8
Number of times stopped:         76
Number of times breaked:         0

Total time for CPA algorithm:         0.888s (Max:     0.888s)
  Time for choose from waitlist:      0.003s
  Time for precision adjustment:      0.063s
  Time for transfer relation:         0.744s
  Time for merge operator:            0.028s
  Time for stop operator:             0.011s
  Time for adding to reached set:     0.015s

CPAchecker general statistics
-----------------------------
Number of program locations:                       33803
Number of CFA edges (per node):                       40784 (count: 33803, min: 0, max: 46, avg: 1.21)
Number of relevant variables:                      8142
Number of functions:                               1525
Number of loops (and loop nodes):                       439 (sum: 6893, min: 4, max: 111, avg: 15.70)
Size of reached set:             1791
  Number of partitions:          1756
    Avg size of partitions:      1
    Max size of partitions:      5 (with key [{main=N3810 (before line 5011) Function ThreadProfiler_Destructor called from node N3988, stack depth 5 [59d4e18d], stack [main, _rmt_CreateGlobalInstance, Remotery_Destructor, ThreadProfilers_Destructor, ThreadProfiler_Destructor] @@ 0}])
  Number of target states:       0
  Size of final wait list:       42

Time for analysis setup:          3.279s
  Time for loading CPAs:          0.816s
  Time for loading parser:        0.133s
  Time for CFA construction:      2.302s
    Time for parsing file(s):     0.326s
    Time for AST to CFA:          0.469s
    Time for CFA sanity check:    0.001s
    Time for post-processing:     1.405s
    Time for loop structure:      0.124s
    Time for AST structure:       0.000s
      Time for function pointers resolving:            0.010s
        Function calls via function pointers:            12 (count: 1, min: 12, max: 12, avg: 12.00)
        Instrumented function pointer calls:             12 (count: 1, min: 12, max: 12, avg: 12.00)
        Function calls with function pointer arguments:        0 (count: 1, min: 0, max: 0, avg: 0.00)
        Instrumented function pointer arguments:          0 (count: 1, min: 0, max: 0, avg: 0.00)
      Time for classifying variables:                  0.747s
        Time for collecting variables:                 0.475s
        Time for solving dependencies:                 0.015s
        Time for building hierarchy:                   0.005s
        Time for building classification:              0.250s
        Time for exporting data:                       0.000s
Time for Analysis:                0.889s
CPU time for analysis:            3.180s
Total time for CPAchecker:        4.169s
Total CPU time for CPAchecker:   14.020s
Time for statistics:              0.054s

Time for Garbage Collector:       0.207s (in 10 runs)
Garbage Collector(s) used:    G1 Old Generation, G1 Young Generation

Verification result: UNKNOWN, incomplete analysis.
More details about the verification run can be found in the directory "./output".
