Skip to content

Commit c24821f

Browse files
committed
Fix double-locking in symbolic regression tests
1 parent 55e4973 commit c24821f

File tree

3 files changed

+8
-6
lines changed

3 files changed

+8
-6
lines changed

tests/regression/06-symbeq/20-mult_accs_nr.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ void *t_fun(void *arg) {
1515
pthread_mutex_lock(&s->mutex);
1616
s->data = 5; // NORACE
1717
s->lore = 6; // NORACE
18-
pthread_mutex_lock(&s->mutex);
18+
pthread_mutex_unlock(&s->mutex);
1919
return NULL;
2020
}
2121

tests/regression/06-symbeq/21-mult_accs_rc.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ void *t_fun(void *arg) {
1414
pthread_mutex_lock(&s->mutex);
1515
s = get_s();
1616
s->data = 5; // RACE!
17-
pthread_mutex_lock(&s->mutex);
17+
pthread_mutex_unlock(&s->mutex);
1818
return NULL;
1919
}
2020

tests/regression/06-symbeq/21-mult_accs_rc.t

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,16 @@ Disable info messages because race summary contains (safe) memory location count
33
$ goblint --enable warn.deterministic --disable warn.info --enable ana.race.direct-arithmetic --set ana.activated[+] "'var_eq'" --set ana.activated[+] "'symb_locks'" 21-mult_accs_rc.c 2>&1 | tee default-output-1.txt
44
[Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:14:3-14:32)
55
[Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:16:3-16:14)
6-
[Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:17:3-17:32)
6+
[Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:17:3-17:34)
77
[Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:28:3-28:16)
88
[Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:29:3-29:15)
99
[Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:34:3-34:9)
1010
[Warning][Race] Memory location (struct s).data (race with conf. 100):
1111
write with thread:[main, t_fun@21-mult_accs_rc.c:31:3-31:37] (conf. 100) (exp: & s->data) (21-mult_accs_rc.c:16:3-16:14)
1212
write with [symblock:{p-lock:*.mutex}, mhp:{created={[main, t_fun@21-mult_accs_rc.c:31:3-31:37]}}, thread:[main]] (conf. 100) (exp: & *d) (21-mult_accs_rc.c:34:3-34:9)
1313
[Warning][Unknown] locking NULL mutex (21-mult_accs_rc.c:14:3-14:32)
14-
[Warning][Unknown] locking NULL mutex (21-mult_accs_rc.c:17:3-17:32)
14+
[Warning][Unknown] unlocking NULL mutex (21-mult_accs_rc.c:17:3-17:34)
15+
[Warning][Unknown] unlocking unknown mutex which may not be held (21-mult_accs_rc.c:17:3-17:34)
1516
[Warning][Unknown] locking NULL mutex (21-mult_accs_rc.c:33:3-33:24)
1617
[Warning][Unknown] unlocking NULL mutex (21-mult_accs_rc.c:35:3-35:26)
1718
[Warning][Unknown] unlocking unknown mutex which may not be held (21-mult_accs_rc.c:35:3-35:26)
@@ -23,14 +24,15 @@ Disable info messages because race summary contains (safe) memory location count
2324
$ goblint --enable warn.deterministic --disable warn.info --disable ana.race.direct-arithmetic --set ana.activated[+] "'var_eq'" --set ana.activated[+] "'symb_locks'" --enable allglobs 21-mult_accs_rc.c 2>&1 | tee default-output-2.txt
2425
[Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:14:3-14:32)
2526
[Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:16:3-16:14)
26-
[Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:17:3-17:32)
27+
[Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:17:3-17:34)
2728
[Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:28:3-28:16)
2829
[Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:29:3-29:15)
2930
[Warning][Behavior > Undefined > NullPointerDereference][CWE-476] May dereference NULL pointer (21-mult_accs_rc.c:34:3-34:9)
3031
[Success][Race] Memory location (struct s).data (safe):
3132
write with thread:[main, t_fun@21-mult_accs_rc.c:31:3-31:37] (conf. 100) (exp: & s->data) (21-mult_accs_rc.c:16:3-16:14)
3233
[Warning][Unknown] locking NULL mutex (21-mult_accs_rc.c:14:3-14:32)
33-
[Warning][Unknown] locking NULL mutex (21-mult_accs_rc.c:17:3-17:32)
34+
[Warning][Unknown] unlocking NULL mutex (21-mult_accs_rc.c:17:3-17:34)
35+
[Warning][Unknown] unlocking unknown mutex which may not be held (21-mult_accs_rc.c:17:3-17:34)
3436
[Warning][Unknown] locking NULL mutex (21-mult_accs_rc.c:33:3-33:24)
3537
[Warning][Unknown] unlocking NULL mutex (21-mult_accs_rc.c:35:3-35:26)
3638
[Warning][Unknown] unlocking unknown mutex which may not be held (21-mult_accs_rc.c:35:3-35:26)

0 commit comments

Comments
 (0)