Attempt to run the miden-base using the latest VM version (v0.20.0) in some cases resulted in errors during the scripts execution.
It seems like an execution of a program which uses call inside results in DecoratorId out of bounds error. The simplest example could be created from the execute_tx_view_script() test in the miden-base. There we attempt to execute this program:
begin
push.1.2
call.module_1::foo
exec.sys::truncate_stack
end
If the call.module_1::foo is removed, this error will disappear.
It is doubly strange that if the transaction script is slightly modified, this error disappears as well. It's enough to add two drops after push like so:
begin
push.1.2 drop drop
call.module_1::foo
exec.sys::truncate_stack
end
So it feels like adding this extra instructions modifies the way decorators are created during the compilation of this script.
Attempt to run the
miden-baseusing the latest VM version (v0.20.0) in some cases resulted in errors during the scripts execution.It seems like an execution of a program which uses
callinside results inDecoratorId out of boundserror. The simplest example could be created from theexecute_tx_view_script()test in themiden-base. There we attempt to execute this program:If the
call.module_1::foois removed, this error will disappear.It is doubly strange that if the transaction script is slightly modified, this error disappears as well. It's enough to add two drops after push like so:
So it feels like adding this extra instructions modifies the way decorators are created during the compilation of this script.