fast-wait-free-queue icon indicating copy to clipboard operation
fast-wait-free-queue copied to clipboard

Syntax error in driver script

Open mratsim opened this issue 6 years ago • 1 comments

I get the following error with a high core count:

#! Host: archlinux
#! Benchmarks: wfqueue wfqueue0 faa lcrq ccqueue msqueue delay
#! Threads: 36
36 300.96 3.95 309.71 2.89 205.67 4.08(standard_in) 1: syntax error
(standard_in) 1: syntax error
(standard_in) 1: syntax error
(standard_in) 1: syntax error
(standard_in) 1: syntax error
(standard_in) 1: syntax error
(standard_in) 1: syntax error
(standard_in) 1: syntax error
./driver: line 40: ((: 2 >= 10 || 2 >= 5 &&  == 1: syntax error: operand expected (error token is "== 1")
(standard_in) 1: syntax error
(standard_in) 1: syntax error
(standard_in) 1: syntax error
(standard_in) 1: syntax error
(standard_in) 1: syntax error
(standard_in) 1: syntax error
(standard_in) 1: syntax error
(standard_in) 1: syntax error
(standard_in) 1: syntax error
./driver: line 40: ((: 3 >= 10 || 3 >= 5 &&  == 1: syntax error: operand expected (error token is "== 1")
(standard_in) 1: syntax error
(standard_in) 1: syntax error
(standard_in) 1: syntax error
(standard_in) 1: syntax error
(standard_in) 1: syntax error
(standard_in) 1: syntax error
(standard_in) 1: syntax error
(standard_in) 1: syntax error
(standard_in) 1: syntax error
(standard_in) 1: syntax error
./driver: line 40: ((: 4 >= 10 || 4 >= 5 &&  == 1: syntax error: operand expected (error token is "== 1")

Probably because in the following line https://github.com/chaorayn/fast-wait-free-queue/blob/master/driver#L40

$(echo "$PRECISION < 0.02" | bc) gives empty result

mratsim avatar Aug 01 '19 18:08 mratsim

That's interesting. I also encountered this problem and I found that it's because the error happened when I executed ./lcrq 6. (At least in my case... I get segment fault when I run ./lcrq 6

❯ ./lcrq 6
===========================================
  Benchmark: ./lcrq
  Number of processors: 6
  Number of operations: 10000000
  #1 elapsed time: 635.61 ms
  #2 elapsed time: 632.01 ms
  #3 elapsed time: 633.73 ms
  #4 elapsed time: 633.93 ms
  #5 elapsed time: 633.11 ms
[1]    989225 segmentation fault (core dumped)  ./lcrq 6

I try to gdb it and I guess the error maybe double free happen in queue_free.

Thread 7 "lcrq" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff53fa640 (LWP 989192)]
0x000055555555605d in queue_free (q=0x555555562000, h=0x7fffd0001000) at lcrq.c:255

ZENOTME avatar Mar 03 '24 14:03 ZENOTME