diff --git a/eth/tracers/api.go b/eth/tracers/api.go index 3cb86c80e2..61efaf0f89 100644 --- a/eth/tracers/api.go +++ b/eth/tracers/api.go @@ -820,7 +820,11 @@ func (api *API) standardTraceBlockToFile(ctx context.Context, block *types.Block } vmRet, err := core.ApplyMessage(evm, msg, new(core.GasPool).AddGas(msg.GasLimit)) if vmConf.Tracer.OnTxEnd != nil { - vmConf.Tracer.OnTxEnd(&types.Receipt{GasUsed: vmRet.UsedGas}, err) + var receipt *types.Receipt + if err == nil { + receipt = &types.Receipt{GasUsed: vmRet.UsedGas} + } + vmConf.Tracer.OnTxEnd(receipt, err) } if writer != nil { writer.Flush()