Showing error 2181

User: Jiri Slaby
Error type: Reachable Error Location
Error type description: A specified error location is reachable in some program path
File location: pthread-atomic/szymanski_safe.i
Line in file: 661
Project: SV-COMP 2013
Project version: 2.6.28
Tools: Manual Work
Entered: 2013-01-17 16:57:54 UTC


Source:

631      void (*__child) (void)) __attribute__ ((__nothrow__ , __leaf__));
632
633int flag1 = 0, flag2 = 0;
634int x;
635void *thr1() {
636  flag1 = 1;
637  while (flag2 >= 3);
638  flag1 = 3;
639  if (flag2 == 1) {
640    flag1 = 2;
641    while (flag2 != 4);
642  }
643  flag1 = 4;
644  while (flag2 >= 2);
645  x = 0;
646  if (!(x<=0)) ERROR: goto ERROR;;
647  while (2 <= flag2 && flag2 <= 3);
648  flag1 = 0;
649}
650void *thr2() {
651  flag2 = 1;
652  while (flag1 >= 3);
653  flag2 = 3;
654  if (flag1 == 1) {
655    flag2 = 2;
656    while (flag1 != 4);
657  }
658  flag2 = 4;
659  while (flag1 >= 2);
660  x = 1;
661  if (!(x>=1)) ERROR: goto ERROR;;
662  while (2 <= flag1 && flag1 <= 3);
663  flag2 = 0;
664}
665int main() {
666  pthread_t t1, t2;
667  pthread_create(&t1, 0, thr1, 0);
668  pthread_create(&t2, 0, thr2, 0);
669  pthread_join(t1, 0);
670  pthread_join(t2, 0);
671  return 0;
Show full sources