chibi-scheme
chibi-scheme copied to clipboard
UB Sanitizer warnings on startup (MacOS + Archlinux ARM)
These are the warnings that the undefined behaviour sanitiser spits out on MacOS, Apple clang version 12.0.0 (clang-1200.0.32.29) when starting chibi:
chibi-scheme/sexp.c:1476:28: runtime error: unsigned integer overflow: 1837648261714676624 * 16777619 cannot be represented in type 'unsigned long'
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior chibi-scheme/sexp.c:1476:28 in
chibi-scheme/sexp.c:1917:24: runtime error: negation of 1 cannot be represented in type 'unsigned long'
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior chibi-scheme/sexp.c:1917:24 in
chibi-scheme/sexp.c:2005:32: runtime error: negation of 1 cannot be represented in type 'unsigned long'
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior chibi-scheme/sexp.c:2005:32 in
chibi-scheme/vm.c:522:31: runtime error: negation of 2 cannot be represented in type 'sexp_uint_t' (aka 'unsigned long')
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior chibi-scheme/vm.c:522:31 in
chibi-scheme/gc.c:269:45: runtime error: unsigned integer overflow: 0 - 1 cannot be represented in type 'unsigned long'
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior chibi-scheme/gc.c:269:45 in
chibi-scheme/sexp.c:3645:39: runtime error: division by zero
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior chibi-scheme/sexp.c:3645:39 in
chibi-scheme/sexp.c:3647:39: runtime error: division by zero
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior chibi-scheme/sexp.c:3647:39 in
chibi-scheme/sexp.c:2862:15: runtime error: signed integer overflow: 2288728493826497114 * 10 cannot be represented in type 'long'
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior chibi-scheme/sexp.c:2862:15 in
chibi-scheme/bignum.c:219:16: runtime error: unsigned integer overflow: 18446744073709551610 + 6 cannot be represented in type 'unsigned long'
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior chibi-scheme/bignum.c:219:16 in
chibi-scheme/sexp.c:2556:16: runtime error: implicit conversion from type 'int' of value 195 (32-bit, signed) to type 'char' changed the value to -61 (8-bit, signed)
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior chibi-scheme/sexp.c:2556:16 in
On Archlinux ARM, gcc 10.2.0 I get the not so informative
chibi-scheme/sexp.c:3645:39: runtime error: division by zero
chibi-scheme/sexp.c:3647:39: runtime error: division by zero
chibi-scheme/sexp.c:2862:15: runtime error: signed integer overflow: 2288728493826497114 * 10 cannot be represented in type 'long int'
Let me know if I can help with any more context.