fast-wait-free-queue
fast-wait-free-queue copied to clipboard
Syntax error in driver script
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
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