Hi, On 10/29/2010 12:17 AM, Prof Brian Ripley wrote:
I have no idea what 'timeout' means, but that *should* take an extraordinarily long time (it is at least quadratic in the input length). This is the point of hashing -- you *need* hash=TRUE, and you should probably also set 'size' in new.env.
I can see that this has just been changed and now list2env() decides to use hash=TRUE for me (when length(x) > 100). Sounds reasonable since I *need* it. Also the man page didn't mention anything about the purpose of hash=TRUE (now it does, thanks), it was just saying "see new.env" but the man page for new.env() doesn't say much either (in particular it doesn't say anything about the quadratic behavior when hash=FALSE).
There was an obvious missing PROTECT in this function.
Thanks for catching and fixing this.
I do wonder if you are yet familiar with the debugging tools described in 'Writing R Extensions' -- please do use them before reporting.
Please note that I've tried to put as much details as possible in the last 10 bug reports or so that I've made (most of the time even suggesting solutions). Sometimes I don't have time to debug or to come with a solution but I think it's still worth reporting the problem, especially when it's a crash. Also AFAIK the posting guide says nothing about me having to use the debugging tools or come up with a solution before I report a problem. Thanks again for the fix, H.
On Thu, 28 Oct 2010, Hervé Pagès wrote:Hi, The following code produces different kinds of problems depending on which platform you run it: x <- as.list(1:200000) names(x) <- paste("A", 1:200000, sep="") e <- list2env(x) Timeout on Linux, crash on Mac and Windows, with R 2.12.0 and current R devel. The "multi-assign" mode (i.e. when the 'envir' arg is supplied) doesn't seem to have this problem. Cheers, H. -- Hervé Pagès Program in Computational Biology Division of Public Health Sciences Fred Hutchinson Cancer Research Center 1100 Fairview Ave. N, M2-B876 P.O. Box 19024 Seattle, WA 98109-1024 E-mail: [email protected] Phone: (206) 667-5791 Fax: (206) 667-1319 ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
-- Hervé Pagès Program in Computational Biology Division of Public Health Sciences Fred Hutchinson Cancer Research Center 1100 Fairview Ave. N, M2-B876 P.O. Box 19024 Seattle, WA 98109-1024 E-mail: [email protected] Phone: (206) 667-5791 Fax: (206) 667-1319 ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
