llvm_verify
crashes (Prelude.tail: empty list
) when verifying a function whose name contains "__breakpoint__
" without a #
afterwards
#2097
Labels
subsystem: crucible-llvm
Issues related to LLVM bitcode verification with crucible-llvm
topics: error-handling
Issues involving the way SAW responds to an error condition
topics: error-messages
Issues involving the messages SAW produces on error
type: bug
Issues reporting bugs or unexpected/unwanted behavior
Milestone
Consider the following variant of the
test0041_invariant_1
test case:This SAW script uses the
inv_spec
twice: once to verify a function named__breakpoint__inv#add2
, and once more to verify a function named__breakpoint__inv
. The former succeeds, but the latter causes SAW to crash:From my reading of this code,
llvm_verify
has a requirement that if the name of the function being verified contains "__breakpoint__
", then the function must end with "#<parent_name>
", where<parent_name>
is the name of the function that contains the breakpoint. Unfortunately, this requirement is not documented anywhere (as far as I can tell), and the error message that SAW produces when you violate this requirement (Prelude.tail: empty list
) is rather poor. We should fix the documentation and improve the error message.The text was updated successfully, but these errors were encountered: