filecoin-project / fvm-workbench

Tooling for developing actors on the FVM
Other
6 stars 0 forks source link

CommitPoSt test running on a BenchKernel #6

Closed alexytsu closed 1 year ago

alexytsu commented 1 year ago

Trying to port some TestVM tests from the builtin-actors repo to this FVM workbench in order to run gas-trace analysis on the calls.

End goal is to eventually profile the ProveCommitAggregate calls to investigate https://github.com/filecoin-project/builtin-actors/issues/1276

Currently relies on patching in a hack from here https://github.com/filecoin-project/builtin-actors/pull/1295/files. Before merging, this functionality should be achieved by replacing the Kernel within the VM with one with suitable seams to be mocked

alexytsu commented 1 year ago

An example trace from running the test

GasCharge { name: "none", compute_milli: 0, other_milli: 0 }
Call { from: 102, to: Address { payload: ID(103) }, method: 5, params: Some(IpldBlock { codec: 51, data: [85008182004081820d401901d558200102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20] }), value: TokenAmount(0.0) }
GasCharge { name: "OnMethodInvocation", compute_milli: 75000000, other_milli: 0 }
GasCharge { name: "wasm_memory_init", compute_milli: 471859200, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 620000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 396000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnMessageContext", compute_milli: 0, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 4618400, other_milli: 0 }
GasCharge { name: "wasm_memory_grow", compute_milli: 26214400, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockStat", compute_milli: 0, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 1456000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockRead", compute_milli: 18800, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 10388000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnGetActorCodeCid", compute_milli: 0, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 8580400, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnGetBuiltinActorType", compute_milli: 0, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 20405600, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnNetworkContext", compute_milli: 0, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 868000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 5322800, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockOpenBase", compute_milli: 0, other_milli: 187440000 }
GasCharge { name: "OnBlockOpenPerByte", compute_milli: 770400, other_milli: 2439600 }
GasCharge { name: "wasm_exec", compute_milli: 1488000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockRead", compute_milli: 128400, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 61916400, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockOpenBase", compute_milli: 0, other_milli: 187440000 }
GasCharge { name: "OnBlockOpenPerByte", compute_milli: 117600, other_milli: 372400 }
GasCharge { name: "wasm_exec", compute_milli: 2068000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockRead", compute_milli: 19600, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 46306000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockOpenBase", compute_milli: 0, other_milli: 187440000 }
GasCharge { name: "OnBlockOpenPerByte", compute_milli: 132000, other_milli: 418000 }
GasCharge { name: "wasm_exec", compute_milli: 1268000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockRead", compute_milli: 22000, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 28296400, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockOpenBase", compute_milli: 0, other_milli: 187440000 }
GasCharge { name: "OnBlockOpenPerByte", compute_milli: 4960800, other_milli: 15709200 }
GasCharge { name: "wasm_exec", compute_milli: 1488000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockRead", compute_milli: 826800, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 279170000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockOpenBase", compute_milli: 0, other_milli: 187440000 }
GasCharge { name: "OnBlockOpenPerByte", compute_milli: 638400, other_milli: 2021600 }
GasCharge { name: "wasm_exec", compute_milli: 3192000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockRead", compute_milli: 106400, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 63152800, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockOpenBase", compute_milli: 0, other_milli: 187440000 }
GasCharge { name: "OnBlockOpenPerByte", compute_milli: 338400, other_milli: 1071600 }
GasCharge { name: "wasm_exec", compute_milli: 1140000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockRead", compute_milli: 56400, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 113225600, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockOpenBase", compute_milli: 0, other_milli: 187440000 }
GasCharge { name: "OnBlockOpenPerByte", compute_milli: 127200, other_milli: 402800 }
GasCharge { name: "wasm_exec", compute_milli: 1268000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockRead", compute_milli: 21200, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 27834800, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockOpenBase", compute_milli: 0, other_milli: 187440000 }
GasCharge { name: "OnBlockOpenPerByte", compute_milli: 117600, other_milli: 372400 }
GasCharge { name: "wasm_exec", compute_milli: 1064000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockRead", compute_milli: 19600, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 25830800, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockOpenBase", compute_milli: 0, other_milli: 187440000 }
GasCharge { name: "OnBlockOpenPerByte", compute_milli: 117600, other_milli: 372400 }
GasCharge { name: "wasm_exec", compute_milli: 1064000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockRead", compute_milli: 19600, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 26478800, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockOpenBase", compute_milli: 0, other_milli: 187440000 }
GasCharge { name: "OnBlockOpenPerByte", compute_milli: 117600, other_milli: 372400 }
GasCharge { name: "wasm_exec", compute_milli: 1064000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockRead", compute_milli: 19600, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 26334800, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockOpenBase", compute_milli: 0, other_milli: 187440000 }
GasCharge { name: "OnBlockOpenPerByte", compute_milli: 93600, other_milli: 296400 }
GasCharge { name: "wasm_exec", compute_milli: 1064000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockRead", compute_milli: 15600, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 257114800, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockCreate", compute_milli: 304800, other_milli: 965200 }
GasCharge { name: "wasm_exec", compute_milli: 152000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockLink", compute_milli: 1574800, other_milli: 930180000 }
GasCharge { name: "wasm_exec", compute_milli: 26022800, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockOpenBase", compute_milli: 0, other_milli: 187440000 }
GasCharge { name: "OnBlockOpenPerByte", compute_milli: 21600, other_milli: 68400 }
GasCharge { name: "wasm_exec", compute_milli: 1064000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockRead", compute_milli: 3600, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 46508400, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockCreate", compute_milli: 38400, other_milli: 121600 }
GasCharge { name: "wasm_exec", compute_milli: 152000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockLink", compute_milli: 198400, other_milli: 559440000 }
GasCharge { name: "wasm_exec", compute_milli: 109737200, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockCreate", compute_milli: 640800, other_milli: 2029200 }
GasCharge { name: "wasm_exec", compute_milli: 152000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockLink", compute_milli: 3310800, other_milli: 1397780000 }
GasCharge { name: "wasm_exec", compute_milli: 566716000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockCreate", compute_milli: 4960800, other_milli: 15709200 }
GasCharge { name: "wasm_exec", compute_milli: 152000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockLink", compute_milli: 25630800, other_milli: 7409780000 }
GasCharge { name: "wasm_exec", compute_milli: 137258800, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockCreate", compute_milli: 770400, other_milli: 2439600 }
GasCharge { name: "wasm_exec", compute_milli: 152000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockLink", compute_milli: 3980400, other_milli: 1578140000 }
GasCharge { name: "wasm_exec", compute_milli: 6575600, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnActorUpdate", compute_milli: 0, other_milli: 475000000 }
GasCharge { name: "wasm_exec", compute_milli: 31010800, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockCreate", compute_milli: 36000, other_milli: 114000 }
GasCharge { name: "wasm_exec", compute_milli: 1308000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
Call { from: 103, to: Address { payload: ID(4) }, method: 3, params: Some(IpldBlock { codec: 51, data: [824600080000000046000800000000] }), value: TokenAmount(0.0) }
GasCharge { name: "OnMethodInvocation", compute_milli: 75000000, other_milli: 0 }
GasCharge { name: "wasm_memory_init", compute_milli: 445644800, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 564000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 396000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnMessageContext", compute_milli: 0, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 4618400, other_milli: 0 }
GasCharge { name: "wasm_memory_grow", compute_milli: 26214400, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockStat", compute_milli: 0, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 1456000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockRead", compute_milli: 6000, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 10544000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnGetActorCodeCid", compute_milli: 0, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 8580400, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnGetBuiltinActorType", compute_milli: 0, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 16180000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnGetActorCodeCid", compute_milli: 0, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 10792400, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnGetBuiltinActorType", compute_milli: 0, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 1340000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 5322800, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockOpenBase", compute_milli: 0, other_milli: 187440000 }
GasCharge { name: "OnBlockOpenPerByte", compute_milli: 408000, other_milli: 1292000 }
GasCharge { name: "wasm_exec", compute_milli: 1124000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockRead", compute_milli: 68000, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 60950400, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockOpenBase", compute_milli: 0, other_milli: 187440000 }
GasCharge { name: "OnBlockOpenPerByte", compute_milli: 33600, other_milli: 106400 }
GasCharge { name: "wasm_exec", compute_milli: 1064000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockRead", compute_milli: 5600, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 50282800, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnHashing", compute_milli: 14000, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 21505200, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnHashing", compute_milli: 14000, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 36038400, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockCreate", compute_milli: 62400, other_milli: 197600 }
GasCharge { name: "wasm_exec", compute_milli: 152000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockLink", compute_milli: 322400, other_milli: 592840000 }
GasCharge { name: "wasm_exec", compute_milli: 125909600, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockCreate", compute_milli: 436800, other_milli: 1383200 }
GasCharge { name: "wasm_exec", compute_milli: 152000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockLink", compute_milli: 2256800, other_milli: 1113880000 }
GasCharge { name: "wasm_exec", compute_milli: 6279600, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 14468000, other_milli: 0 }
CallReturn { return_value: None, exit_code: ExitCode { value: 0 } }
GasCharge { name: "wasm_exec", compute_milli: 6540000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 5359600, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockOpenBase", compute_milli: 0, other_milli: 187440000 }
GasCharge { name: "OnBlockOpenPerByte", compute_milli: 770400, other_milli: 2439600 }
GasCharge { name: "wasm_exec", compute_milli: 1660000, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnBlockRead", compute_milli: 128400, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 61085200, other_milli: 0 }
GasCharge { name: "OnSyscall", compute_milli: 14000000, other_milli: 0 }
GasCharge { name: "OnSelfBalance", compute_milli: 0, other_milli: 0 }
GasCharge { name: "wasm_exec", compute_milli: 19347200, other_milli: 0 }
CallReturn { return_value: None, exit_code: ExitCode { value: 0 } }
Span[Root, self: {sum=0, none=0}, total: {sum=21,483,249, OnBlockLink=13,619,315, OnBlockOpenBase=2,811,600, wasm_exec=2,423,158, OnSyscall=966,000, wasm_memory_init=917,504, OnActorUpdate=475,000, OnMethodInvocation=150,000, wasm_memory_grow=52,429, OnBlockOpenPerByte=36,520, OnBlockCreate=30,210, OnBlockRead=1,486, OnHashing=28, OnGetBuiltinActorType=0, OnGetActorCodeCid=0, OnMessageContext=0, OnSelfBalance=0, OnBlockStat=0, OnNetworkContext=0, none=0}]
Span[1-Call(102->f0103::5), self: {sum=18,190,463, OnBlockLink=11,910,016, OnBlockOpenBase=2,436,720, wasm_exec=2,045,438, OnSyscall=686,000, OnActorUpdate=475,000, wasm_memory_init=471,860, OnMethodInvocation=75,000, OnBlockOpenPerByte=34,680, OnBlockCreate=28,130, wasm_memory_grow=26,215, OnBlockRead=1,406, OnBlockStat=0, OnGetActorCodeCid=0, OnNetworkContext=0, OnGetBuiltinActorType=0, OnSelfBalance=0, OnMessageContext=0}, total: {sum=21,483,249, OnBlockLink=13,619,315, OnBlockOpenBase=2,811,600, wasm_exec=2,423,158, OnSyscall=966,000, wasm_memory_init=917,504, OnActorUpdate=475,000, OnMethodInvocation=150,000, wasm_memory_grow=52,429, OnBlockOpenPerByte=36,520, OnBlockCreate=30,210, OnBlockRead=1,486, OnHashing=28, OnGetActorCodeCid=0, OnNetworkContext=0, OnSelfBalance=0, OnGetBuiltinActorType=0, OnMessageContext=0, OnBlockStat=0}]
Span[2-Call(103->f04::3), self: {sum=3,292,786, OnBlockLink=1,709,300, wasm_memory_init=445,645, wasm_exec=377,720, OnBlockOpenBase=374,880, OnSyscall=280,000, OnMethodInvocation=75,000, wasm_memory_grow=26,215, OnBlockCreate=2,080, OnBlockOpenPerByte=1,840, OnBlockRead=80, OnHashing=28, OnBlockStat=0, OnGetActorCodeCid=0, OnGetBuiltinActorType=0, OnMessageContext=0}, total: {sum=3,292,786, OnBlockLink=1,709,300, wasm_memory_init=445,645, wasm_exec=377,720, OnBlockOpenBase=374,880, OnSyscall=280,000, OnMethodInvocation=75,000, wasm_memory_grow=26,215, OnBlockCreate=2,080, OnBlockOpenPerByte=1,840, OnBlockRead=80, OnHashing=28, OnMessageContext=0, OnBlockStat=0, OnGetBuiltinActorType=0, OnGetActorCodeCid=0}]
alexytsu commented 1 year ago

I'd like to avoid merging with the dependencies on hacked actors. Do you have a path to faking the proof verification?

I agree. To proceed, I think mocking the kernel will be the right way to go. I am having trouble directly using the TestKernel from ref-fvm due to some trait constraint issues. It should be possible to create an implementation in this repo that will do what we want but its a fair amount of code to impl/forward.

alexytsu commented 1 year ago

I'm still actively debugging this @anorth but I was expecting this would be functionally enough. If you have some bandwidth, would appreciate if you have any ideas.

the call to rt.batch_verify_seals is still failing (returning false) which means it's not being intercepted by the BenchKernel.

alexytsu commented 1 year ago

Uses a fake kernel to run the commit_post_test to completion.

The current method relies on changes in the ref-fvm such as https://github.com/filecoin-project/ref-fvm/pull/1780 rather than patching fixes into the builtin-actors' runtime.