Bug in SpinRite 6.1, Release 4 -- Percent Completed on Interruption

  • Be sure to checkout “Tips & Tricks”
    Dear Guest Visitor → Once you register and log-in please checkout the “Tips & Tricks” page for some very handy tips!

    /Steve.
  • BootAble – FreeDOS boot testing freeware

    To obtain direct, low-level access to a system's mass storage drives, SpinRite runs under a GRC-customized version of FreeDOS which has been modified to add compatibility with all file systems. In order to run SpinRite it must first be possible to boot FreeDOS.

    GRC's “BootAble” freeware allows anyone to easily create BIOS-bootable media in order to workout and confirm the details of getting a machine to boot FreeDOS through a BIOS. Once the means of doing that has been determined, the media created by SpinRite can be booted and run in the same way.

    The participants here, who have taken the time to share their knowledge and experience, their successes and some frustrations with booting their computers into FreeDOS, have created a valuable knowledgebase which will benefit everyone who follows.

    You may click on the image to the right to obtain your own copy of BootAble. Then use the knowledge and experience documented here to boot your computer(s) into FreeDOS. And please do not hesitate to ask questions – nowhere else can better answers be found.

    (You may permanently close this reminder with the 'X' in the upper right.)

GreyHak

New member
Feb 18, 2025
1
0
I'm writing to report a bug. I tried to send it to sales2024@grc.com back in November, and support2025@grc.com a week ago, and never got a response. So I'm trying here.

I've attached the log files and screen photos so you can see the problem for yourself. It is my understanding that, when interrupting a scan, when SpinRite gives me a percent, I am able to restart SpinRite using that percent in order to continue where it left off. Critically, it's my understanding that I can do this without any gaps in the scan. So, I believe it's SpinRite's job to round down when presenting me this percent such that it will start at the interrupted sector or earlier, but never later.

You'll see I've attached the three log files which SpinRite has generated. Each time I ended a scan I also took a picture of the percent which SpinRite says I can continue from to resume the scan. It's important to note here that, while the log also contains an interrupt percent, SpinRite does not note that percent as one which can be used to resume a scan as is claimed in the dialog window in the photos. I've now done three scans of the WD-WX92D627UZHE drive. It contains 11,721,045,167 sectors. Log 0.LOG says I interrupted the operation at sector 2,957,443,072 (25.2319%). Photo sr25.jpg also indicates 25.2319% which I used to resume the scan. Log 1.LOG shows that scanning was resumed at sector 2,957,442,392. That's good since it's less than where we were interrupted. Log 1.LOG also shows interruption at sector 7,155,121,496 (61.0450%). However, you'll see that photo sr61.jpg shows 61.0451%. So when I resumed at 61.0451%, you can see from log 2.LOG, the scan was resumed at sector 7,155,123,736. That shows that the dialog window does not show the same percent at the log, but more importantly, when they're inconsistent, the dialog shows a higher percent which should never happen. That caused resuming the scan to miss 2,240 sectors. This wasn't just a fluke. In log 2.LOG you can see that the scan was interrupted again at sector 11,406,345,752 (97.3150%), but sr97.jpg shows that the dialog window showed 97.3151%. So there's a bug in the "Operation Interruption Notice" dialog window when a scan is interrupted where a percent is shown which is sometimes too high.

You probably already know what's wrong here, and you'd be right. But since I did the math, here it is...

Interrupting at 2,957,443,072 of 11,721,045,167 is 25.2319058% which would both round and round down to 25.2319%.​
Interrupting at 7,155,121,496 of 11,721,045,167 is 61.0450808% which would round to 61.0451%, but round down to 61.0450%.​
Interrupting at 11,406,345,752 of 11,721,045,167 is 97.3150908% which would round to 97.3151%, but round down to 97.3150%.​

So we see that the log file is properly rounding down, but the percent shown in the interruption notice dialog window is simply rounding, not rounding down. So I'd speculate that half the time a SpinRite user continues a scan on average 0.000025% of the drive is missed.

Thank you for all the work you do.
 

Attachments

  • sr25.jpg
    sr25.jpg
    45.3 KB · Views: 159
  • sr61.jpg
    sr61.jpg
    46.2 KB · Views: 148
  • sr97.jpg
    sr97.jpg
    46.2 KB · Views: 158
  • 1.LOG.png
    1.LOG.png
    19.9 KB · Views: 146
  • 2.LOG.png
    2.LOG.png
    21 KB · Views: 147
  • 0.LOG.png
    0.LOG.png
    20.5 KB · Views: 149
Last edited: