junrushao1994 commented on PR #11234:
URL: https://github.com/apache/tvm/pull/11234#issuecomment-1120091444

   Reading the cryptic error message, it seems that the `IntervalSet` sometimes 
is used to represent `handle` vs `int`, so it cans `CanProveEqual` - a bit 
weird to me, but definitely fixable with more guards
   
   ```
     16: _M_invoke
           at /usr/include/c++/7/bits/std_function.h:316
     15: operator()
           at /workspace/src/te/operation/compute_op.cc:216
     14: tvm::arith::IntSetAnalyzer::operator()(tvm::PrimExpr const&, 
tvm::runtime::Map<tvm::tir::Var, tvm::arith::IntSet, void, void> const&)
           at /workspace/src/arith/int_set.cc:521
     13: tvm::arith::IntSetAnalyzer::Impl::Eval(tvm::PrimExpr const&, 
tvm::runtime::Map<tvm::tir::Var, tvm::arith::IntSet, void, void> const&) const
           at /workspace/src/arith/int_set.cc:509
     12: tvm::arith::IntervalSetEvaluator::Eval(tvm::PrimExpr const&)
           at /workspace/src/arith/int_set.cc:351
     11: tvm::tir::ExprFunctor<tvm::arith::IntervalSet (tvm::PrimExpr 
const&)>::VisitExpr(tvm::PrimExpr const&)
           at /workspace/include/tvm/tir/expr_functor.h:114
     10: tvm::NodeFunctor<tvm::arith::IntervalSet (tvm::runtime::ObjectRef 
const&, tvm::tir::ExprFunctor<tvm::arith::IntervalSet (tvm::PrimExpr 
const&)>*)>::operator()(tvm::runtime::ObjectRef const&, 
tvm::tir::ExprFunctor<tvm::arith::IntervalSet (tvm::PrimExpr const&)>*) const
           at /workspace/include/tvm/node/functor.h:97
     9: tvm::tir::ExprFunctor<tvm::arith::IntervalSet (tvm::PrimExpr 
const&)>::InitVTable()::{lambda(tvm::runtime::ObjectRef const&, 
tvm::tir::ExprFunctor<tvm::arith::IntervalSet (tvm::PrimExpr 
const&)>*)#8}::_FUN(tvm::runtime::ObjectRef const&, 
tvm::tir::ExprFunctor<tvm::arith::IntervalSet (tvm::PrimExpr const&)>*)
           at /workspace/include/tvm/tir/expr_functor.h:171
     8: tvm::tir::ExprFunctor<tvm::arith::IntervalSet (tvm::PrimExpr 
const&)>::InitVTable()::{lambda(tvm::runtime::ObjectRef const&, 
tvm::tir::ExprFunctor<tvm::arith::IntervalSet (tvm::PrimExpr 
const&)>*)#8}::operator()(tvm::runtime::ObjectRef const&, 
tvm::tir::ExprFunctor<tvm::arith::IntervalSet (tvm::PrimExpr const&)>*) const
           at /workspace/include/tvm/tir/expr_functor.h:171
     7: tvm::arith::IntervalSetEvaluator::VisitExpr_(tvm::tir::AddNode const*)
           at /workspace/src/arith/int_set.cc:383
     6: tvm::arith::IntervalSet 
tvm::arith::IntervalSetEvaluator::VisitBinaryExpr_<tvm::tir::Add, 
tvm::tir::AddNode>(tvm::tir::AddNode const*)
           at /workspace/src/arith/int_set.cc:493
     5: tvm::arith::IntervalSet 
tvm::arith::Combine<tvm::tir::Add>(tvm::arith::Analyzer*, 
tvm::arith::IntervalSet, tvm::arith::IntervalSet)
           at /workspace/src/arith/int_set.cc:126
     4: tvm::arith::IntervalSetNode::IsSinglePoint() const
           at /workspace/src/arith/interval_set.h:67
     3: tvm::arith::Analyzer::CanProveEqual(tvm::PrimExpr const&, tvm::PrimExpr 
const&)
           at /workspace/src/arith/analyzer.cc:107
     2: tvm::operator==(tvm::PrimExpr, tvm::PrimExpr)
           at /workspace/src/tir/op/op.cc:501
     1: tvm::equal(tvm::PrimExpr, tvm::PrimExpr, tvm::Span)
           at /workspace/src/tir/op/op.cc:503
     0: tvm::BinaryOpMatchTypes(tvm::PrimExpr&, tvm::PrimExpr&, tvm::Span)
           at /workspace/src/tir/op/op.cc:163
     File "/workspace/src/tir/op/op.cc", line 163
   TVMError: Cannot match type handle vs int32
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to