diff --git a/eth/tracers/native/call.go b/eth/tracers/native/call.go index f9b60edde41..06b80df0165 100644 --- a/eth/tracers/native/call.go +++ b/eth/tracers/native/call.go @@ -185,6 +185,10 @@ func (t *callTracer) CaptureState(pc uint64, op vm.OpCode, gas, cost uint64, sco if t.config.OnlyTopCall && depth > 0 { return } + // on-error `stackData[stackSize-2]` will contain error data instead of logs. + if err != nil { + return + } // Skip if tracing was interrupted if atomic.LoadUint32(&t.interrupt) > 0 { return