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