Stablize remote worker on de10-nano board
marktwtn opened this issue · comments
Running remote worker on de10-nano board with incoming PoW packets may sometimes encounter unexpected behaviour.
The MWM(minimum weight magnitude) value in the packet is read as 94
instead of 14
, which makes the remote worker running forever and can not calculate another PoW.
We already figure out this weird behaviour is caused by the compiler optimization.
Hence we need to use #pragma or GCC attribute to not optimize the source code which causes the unexpected behaviour.
As using the newest dcurl
on de10-nano board, it seems that the remote worker works well.
Based on the description of @ajblane , the unexpected behaviour would happen if the remote worker had run for 1~2 days.
However, after using the newest dcurl
, the weird behaviour disappeared.
The remote worker has been running for 5 days and nothing happened.