Grokbase Groups R r-devel July 2006
FAQ
Hi,

Attached is both the patch and a gzipped version of the patch that is
the fix for bug 8141 - rewriting substituteList in coerce.c to use a
loop instead of recursion to walk the list.

The new version passes all of my tests (make check-all, etc) and I
have used it with no negative impact to my work (as verified by
comparing before and after tests) so far.

The new version fixes the C-stack overflow problem documented in the
8141 bug report.

[kbhend at base3 ~]$ cat test.r
dfn <- rep(list(rep(0,2)),300000)
test <- as.data.frame.list(dfn)

which no longer fails on the development tree with this patch in place.

I realize it is hard to verify this patch as correct since it
converts recursion back into a loop. There has been no official code
review as far as I can tell by anyone so far.

So perhaps it could be introduced into 2.4.0 with an environment
variable switch to allow users to switch back to the old version to
add more evidence as to its correctness.

As I said, I have used the patch without problems in my day to day work.

Also, if there are other annoying low level bugs out there people
would like tracked down and fixed, please point me at them.


Kevin

-------------- next part --------------

-------------- next part --------------
A non-text attachment was scrubbed...
Name: bug_8141.patch.gz
Type: application/x-gzip
Size: 944 bytes
Desc: not available
Url : https://stat.ethz.ch/pipermail/r-devel/attachments/20060704/ffd7e14a/attachment.gz
-------------- next part --------------

Search Discussions

  • Kevin B. Hendricks at Jul 18, 2006 at 12:59 pm
    Hi,

    Is there anybody interested in this patch to fix bug 8141 - the
    rewriting substituteList in coerce.c?
    If so, I have updated it to today's tree. Testers welcome as well.

    If not, please let me know.

    Thanks,

    Kevin

    Attached is both the patch and a gzipped version of the patch that
    is the fix for bug 8141 - rewriting substituteList in coerce.c to
    use a loop instead of recursion to walk the list.

    The new version passes all of my tests (make check-all, etc) and I
    have used it with no negative impact to my work (as verified by
    comparing before and after tests) so far.

    The new version fixes the C-stack overflow problem documented in
    the 8141 bug report.

    [kbhend at base3 ~]$ cat test.r
    dfn <- rep(list(rep(0,2)),300000)
    test <- as.data.frame.list(dfn)

    which no longer fails on the development tree with this patch in
    place.

    I realize it is hard to verify this patch as correct since it
    converts recursion back into a loop. There has been no official
    code review as far as I can tell by anyone so far.

    So perhaps it could be introduced into 2.4.0 with an environment
    variable switch to allow users to switch back to the old version to
    add more evidence as to its correctness.

    As I said, I have used the patch without problems in my day to day
    work.

    -------------- next part --------------

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupr-devel @
categoriesr
postedJul 4, '06 at 6:21p
activeJul 18, '06 at 12:59p
posts2
users1
websiter-project.org
irc#r

1 user in discussion

Kevin B. Hendricks: 2 posts

People

Translate

site design / logo © 2022 Grokbase