I've taken a look at this code and I'm utterly confused by it. I highly
doubt I'll be tackling this bug. I think that if whoever wrote this
can't fix it for next release, it should be rolled back to the 2.047
version.
On 8/19/2010 3:07 PM, Shin Fujishiro wrote:
David Simcha<[email protected]> wrote:
http://d.puremagic.com/issues/show_bug.cgi?id=4681
This is a really bad one. Someone please check to make sure I'm not doing
anything really silly and that this isn't specific to some obscure detail of
my setup. If others can reproduce this, it's a really bad one and probably
warrants an emergency release.
Seems like a bug of Appender.writeCapacity(). It often writes 'cap' to
wrong address; the following assertion fails:
==========
diff --git phobos/std/array.d phobos/std/array.d
index 6b62733..e6d3a62 100644
--- phobos/std/array.d
+++ phobos/std/array.d
@@ -736,10 +736,12 @@ private:
auto p = cast(ubyte*) (pArray.ptr + pArray.length);
if (cap< ubyte.max)
{
+ assert(p + 1<= GC.addrOf(pArray.ptr) + GC.sizeOf(pArray.ptr));
*p = cast(ubyte) cap;
}
else if (cap< ushort.max)
{
+ assert(p + 3<= GC.addrOf(pArray.ptr) + GC.sizeOf(pArray.ptr));
*p++ = ubyte.max;
*p++ = cast(ubyte) cap;
*p++ = cast(ubyte) (cap>> 8);
==========
Shin
_______________________________________________
phobos mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/phobos
_______________________________________________
phobos mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/phobos