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
> Valgrind-developers@lists.sourceforge.net
> 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
Valgrind-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-developers

Reply via email to