Cannot reproduce errors found by Kani #2049
Labels
[C] Bug
This is a bug. Something isn't working.
[F] Spurious Failure
Issues that cause Kani verification to fail despite the code being correct.
T-User
Tag user issues / requests
In a somewhat complicated constructor that requires two
sin()
functions, Kani seems to be able to find bugs that I cannot reproduce by re-running the test manually with the values Kani reports cause a failure.Here is a permalink to the Kani test: https://github.com/nyx-space/hifitime/blob/475428d4d117e9a5ecb688e71ebbd57443f34e09/src/epoch.rs#L2991-L3016 , pasted below for posteriority.
This will call the following constructor: https://github.com/nyx-space/hifitime/blob/475428d4d117e9a5ecb688e71ebbd57443f34e09/src/epoch.rs#L527-L540 . And here are where the trigonometry functions are called: https://github.com/nyx-space/hifitime/blob/475428d4d117e9a5ecb688e71ebbd57443f34e09/src/epoch.rs#L1078-L1083 .
When running the test, Kani reports that if the duration is defined as
Duration::from_parts(19510, 3155759999999997938);
, then the assertions fail.However, when un-commenting this line and converting the function to a normal test case, the test succeeds (in fact, the values match exactly).
This happens when using the following command line invocation:
with Kani version: 0.18.0
I expected that the issues Kani found be reproducible in a normal test case (this has been my typical debugging strategy).
Kani visualization report:
report-epoch-formal_epoch_reciprocity_tdb.tar.gz
The text was updated successfully, but these errors were encountered: