You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Aug 2, 2022. It is now read-only.
Turns out operator++ is implemented wrong in multi_index container, it returns a copy of a temporary which is incremented rather than incrementing itself after making a copy and returning the original value.
This test will eventually exit, but it takes several seconds using binaryen before it hits the block-cpu limit. Our unit tests don't enforce a deadline and binaryen is slow processing the tight loop.
while( true ) {
now();
}
There is a big difference in behavior between binaryen and wavm when it comes to the performance of these tight loops.
If I lower the block-cpu limit then it exits quicker without peging CPU. If you were running this in debug vs release I suspect there could be a 10x long delay which could give the perception of minutes of runtime or "infinite" for the impatient.
An infinite loop occurs when using multi index table iterator.
Also, in case of infinite loop, the contract is not terminated (more than 0.2 seconds) and nodeos itself blocks with 99% cpu usage.
The text was updated successfully, but these errors were encountered: