I believe this bug is finally fixed by r7409.
J
On Monday 21 January 2008 13:27, Julian Seward wrote:
> On Monday 21 January 2008 11:08, Konstantin Serebryany wrote:
> > Hi Julian,
> >
> > I found out that this fix has an issue (which appears only in 32-bit
> > mode).
> >
> > + while (HG_(nextIterFM)( map_locks, (Word*)&gla, (Word*)&lk )
> > + && gla <= lastA) {
> >
> > This should look like
> > + while (HG_(nextIterFM)( map_locks, (Word*)&gla, (Word*)&lk )
> > + && (Word)gla <= (Word)lastA) {
>
> Good observation. Unfortunately I don't think this really fixes it.
>
> Consider on a 32-bit platform, we want to iterate over locks in the
> range
>
> Addr firstA = 0x70000000
> Addr lastA = 0x90000000 - 1
>
> (UWord)firstA = 1879048192
> (UWord)lastA = 2415919104
>
> (Word)firstA = 1879048192
> (Word)lastA = -1879048192
>
> Since the trees will be ordered by Word, this means we are asking to
> iterate over the range 1879048192 .. -1879048192, which is empty, and
> so the iteration loop will terminate immediately.
>
> I think the only fix is to change all the unboxed comparison stuff
> in WordFM to use unsigned Words. Maybe it would be better to change
> WordFM to used unsigned Words throughout.
>
> This also shows there is a specification problem in HG_(initIterAt).
> Using only HG_(initIter) and HG_(nextIter), we could iterate over
> all elements of the tree, in some order - it did not matter what.
> But HG_(initIterAt)(x) guarantees not to present any value < x;
> unfortunately we did not say how "<" is defined in the unboxed case.
>
> J
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> Valgrind-developers mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/valgrind-developers
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Valgrind-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/valgrind-developers