[Disksim-users] assertion failed: in disk_buffer_sector_done() (disksim_diskctlr.c:4360): currdisk->fpcheck:

Tiratat Patana-anake tiratatp at cs.uchicago.edu
Wed Nov 20 10:56:29 EST 2013


Solution!!!

Today I found that the culprit (at least in my case) is that one of
the IO's block count is greater than 6000.
(6000 is the *hardcoded* number of fpcheck)
So I changed to 65537 (disksim_diskctlr.c line 1920) and it was
solved! (at least for now)

Have you ever ran into this problem?
Any comment on my dirty workaround?
--
Tiratat (Knot) Patana-anake
ถิรธัช (น้อต) พัฒนะเอนก


On Tue, Nov 19, 2013 at 11:12 PM, Tiratat Patana-anake
<tiratatp at cs.uchicago.edu> wrote:
> Hi
>
> Have anyone ran into this problem,
> assertion failed: in disk_buffer_sector_done()
> (disksim_diskctlr.c:4360): currdisk->fpcheck:
>
> Apparently, these is this comment in the header (disksim_disk.h),
>   // This is a forward progress check.  There have been a number of
>   // bugs over the years that cause the controller to get into an
>   // infinite loop, reading the same sector or track over and over.
>   // Every time we do a reposition, this is reset (currently
>   // statically, should be set to the track length) and
>   // disk_buffer_sector_done() decrements it and asserts that it
>   // hasn't gotten to 0.
>
> 2 questions,
> 1. any workaround of this bug?
> 2. does anyone know what is this bug?
>
> Best regards
> Knot
>
> --
> Tiratat (Knot) Patana-anake
> ถิรธัช (น้อต) พัฒนะเอนก



More information about the Disksim-users mailing list