[Rd] Final patch for bug 8141 - rewriting substituteList

Kevin B. Hendricks kevin.hendricks at sympatico.ca
Tue Jul 18 14:59:09 CEST 2006


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.



> 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 --------------

More information about the R-devel mailing list