feat: vm: add actor error backtraces to FVM
This commit is contained in:
parent
0b49f34e01
commit
78899be05d
@ -9,6 +9,7 @@ import (
|
||||
"github.com/ipfs/go-cid"
|
||||
|
||||
"github.com/filecoin-project/go-address"
|
||||
"github.com/filecoin-project/lotus/chain/actors/aerrors"
|
||||
"github.com/filecoin-project/lotus/chain/actors/policy"
|
||||
|
||||
"github.com/filecoin-project/go-state-types/network"
|
||||
@ -332,6 +333,15 @@ func (vm *FVM) ApplyMessage(ctx context.Context, cmsg types.ChainMsg) (*ApplyRet
|
||||
}
|
||||
}
|
||||
|
||||
var aerr aerrors.ActorError
|
||||
if ret.ExitCode != 0 {
|
||||
amsg := ret.FailureInfo
|
||||
if amsg == "" {
|
||||
amsg = "unknown error"
|
||||
}
|
||||
aerr = aerrors.New(exitcode.ExitCode(ret.ExitCode), amsg)
|
||||
}
|
||||
|
||||
return &ApplyRet{
|
||||
MessageReceipt: types.MessageReceipt{
|
||||
Return: ret.Return,
|
||||
@ -348,7 +358,7 @@ func (vm *FVM) ApplyMessage(ctx context.Context, cmsg types.ChainMsg) (*ApplyRet
|
||||
GasRefund: 0,
|
||||
GasBurned: 0,
|
||||
},
|
||||
ActorErr: nil,
|
||||
ActorErr: aerr,
|
||||
ExecutionTrace: et.ToExecutionTrace(),
|
||||
Duration: time.Since(start),
|
||||
}, nil
|
||||
@ -372,13 +382,22 @@ func (vm *FVM) ApplyImplicitMessage(ctx context.Context, cmsg *types.Message) (*
|
||||
}
|
||||
}
|
||||
|
||||
var aerr aerrors.ActorError
|
||||
if ret.ExitCode != 0 {
|
||||
amsg := ret.FailureInfo
|
||||
if amsg == "" {
|
||||
amsg = "unknown error"
|
||||
}
|
||||
aerr = aerrors.New(exitcode.ExitCode(ret.ExitCode), amsg)
|
||||
}
|
||||
|
||||
return &ApplyRet{
|
||||
MessageReceipt: types.MessageReceipt{
|
||||
Return: ret.Return,
|
||||
ExitCode: exitcode.ExitCode(ret.ExitCode),
|
||||
GasUsed: ret.GasUsed,
|
||||
},
|
||||
ActorErr: nil,
|
||||
ActorErr: aerr,
|
||||
ExecutionTrace: et.ToExecutionTrace(),
|
||||
Duration: time.Since(start),
|
||||
}, nil
|
||||
|
2
extern/filecoin-ffi
vendored
2
extern/filecoin-ffi
vendored
@ -1 +1 @@
|
||||
Subproject commit 4cb8411aa6c15bc8f38fef9dcd9ae5d83837eb87
|
||||
Subproject commit 791b68203d33ac494b9904f04b7239674b068df4
|
Loading…
Reference in New Issue
Block a user