J.C.Rougier@durham.ac.uk
2001-Apr-10 14:01 UTC
[Rd] Segmentation fault in subscripting array of lists (PR#904)
I get a segmentation fault as follows:> tmp <- array(list(), c(3, 4)) > tmp[[1, 2]]NULL # as expected> tmp[[1, 2]]$fred <- 1:10 > tmp # as expected[,1] [,2] [,3] [,4] [1,] "NULL" "List,1" "NULL" "NULL" [2,] "NULL" "NULL" "NULL" "NULL" [3,] "NULL" "NULL" "NULL" "NULL"> tmp[[1, 2]] # as expected$fred [1] 1 2 3 4 5 6 7 8 9 10> tmp[[1, ]] # whoops!Segmentation fault Cheers, Jonathan. --please do not edit the information below-- Version: platform = sparc-sun-solaris2.7 arch = sparc os = solaris2.7 system = sparc, solaris2.7 status = major = 1 minor = 2.1 year = 2001 month = 01 day = 15 language = R Search Path: .GlobalEnv, Autoloads, package:base -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html Send "info", "help", or "[un]subscribe" (in the "body", not the subject !) To: r-devel-request@stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
David M Smith
2001-Apr-10 18:50 UTC
[Rd] Segmentation fault in subscripting array of lists (PR#904)
R clearly shouldn't crash, but tmp[[1, ]] is semantically incorrect. The result of "[[" is required to be a single value from a vector (or generally, an array) of the mode of the vector. To select more than one element from an array, you must use "[". The results from S-PLUS 6 are:> tmp[[1, ]]Problem in [[: Attempt to select more than one element: structure(list(NULL, NULL, NULL, list(fred = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)), NULL, NUL.... Use traceback() to see the call stack This error message indicates the error. Using "[" gives the correct result:> tmp[1, ][[1]]: NULL [[2]]: [[2]]$fred: [1] 1 2 3 4 5 6 7 8 9 10 [[3]]: NULL [[4]]: NULL # David Smith -- David M Smith <dsmith@insightful.com> S-PLUS Product Marketing Manager, Insightful Corp, Seattle WA Tel: +1 (206) 283 8802 x360 Fax: +1 (206) 283 0347 MathSoft is now Insightful! See www.insightful.com for details.> -----Original Message----- > From: owner-r-devel@stat.math.ethz.ch > [mailto:owner-r-devel@stat.math.ethz.ch]On Behalf Of > J.C.Rougier@durham.ac.uk > Sent: Tuesday, April 10, 2001 07:02 > To: r-devel@stat.math.ethz.ch > Cc: R-bugs@biostat.ku.dk > Subject: [Rd] Segmentation fault in subscripting array of lists (PR#904) > > > I get a segmentation fault as follows: > > > tmp <- array(list(), c(3, 4)) > > tmp[[1, 2]] > NULL # as expected > > tmp[[1, 2]]$fred <- 1:10 > > tmp # as expected > [,1] [,2] [,3] [,4] > [1,] "NULL" "List,1" "NULL" "NULL" > [2,] "NULL" "NULL" "NULL" "NULL" > [3,] "NULL" "NULL" "NULL" "NULL" > > tmp[[1, 2]] # as expected > $fred > [1] 1 2 3 4 5 6 7 8 9 10 > > > tmp[[1, ]] # whoops! > Segmentation fault > > Cheers, Jonathan. > > --please do not edit the information below-- > > Version: > platform = sparc-sun-solaris2.7 > arch = sparc > os = solaris2.7 > system = sparc, solaris2.7 > status > major = 1 > minor = 2.1 > year = 2001 > month = 01 > day = 15 > language = R > > Search Path: > .GlobalEnv, Autoloads, package:base > > -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-. > -.-.-.-.-.-.- > r-devel mailing list -- Read > http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html > Send "info", "help", or "[un]subscribe" > (in the "body", not the subject !) To: r-devel-request@stat.math.ethz.ch > _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._. > _._._._._._._ >-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html Send "info", "help", or "[un]subscribe" (in the "body", not the subject !) To: r-devel-request@stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._