|
1 | 1 | Should have (safe) write accesses to id1 and id2: |
2 | 2 |
|
3 | | - $ goblint --enable allglobs 63-access-threadspawn-lval.c |
4 | | - [Error][Imprecise][Unsound] Function definition missing for magic2 (63-access-threadspawn-lval.c:21:3-21:12) |
5 | | - [Info][Imprecise] INVALIDATING ALL GLOBALS! (63-access-threadspawn-lval.c:21:3-21:12) |
6 | | - [Info][Imprecise] Invalidating expressions: & A, & id2, & id1, & e (63-access-threadspawn-lval.c:21:3-21:12) |
7 | | - [Error][Imprecise][Unsound] Function definition missing for magic1 (63-access-threadspawn-lval.c:13:3-13:11) |
8 | | - [Info][Imprecise] INVALIDATING ALL GLOBALS! (63-access-threadspawn-lval.c:13:3-13:11) |
9 | | - [Info][Imprecise] Invalidating expressions: & A, & id2, & id1 (63-access-threadspawn-lval.c:13:3-13:11) |
10 | | - [Info][Deadcode] Logical lines of code (LLoC) summary: |
11 | | - live: 13 |
12 | | - dead: 0 |
13 | | - total lines: 13 |
14 | | - [Success][Race] Memory location id1 (safe): (63-access-threadspawn-lval.c:4:11-4:14) |
15 | | - write with [multi:false, thread:[main]] (conf. 110) (exp: & *((pthread_t * __restrict )(& id1))) (63-access-threadspawn-lval.c:27:3-27:37) |
16 | | - [Success][Race] Memory location id2 (safe): (63-access-threadspawn-lval.c:5:11-5:14) |
17 | | - write with [mhp:{created={[main, f@63-access-threadspawn-lval.c:27:3-27:37]}}, thread:[main]] (conf. 110) (exp: (pthread_t * __restrict )(& id2)) (63-access-threadspawn-lval.c:28:3-28:37) |
18 | | - write with [mhp:{created={[main, f@63-access-threadspawn-lval.c:27:3-27:37]}}, thread:[main]] (conf. 110) (exp: & *((pthread_t * __restrict )(& id2))) (63-access-threadspawn-lval.c:28:3-28:37) |
| 3 | + $ goblint --enable warn.deterministic --enable allglobs 63-access-threadspawn-lval.c |
19 | 4 | [Info][Race] Memory locations race summary: |
20 | 5 | safe: 2 |
21 | 6 | vulnerable: 0 |
22 | 7 | unsafe: 0 |
23 | 8 | total memory locations: 2 |
| 9 | + [Success][Race] Memory location id1 (safe): (63-access-threadspawn-lval.c:4:11-4:14) |
| 10 | + write with [multi:false, thread:[main]] (conf. 110) (exp: & *((pthread_t * __restrict )(& id1))) (63-access-threadspawn-lval.c:27:3-27:37) |
| 11 | + [Success][Race] Memory location id2 (safe): (63-access-threadspawn-lval.c:5:11-5:14) |
| 12 | + write with [mhp:{created={[main, f@63-access-threadspawn-lval.c:27:3-27:37]}}, thread:[main]] (conf. 110) (exp: (pthread_t * __restrict )(& id2)) (63-access-threadspawn-lval.c:28:3-28:37) |
| 13 | + write with [mhp:{created={[main, f@63-access-threadspawn-lval.c:27:3-27:37]}}, thread:[main]] (conf. 110) (exp: & *((pthread_t * __restrict )(& id2))) (63-access-threadspawn-lval.c:28:3-28:37) |
| 14 | + [Info][Deadcode] Logical lines of code (LLoC) summary: |
| 15 | + live: 13 |
| 16 | + dead: 0 |
| 17 | + total lines: 13 |
| 18 | + [Info][Imprecise] INVALIDATING ALL GLOBALS! (63-access-threadspawn-lval.c:13:3-13:11) |
| 19 | + [Info][Imprecise] Invalidating expressions: & A, & id2, & id1 (63-access-threadspawn-lval.c:13:3-13:11) |
| 20 | + [Info][Imprecise] INVALIDATING ALL GLOBALS! (63-access-threadspawn-lval.c:21:3-21:12) |
| 21 | + [Info][Imprecise] Invalidating expressions: & A, & id2, & id1, & e (63-access-threadspawn-lval.c:21:3-21:12) |
| 22 | + [Error][Imprecise][Unsound] Function definition missing for magic1 (63-access-threadspawn-lval.c:13:3-13:11) |
| 23 | + [Error][Imprecise][Unsound] Function definition missing for magic2 (63-access-threadspawn-lval.c:21:3-21:12) |
24 | 24 | [Error][Imprecise][Unsound] Function definition missing |
0 commit comments