-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Closed
Description
This will be hard to repro outside of Google until #7566 is resolved, but Google fuzzing reported a signed integer overflow in the simplifier, see below. I'm be attaching the fuzzer input file (which can be used to repro this once we are capable of building the fuzzers outside of Google.)
third_party/halide/halide/src/Simplify_Internal.h:69:43: runtime error: signed integer overflow: -9223372036854775808 - 910641086350476288 cannot be represented in type 'long'
#0 0x55764c4b5e9e in Halide::Internal::Simplify::ExprInfo::trim_bounds_using_alignment() third_party/halide/halide/src/Simplify_Internal.h:69:43
#1 0x55764c9eb96b in Halide::Internal::Simplify::visit(Halide::Internal::Mul const*, Halide::Internal::Simplify::ExprInfo*) third_party/halide/halide/src/Simplify_Mul.cpp:48:17
#2 0x55764c4b5242 in Halide::Expr Halide::Internal::VariadicVisitor<Halide::Internal::Simplify, Halide::Expr, Halide::Internal::Stmt>::dispatch_expr<Halide::Internal::Simplify::ExprInfo*&>(Halide::Internal::BaseExprNode const*, Halide::Internal::Simplify::ExprInfo*&) third_party/halide/halide/src/IRVisitor.h:190:33
#3 0x55764c9ead66 in dispatch<Halide::Internal::Simplify::ExprInfo *&> third_party/halide/halide/src/IRVisitor.h:341:16
#4 0x55764c9ead66 in mutate third_party/halide/halide/src/Simplify_Internal.h:136:23
#5 0x55764c9ead66 in Halide::Internal::Simplify::visit(Halide::Internal::Mul const*, Halide::Internal::Simplify::ExprInfo*) third_party/halide/halide/src/Simplify_Mul.cpp:8:14
#6 0x55764c4b5242 in Halide::Expr Halide::Internal::VariadicVisitor<Halide::Internal::Simplify, Halide::Expr, Halide::Internal::Stmt>::dispatch_expr<Halide::Internal::Simplify::ExprInfo*&>(Halide::Internal::BaseExprNode const*, Halide::Internal::Simplify::ExprInfo*&) third_party/halide/halide/src/IRVisitor.h:190:33
#7 0x55764c5c876c in dispatch<Halide::Internal::Simplify::ExprInfo *&> third_party/halide/halide/src/IRVisitor.h:341:16
#8 0x55764c5c876c in mutate third_party/halide/halide/src/Simplify_Internal.h:136:23
#9 0x55764c5c876c in Halide::Internal::Simplify::visit(Halide::Internal::Call const*, Halide::Internal::Simplify::ExprInfo*) third_party/halide/halide/src/Simplify_Call.cpp:325:18
#10 0x55764c4b52c3 in Halide::Expr Halide::Internal::VariadicVisitor<Halide::Internal::Simplify, Halide::Expr, Halide::Internal::Stmt>::dispatch_expr<Halide::Internal::Simplify::ExprInfo*&>(Halide::Internal::BaseExprNode const*, Halide::Internal::Simplify::ExprInfo*&) third_party/halide/halide/src/IRVisitor.h:222:33
#11 0x55764c5dfc0d in dispatch<Halide::Internal::Simplify::ExprInfo *&> third_party/halide/halide/src/IRVisitor.h:341:16
#12 0x55764c5dfc0d in mutate third_party/halide/halide/src/Simplify_Internal.h:136:23
#13 0x55764c5dfc0d in Halide::Internal::Simplify::visit(Halide::Internal::Cast const*, Halide::Internal::Simplify::ExprInfo*) third_party/halide/halide/src/Simplify_Cast.cpp:7:18
#14 0x55764c4b53c7 in Halide::Expr Halide::Internal::VariadicVisitor<Halide::Internal::Simplify, Halide::Expr, Halide::Internal::Stmt>::dispatch_expr<Halide::Internal::Simplify::ExprInfo*&>(Halide::Internal::BaseExprNode const*, Halide::Internal::Simplify::ExprInfo*&) third_party/halide/halide/src/IRVisitor.h:178:33
#15 0x55764c4b2824 in dispatch<Halide::Internal::Simplify::ExprInfo *&> third_party/halide/halide/src/IRVisitor.h:341:16
#16 0x55764c4b2824 in mutate third_party/halide/halide/src/Simplify_Internal.h:136:23
#17 0x55764c4b2824 in Halide::Internal::simplify(Halide::Expr const&, bool, Halide::Internal::Scope<Halide::Internal::Interval> const&, Halide::Internal::Scope<Halide::Internal::ModulusRemainder> const&) third_party/halide/halide/src/Simplify.cpp:360:21
#18 0x55764b7be617 in test_simplification third_party/halide/halide/test/fuzz/simplify.cpp:219:22
#19 0x55764b7be617 in test_expression third_party/halide/halide/test/fuzz/simplify.cpp:260:14
#20 0x55764b7be617 in LLVMFuzzerTestOneInput third_party/halide/halide/test/fuzz/simplify.cpp:357:5
#21 0x5576540665f5 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) third_party/llvm/llvm-project/compiler-rt/lib/fuzzer/FuzzerLoop.cpp:614:13
#22 0x55765405824b in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) third_party/llvm/llvm-project/compiler-rt/lib/fuzzer/FuzzerDriver.cpp:324:6
Metadata
Metadata
Assignees
Labels
No labels