[Bug.Relay.InferType] Type Inference Report Mismatch after One Operator Is Removed

I have meet below error message when write a simple pass, anybody familiar the pass “InferType” can help?

[00:32:22] /home/zhaqia01/workspaces/tvm/src/ir/transform.cc:616: PrintIR():
#[version = "0.0.5"]
def @main(%x1: Tensor[(1, 224, 224, 3), int8], %x2: Tensor[(7, 7, 3, 64), int8]) -> Tensor[(1, 224, 224, 64), int32] {
  %0 = nn.pad(%x1, 0 /* ty=int32 */, pad_width=[[0, 0], [3, 3], [3, 3], [0, 0]]) /* ty=Tensor[(1, 230, 230, 3), int8] */;
  nn.conv2d(%0, %x2, padding=[0, 0, 0, 0], data_layout="NHWC", kernel_layout="HWIO", out_dtype="int32") /* ty=Tensor[(1, 224, 224, 64), int32] */
}

The Relay type checker is unable to show the following types match.
In particular dimension 1 conflicts: 218 does not match 224.dimension 2 conflicts: 218 does not match 224.
The Relay type checker is unable to show the following types match.
In particular `Tensor[(1, 224, 224, 64), int32]` does not match `Tensor[(1, 218, 218, 64), int32]`
note: run with `TVM_BACKTRACE=1` environment variable to display a backtrace.

The details are described in the github issue. [Bug.Relay.InferType] Type Inference Report Mismatch after One Operator Is Removed · Issue #8432 · apache/tvm (github.com)