September 08, 2010 [phobos] next release | ||||
---|---|---|---|---|
| ||||
What's the state of the union? Er.. code base? IMHO, it's about time to consider cutting the next release. Who has opinions on what's unfinished that they believe needs to be in it? Here's the current changelog for the trunk (probably needs to be validated with some of the fixes having to be reverted): $(WHATSNEW $(LI std.algorithm: reduce now works with non-range-based iteration, such as opApply.) $(LI std.numeric: Added FFT.) $(LI std.process: Added environment, an AA-like interface for environment variables.) $(LI std.range: Iota, Stride, Transversal, FrontTransveral now support slicing where possible.) $(LI std.range: Added Lockstep, hasLvalueElements.) $(LI std.range: Added virtual function-based wrappers (InputRangeObject, OutputRangeObject) for when a binary interface to a range is required.) $(LI std.typecons: Added convenience functions for Rebindable.) $(L1 std.traits: Added isAssignable, isIterable, ForeachType, isSafe, isUnsafe, EnumMembers.) $(L1 std.traits: hasLocalAliasing, hasLocalObjects and hasLocalRawAliasing are now hasUnsharedAliasing, hasUnsharedObjects and hasUnsharedRawAliasing. Aliases to the old names are included for now for backwards compatibility.) $(LI std.typetuple: Added anySatisfy.) $(LI $(LINK2 phobos/std_stopwatch.html,std.swopwatch): Added StopWatch, Ticks, systime, apptime, comparingBenchmark, measureTime.) ) $(BUGSFIXED $(LI Unlisted Bug: std.math.pow doesn't work on immutable numbers.) $(LI Unlisted Bug: std.math.pow floating point overload expects both arguments to be exact same type.) $(LI Unlisted Bug: std.path.join("", "foo") returns "/foo" instead of "foo" on Posix.) $(LI Unlisted Bug: std.range.iota() random access primitives inconsistent after popFront on floating point version) $(LI Several unlisted bugs in std.range.chain) $(LI $(BUGZILLA 2903): Splitter should be bi-dir if the input range is bi-dir.) $(LI $(BUGZILLA 2951): std.random.dice() should be templated on proportions.) $(LI $(BUGZILLA 2958): std.getopt RangeError on missing arg) $(LI $(BUGZILLA 3123): std.algorithm.zip fails on 'lazy' ranges) $(LI $(BUGZILLA 3294): forward reference to inferred return type of function call) $(LI $(BUGZILLA 3312): std.string.count should use const(char)[], not immutable.) $(LI $(BUGZILLA 3348): Documentation for many std.process functions has disappeared) $(LI $(BUGZILLA 3361): code in std.zlib concatenates void[] arrays ) $(LI $(BUGZILLA 3877): std.range.chain do not manage infinite ranges correctly) $(LI $(BUGZILLA 3894): std.range.Stride!R requires R.front() and R.back() to return by reference) $(LI $(BUGZILLA 3946): schwartzSort - SwapStrategy always unstable) $(LI $(BUGZILLA 4402): std.range.Zip doesn't work w/ non-lvalue ranges.) $(LI $(BUGZILLA 4408): Ambiguity when using std.algorithm.splitter with generic ranges.) $(LI $(BUGZILLA 4292): CommonType fails for singular alias value.) $(LI $(BUGZILLA 4345): std.range.take!string: "Nonsensical finite range with slicing but no length".) $(LI $(BUGZILLA 4345): More flexible std.array.array.) $(LI $(BUGZILLA 4363): Some phobos ranges are not forward ranges (but should be).) $(LI $(BUGZILLA 4381): Length attribute for std.typecons.Tuple.) $(LI $(BUGZILLA 4387): std.range.Cycle assumes lvalue elements.) $(LI $(BUGZILLA 4388): std.range.Radial assumes lvalue elements.) $(LI $(BUGZILLA 4403): std.range.FrontTransversal assumes lvalue elements.) $(LI $(BUGZILLA 4404): std.range.Transversal assumes lvalue elements.) $(LI $(BUGZILLA 4455): Taking the sqrt of an integer shouldn't require an explicit cast.) $(LI $(BUGZILLA 4464): std.range.take does not always return Take!R.) $(LI $(BUGZILLA 4518): to!string(enum w/invalid value) produces a somewhat unhelpful error) $(LI $(BUGZILLA 4603): array(iota(1, 0)) error.) $(LI $(BUGZILLA 4643): Shared values are unwritable.) $(LI $(BUGZILLA 4700): to!float("0") fails) $(LI $(BUGZILLA 4748): Shadowing declaration error in std.string.tolower) $(LI $(BUGZILLA 4789): std.algorithm.sort bug) $(LI $(BUGZILLA 4810): dotProduct problem with ints) $(LI $(BUGZILLA 4834): Implicit sharing via delegates in std.concurrency) |
September 08, 2010 [dmd-internals] next release | ||||
---|---|---|---|---|
| ||||
Posted in reply to Brad Roberts | I think I've just found a showstopper bug, but I'm still working on producing a reduced test case. Will keep you guys posted. On Wed, Sep 8, 2010 at 5:00 PM, Brad Roberts <braddr at puremagic.com> wrote: > What's the state of the union? Er.. code base? > > IMHO, it's about time to consider cutting the next release. Who has opinions on what's unfinished that they believe needs to be in it? > > Here's the current changelog for the trunk (probably needs to be validated with some of the fixes having to be reverted): > > $(WHATSNEW > $(LI std.algorithm: reduce now works with non-range-based > iteration, such as opApply.) > $(LI std.numeric: Added FFT.) > $(LI std.process: Added environment, an AA-like interface for > environment variables.) > $(LI std.range: Iota, Stride, Transversal, FrontTransveral now > support slicing where possible.) > $(LI std.range: Added Lockstep, hasLvalueElements.) > $(LI std.range: Added virtual function-based wrappers > (InputRangeObject, OutputRangeObject) for when a binary interface to a range > is required.) > $(LI std.typecons: Added convenience functions for Rebindable.) > $(L1 std.traits: Added isAssignable, isIterable, ForeachType, > isSafe, isUnsafe, EnumMembers.) > $(L1 std.traits: hasLocalAliasing, hasLocalObjects and > hasLocalRawAliasing are now hasUnsharedAliasing, hasUnsharedObjects and > hasUnsharedRawAliasing. Aliases to the old names are included for now for > backwards compatibility.) > $(LI std.typetuple: Added anySatisfy.) > $(LI $(LINK2 phobos/std_stopwatch.html,std.swopwatch): Added > StopWatch, Ticks, systime, apptime, comparingBenchmark, measureTime.) > ) > $(BUGSFIXED > $(LI Unlisted Bug: std.math.pow doesn't work on immutable numbers.) > $(LI Unlisted Bug: std.math.pow floating point overload expects > both arguments to be exact same type.) > $(LI Unlisted Bug: std.path.join("", "foo") returns "/foo" instead > of "foo" on Posix.) > $(LI Unlisted Bug: std.range.iota() random access primitives > inconsistent after popFront on floating point version) > $(LI Several unlisted bugs in std.range.chain) > $(LI $(BUGZILLA 2903): Splitter should be bi-dir if the input range > is bi-dir.) > $(LI $(BUGZILLA 2951): std.random.dice() should be templated on > proportions.) > $(LI $(BUGZILLA 2958): std.getopt RangeError on missing arg) > $(LI $(BUGZILLA 3123): std.algorithm.zip fails on 'lazy' ranges) > $(LI $(BUGZILLA 3294): forward reference to inferred return type of > function call) > $(LI $(BUGZILLA 3312): std.string.count should use const(char)[], > not immutable.) > $(LI $(BUGZILLA 3348): Documentation for many std.process functions > has disappeared) > $(LI $(BUGZILLA 3361): code in std.zlib concatenates void[] arrays ) > $(LI $(BUGZILLA 3877): std.range.chain do not manage infinite ranges > correctly) > $(LI $(BUGZILLA 3894): std.range.Stride!R requires R.front() and > R.back() to return by reference) > $(LI $(BUGZILLA 3946): schwartzSort - SwapStrategy always unstable) > $(LI $(BUGZILLA 4402): std.range.Zip doesn't work w/ non-lvalue > ranges.) > $(LI $(BUGZILLA 4408): Ambiguity when using std.algorithm.splitter > with generic ranges.) > $(LI $(BUGZILLA 4292): CommonType fails for singular alias value.) > $(LI $(BUGZILLA 4345): std.range.take!string: "Nonsensical finite > range with slicing but no length".) > $(LI $(BUGZILLA 4345): More flexible std.array.array.) > $(LI $(BUGZILLA 4363): Some phobos ranges are not forward ranges > (but should be).) > $(LI $(BUGZILLA 4381): Length attribute for std.typecons.Tuple.) > $(LI $(BUGZILLA 4387): std.range.Cycle assumes lvalue elements.) > $(LI $(BUGZILLA 4388): std.range.Radial assumes lvalue elements.) > $(LI $(BUGZILLA 4403): std.range.FrontTransversal assumes lvalue > elements.) > $(LI $(BUGZILLA 4404): std.range.Transversal assumes lvalue > elements.) > $(LI $(BUGZILLA 4455): Taking the sqrt of an integer shouldn't > require an explicit cast.) > $(LI $(BUGZILLA 4464): std.range.take does not always return > Take!R.) > $(LI $(BUGZILLA 4518): to!string(enum w/invalid value) produces a > somewhat unhelpful error) > $(LI $(BUGZILLA 4603): array(iota(1, 0)) error.) > $(LI $(BUGZILLA 4643): Shared values are unwritable.) > $(LI $(BUGZILLA 4700): to!float("0") fails) > $(LI $(BUGZILLA 4748): Shadowing declaration error in > std.string.tolower) > $(LI $(BUGZILLA 4789): std.algorithm.sort bug) > $(LI $(BUGZILLA 4810): dotProduct problem with ints) > $(LI $(BUGZILLA 4834): Implicit sharing via delegates in > std.concurrency) > _______________________________________________ > dmd-internals mailing list > dmd-internals at puremagic.com > http://lists.puremagic.com/mailman/listinfo/dmd-internals > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.puremagic.com/pipermail/dmd-internals/attachments/20100908/9938b62a/attachment.html> |
September 08, 2010 [dmd-internals] next release | ||||
---|---|---|---|---|
| ||||
Posted in reply to Brad Roberts | Replying on the list for which I'm subscribed...
It'd be nice to have D2 Phobos compile (but not run) with Walter's 64 bit dmd changes. I think he got D1 Phobos to do that. Since upcoming releases will have increasing support for 64 bit, this would be a good step in that direction.
Sent from my iPhone
On Sep 8, 2010, at 5:00 PM, Brad Roberts <braddr at puremagic.com> wrote:
> What's the state of the union? Er.. code base?
>
> IMHO, it's about time to consider cutting the next release. Who has opinions on what's unfinished that they believe needs to be in it?
>
> Here's the current changelog for the trunk (probably needs to be validated with some of the fixes having to be reverted):
>
> $(WHATSNEW
> $(LI std.algorithm: reduce now works with non-range-based iteration, such as opApply.)
> $(LI std.numeric: Added FFT.)
> $(LI std.process: Added environment, an AA-like interface for environment variables.)
> $(LI std.range: Iota, Stride, Transversal, FrontTransveral now support slicing where possible.)
> $(LI std.range: Added Lockstep, hasLvalueElements.)
> $(LI std.range: Added virtual function-based wrappers (InputRangeObject, OutputRangeObject) for when a binary interface to a range is required.)
> $(LI std.typecons: Added convenience functions for Rebindable.)
> $(L1 std.traits: Added isAssignable, isIterable, ForeachType, isSafe, isUnsafe, EnumMembers.)
> $(L1 std.traits: hasLocalAliasing, hasLocalObjects and hasLocalRawAliasing are now hasUnsharedAliasing, hasUnsharedObjects and hasUnsharedRawAliasing. Aliases to the old names are included for now for backwards compatibility.)
> $(LI std.typetuple: Added anySatisfy.)
> $(LI $(LINK2 phobos/std_stopwatch.html,std.swopwatch): Added StopWatch, Ticks, systime, apptime, comparingBenchmark, measureTime.)
> )
> $(BUGSFIXED
> $(LI Unlisted Bug: std.math.pow doesn't work on immutable numbers.)
> $(LI Unlisted Bug: std.math.pow floating point overload expects both arguments to be exact same type.)
> $(LI Unlisted Bug: std.path.join("", "foo") returns "/foo" instead of "foo" on Posix.)
> $(LI Unlisted Bug: std.range.iota() random access primitives inconsistent after popFront on floating point version)
> $(LI Several unlisted bugs in std.range.chain)
> $(LI $(BUGZILLA 2903): Splitter should be bi-dir if the input range is bi-dir.)
> $(LI $(BUGZILLA 2951): std.random.dice() should be templated on proportions.)
> $(LI $(BUGZILLA 2958): std.getopt RangeError on missing arg)
> $(LI $(BUGZILLA 3123): std.algorithm.zip fails on 'lazy' ranges)
> $(LI $(BUGZILLA 3294): forward reference to inferred return type of function call)
> $(LI $(BUGZILLA 3312): std.string.count should use const(char)[], not immutable.)
> $(LI $(BUGZILLA 3348): Documentation for many std.process functions has disappeared)
> $(LI $(BUGZILLA 3361): code in std.zlib concatenates void[] arrays )
> $(LI $(BUGZILLA 3877): std.range.chain do not manage infinite ranges correctly)
> $(LI $(BUGZILLA 3894): std.range.Stride!R requires R.front() and R.back() to return by reference)
> $(LI $(BUGZILLA 3946): schwartzSort - SwapStrategy always unstable)
> $(LI $(BUGZILLA 4402): std.range.Zip doesn't work w/ non-lvalue ranges.)
> $(LI $(BUGZILLA 4408): Ambiguity when using std.algorithm.splitter with generic ranges.)
> $(LI $(BUGZILLA 4292): CommonType fails for singular alias value.)
> $(LI $(BUGZILLA 4345): std.range.take!string: "Nonsensical finite range with slicing but no length".)
> $(LI $(BUGZILLA 4345): More flexible std.array.array.)
> $(LI $(BUGZILLA 4363): Some phobos ranges are not forward ranges (but should be).)
> $(LI $(BUGZILLA 4381): Length attribute for std.typecons.Tuple.)
> $(LI $(BUGZILLA 4387): std.range.Cycle assumes lvalue elements.)
> $(LI $(BUGZILLA 4388): std.range.Radial assumes lvalue elements.)
> $(LI $(BUGZILLA 4403): std.range.FrontTransversal assumes lvalue elements.)
> $(LI $(BUGZILLA 4404): std.range.Transversal assumes lvalue elements.)
> $(LI $(BUGZILLA 4455): Taking the sqrt of an integer shouldn't require an explicit cast.)
> $(LI $(BUGZILLA 4464): std.range.take does not always return Take!R.)
> $(LI $(BUGZILLA 4518): to!string(enum w/invalid value) produces a somewhat unhelpful error)
> $(LI $(BUGZILLA 4603): array(iota(1, 0)) error.)
> $(LI $(BUGZILLA 4643): Shared values are unwritable.)
> $(LI $(BUGZILLA 4700): to!float("0") fails)
> $(LI $(BUGZILLA 4748): Shadowing declaration error in std.string.tolower)
> $(LI $(BUGZILLA 4789): std.algorithm.sort bug)
> $(LI $(BUGZILLA 4810): dotProduct problem with ints)
> $(LI $(BUGZILLA 4834): Implicit sharing via delegates in std.concurrency)
> _______________________________________________
> dmd-internals mailing list
> dmd-internals at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-internals
|
September 08, 2010 [dmd-internals] next release | ||||
---|---|---|---|---|
| ||||
Posted in reply to David Simcha | Never mind, there was a legit and severe memory corruption bug w.r.t. Appender, but it was a silly mistake of having GC block attribute stuff swapped. The fix was trivial, so I've checked it in already. On Wed, Sep 8, 2010 at 5:05 PM, David Simcha <dsimcha at gmail.com> wrote: > I think I've just found a showstopper bug, but I'm still working on producing a reduced test case. Will keep you guys posted. > > > On Wed, Sep 8, 2010 at 5:00 PM, Brad Roberts <braddr at puremagic.com> wrote: > >> What's the state of the union? Er.. code base? >> >> IMHO, it's about time to consider cutting the next release. Who has opinions on what's unfinished that they believe needs to be in it? >> >> Here's the current changelog for the trunk (probably needs to be validated with some of the fixes having to be reverted): >> >> $(WHATSNEW >> $(LI std.algorithm: reduce now works with non-range-based >> iteration, such as opApply.) >> $(LI std.numeric: Added FFT.) >> $(LI std.process: Added environment, an AA-like interface for >> environment variables.) >> $(LI std.range: Iota, Stride, Transversal, FrontTransveral now >> support slicing where possible.) >> $(LI std.range: Added Lockstep, hasLvalueElements.) >> $(LI std.range: Added virtual function-based wrappers >> (InputRangeObject, OutputRangeObject) for when a binary interface to a range >> is required.) >> $(LI std.typecons: Added convenience functions for Rebindable.) >> $(L1 std.traits: Added isAssignable, isIterable, ForeachType, >> isSafe, isUnsafe, EnumMembers.) >> $(L1 std.traits: hasLocalAliasing, hasLocalObjects and >> hasLocalRawAliasing are now hasUnsharedAliasing, hasUnsharedObjects and >> hasUnsharedRawAliasing. Aliases to the old names are included for now for >> backwards compatibility.) >> $(LI std.typetuple: Added anySatisfy.) >> $(LI $(LINK2 phobos/std_stopwatch.html,std.swopwatch): Added >> StopWatch, Ticks, systime, apptime, comparingBenchmark, measureTime.) >> ) >> $(BUGSFIXED >> $(LI Unlisted Bug: std.math.pow doesn't work on immutable >> numbers.) >> $(LI Unlisted Bug: std.math.pow floating point overload expects >> both arguments to be exact same type.) >> $(LI Unlisted Bug: std.path.join("", "foo") returns "/foo" instead >> of "foo" on Posix.) >> $(LI Unlisted Bug: std.range.iota() random access primitives >> inconsistent after popFront on floating point version) >> $(LI Several unlisted bugs in std.range.chain) >> $(LI $(BUGZILLA 2903): Splitter should be bi-dir if the input range >> is bi-dir.) >> $(LI $(BUGZILLA 2951): std.random.dice() should be templated on >> proportions.) >> $(LI $(BUGZILLA 2958): std.getopt RangeError on missing arg) >> $(LI $(BUGZILLA 3123): std.algorithm.zip fails on 'lazy' ranges) >> $(LI $(BUGZILLA 3294): forward reference to inferred return type of >> function call) >> $(LI $(BUGZILLA 3312): std.string.count should use const(char)[], >> not immutable.) >> $(LI $(BUGZILLA 3348): Documentation for many std.process functions >> has disappeared) >> $(LI $(BUGZILLA 3361): code in std.zlib concatenates void[] arrays >> ) >> $(LI $(BUGZILLA 3877): std.range.chain do not manage infinite >> ranges correctly) >> $(LI $(BUGZILLA 3894): std.range.Stride!R requires R.front() and >> R.back() to return by reference) >> $(LI $(BUGZILLA 3946): schwartzSort - SwapStrategy always unstable) >> $(LI $(BUGZILLA 4402): std.range.Zip doesn't work w/ non-lvalue >> ranges.) >> $(LI $(BUGZILLA 4408): Ambiguity when using std.algorithm.splitter >> with generic ranges.) >> $(LI $(BUGZILLA 4292): CommonType fails for singular alias value.) >> $(LI $(BUGZILLA 4345): std.range.take!string: "Nonsensical finite >> range with slicing but no length".) >> $(LI $(BUGZILLA 4345): More flexible std.array.array.) >> $(LI $(BUGZILLA 4363): Some phobos ranges are not forward ranges >> (but should be).) >> $(LI $(BUGZILLA 4381): Length attribute for std.typecons.Tuple.) >> $(LI $(BUGZILLA 4387): std.range.Cycle assumes lvalue elements.) >> $(LI $(BUGZILLA 4388): std.range.Radial assumes lvalue elements.) >> $(LI $(BUGZILLA 4403): std.range.FrontTransversal assumes lvalue >> elements.) >> $(LI $(BUGZILLA 4404): std.range.Transversal assumes lvalue >> elements.) >> $(LI $(BUGZILLA 4455): Taking the sqrt of an integer shouldn't >> require an explicit cast.) >> $(LI $(BUGZILLA 4464): std.range.take does not always return >> Take!R.) >> $(LI $(BUGZILLA 4518): to!string(enum w/invalid value) produces a >> somewhat unhelpful error) >> $(LI $(BUGZILLA 4603): array(iota(1, 0)) error.) >> $(LI $(BUGZILLA 4643): Shared values are unwritable.) >> $(LI $(BUGZILLA 4700): to!float("0") fails) >> $(LI $(BUGZILLA 4748): Shadowing declaration error in >> std.string.tolower) >> $(LI $(BUGZILLA 4789): std.algorithm.sort bug) >> $(LI $(BUGZILLA 4810): dotProduct problem with ints) >> $(LI $(BUGZILLA 4834): Implicit sharing via delegates in >> std.concurrency) >> _______________________________________________ >> dmd-internals mailing list >> dmd-internals at puremagic.com >> http://lists.puremagic.com/mailman/listinfo/dmd-internals >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.puremagic.com/pipermail/dmd-internals/attachments/20100908/f3393a5a/attachment-0001.html> |
September 08, 2010 [dmd-internals] next release | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jason House | On Wed, 8 Sep 2010, Jason House wrote:
> Replying on the list for which I'm subscribed...
>
> It'd be nice to have D2 Phobos compile (but not run) with Walter's 64 bit dmd changes. I think he got D1 Phobos to do that. Since upcoming releases will have increasing support for 64 bit, this would be a good step in that direction.
While I agree it'd be a fun milestone, it's not one that's particularly useful for anyone outside those willing to build from svn and help with patches.. a rather small set of people that doesn't need a release.
Also, on that front, gotta get druntime building first. :) I tried it the other day to see what the state was and it needs a bit of work, mostly replicating the core bits of what's been done already in phobos1.
Later,
Brad
|
September 08, 2010 [dmd-internals] next release | ||||
---|---|---|---|---|
| ||||
Posted in reply to David Simcha | On Wed, 8 Sep 2010, David Simcha wrote: > On Wed, Sep 8, 2010 at 5:05 PM, David Simcha <dsimcha at gmail.com> wrote: > > > On Wed, Sep 8, 2010 at 5:00 PM, Brad Roberts <braddr at puremagic.com> wrote: > > > >> What's the state of the union? Er.. code base? > >> > >> IMHO, it's about time to consider cutting the next release. Who has opinions on what's unfinished that they believe needs to be in it? > >> > >> Here's the current changelog for the trunk (probably needs to be validated with some of the fixes having to be reverted): > > > > I think I've just found a showstopper bug, but I'm still working on producing a reduced test case. Will keep you guys posted. > > Never mind, there was a legit and severe memory corruption bug w.r.t. Appender, but it was a silly mistake of having GC block attribute stuff swapped. The fix was trivial, so I've checked it in already. > Hrm.. isn't this like the 3rd or 4th memory curruption bug in it? Any thoughts on what can be done to make it less risky, better tested, etc? Does this bug exist in the current public release or was it introduced during this cycle? If it's out in the wild, that raises the urgency of getting a release out, imho. Later, Brad -------------- next part -------------- _______________________________________________ dmd-internals mailing list dmd-internals at puremagic.com http://lists.puremagic.com/mailman/listinfo/dmd-internals |
September 08, 2010 [dmd-internals] next release | ||||
---|---|---|---|---|
| ||||
Posted in reply to Brad Roberts | No, this was in the new version of Appender, though the reason for that new version existing was to fix memory corruption bugs in the old version. The reasons why this one went undetected for any length of time were because it was only in SVN releases and it only became apparent when using Appender to store data structures that have pointer indirection. Storing ints or something would just make the GC more conservative because it would think the block had pointers. On Wed, Sep 8, 2010 at 5:23 PM, Brad Roberts <braddr at puremagic.com> wrote: > On Wed, 8 Sep 2010, David Simcha wrote: > > > On Wed, Sep 8, 2010 at 5:05 PM, David Simcha <dsimcha at gmail.com> wrote: > > > > > On Wed, Sep 8, 2010 at 5:00 PM, Brad Roberts <braddr at puremagic.com> > wrote: > > > > > >> What's the state of the union? Er.. code base? > > >> > > >> IMHO, it's about time to consider cutting the next release. Who has opinions on what's unfinished that they believe needs to be in it? > > >> > > >> Here's the current changelog for the trunk (probably needs to be > validated > > >> with some of the fixes having to be reverted): > > > > > > I think I've just found a showstopper bug, but I'm still working on producing a reduced test case. Will keep you guys posted. > > > > Never mind, there was a legit and severe memory corruption bug w.r.t. Appender, but it was a silly mistake of having GC block attribute stuff swapped. The fix was trivial, so I've checked it in already. > > > > Hrm.. isn't this like the 3rd or 4th memory curruption bug in it? Any thoughts on what can be done to make it less risky, better tested, etc? > > Does this bug exist in the current public release or was it introduced during this cycle? If it's out in the wild, that raises the urgency of getting a release out, imho. > > Later, > Brad > > _______________________________________________ > dmd-internals mailing list > dmd-internals at puremagic.com > http://lists.puremagic.com/mailman/listinfo/dmd-internals > _______________________________________________ > dmd-internals mailing list > dmd-internals at puremagic.com > http://lists.puremagic.com/mailman/listinfo/dmd-internals > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.puremagic.com/pipermail/dmd-internals/attachments/20100908/10ac6312/attachment.html> |
September 08, 2010 [dmd-internals] next release | ||||
---|---|---|---|---|
| ||||
Posted in reply to David Simcha | Yes, it was my bad. The code I copied (from druntime) looked like this: (!(ti.next.flags() & 1) ? BlkAttr.NO_SCAN : 0)) I missed that first exclamation point. Kind of looks crappy anyways, I might change that original code to have less negatives. A unit test would be a good idea -- I'll work on it tomorrow. -Steve > >From: David Simcha <dsimcha at gmail.com> >To: Discuss the internals of DMD <dmd-internals at puremagic.com> >Sent: Wed, September 8, 2010 5:25:41 PM >Subject: Re: [dmd-internals] next release > >No, this was in the new version of Appender, though the reason for that new version existing was to fix memory corruption bugs in the old version. The reasons why this one went undetected for any length of time were because it was only in SVN releases and it only became apparent when using Appender to store data structures that have pointer indirection. Storing ints or something would just make the GC more conservative because it would think the block had pointers. > > >On Wed, Sep 8, 2010 at 5:23 PM, Brad Roberts <braddr at puremagic.com> wrote: > >On Wed, 8 Sep 2010, David Simcha wrote: >> >>> On Wed, Sep 8, 2010 at 5:05 PM, David Simcha <dsimcha at gmail.com> wrote: >>> >> >>> > On Wed, Sep 8, 2010 at 5:00 PM, Brad Roberts <braddr at puremagic.com> wrote: >>> > >>> >> What's the state of the union? Er.. code base? >>> >> >>> >> IMHO, it's about time to consider cutting the next release. Who has opinions on what's unfinished that they believe needs to be in it? >>> >> >>> >> Here's the current changelog for the trunk (probably needs to be validated >>> >> with some of the fixes having to be reverted): >>> > >>> > I think I've just found a showstopper bug, but I'm still working on producing a reduced test case. Will keep you guys posted. >>> >> >>> Never mind, there was a legit and severe memory corruption bug w.r.t. Appender, but it was a silly mistake of having GC block attribute stuff swapped. The fix was trivial, so I've checked it in already. >>> >> >>Hrm.. isn't this like the 3rd or 4th memory curruption bug in it? Any thoughts on what can be done to make it less risky, better tested, etc? >> >>Does this bug exist in the current public release or was it introduced during this cycle? If it's out in the wild, that raises the urgency of getting a release out, imho. >> >>Later, >>Brad >> >>_______________________________________________ >>dmd-internals mailing list >>dmd-internals at puremagic.com >>http://lists.puremagic.com/mailman/listinfo/dmd-internals >>_______________________________________________ >>dmd-internals mailing list >>dmd-internals at puremagic.com >>http://lists.puremagic.com/mailman/listinfo/dmd-internals >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.puremagic.com/pipermail/dmd-internals/attachments/20100908/e1d1e12e/attachment.html> |
September 08, 2010 [phobos] next release | ||||
---|---|---|---|---|
| ||||
Posted in reply to Brad Roberts | On Wed, 8 Sep 2010, Brad Roberts wrote: > What's the state of the union? Er.. code base? > > IMHO, it's about time to consider cutting the next release. Who has opinions on what's unfinished that they believe needs to be in it? The only regularly failing unit test is in phobos. I filed a ticket for it the other day: http://d.puremagic.com/issues/show_bug.cgi?id=4824 - stopwatch unit tests fail intermitently I think it should be fixed before the release. |
September 09, 2010 [phobos] next release | ||||
---|---|---|---|---|
| ||||
Posted in reply to Brad Roberts | On 8 September 2010 23:00, Brad Roberts <braddr at puremagic.com> wrote:
> What's the state of the union? ?Er.. code base?
>
> IMHO, it's about time to consider cutting the next release. ?Who has opinions on what's unfinished that they believe needs to be in it?
I agree. From the compiler side, there is one known regression in svn which is a blocker for a release:
4828 ICE w/ non-boolean dot expression sth.template_instance in static if
And I'd really like to see these regression patches applied. Bug 3996 is particularly important:
4751 Regression(1.062, 2.047) ICE(constfold.c) >> after error
3996 Regression(2.041) ICE Passing struct as AA template parameter
(Algebraic with struct)
4826 Regression(2.041) "cannot create associative array" and compiler crash
4430 Regression(2.037) erroneous matching on specialized template function
4173 Regression(2.037) Explicitly instantiated templates still try to
do IFTI in some cases
3627 -of with a filename with a double extension confuses linker
|
Copyright © 1999-2021 by the D Language Foundation