Remy.Drouilhet@upmf-grenoble.fr
2003-Dec-09 11:29 UTC
[Rd] Maybe some bug on sapply and cbind (PR#5628)
Full_Name: Drouilhet R?my
Version: 1.8.1
OS: Linux
Submission from: (NULL) (195.221.43.136)
Hi!!!
Is there some mistake?
This is some part of one of my R programs. I created this function to show you
the trouble!!!
bugTest<-function() {
paramnames <- c("mean","sd")
param <- list(expression(1),expression(2))
paramtmp <- list(mean=0,sd=1)
if(length(param)) {
sapply(1:length(param),function(i)
paramtmp[[paramnames[i]]]<<-param[[i]])
}
paramtmp
}
If you run :
> bugTest()
$mean
expression(1)
$sd
expression(2)
Everything seems Ok!!! But, now, continue by running :> cbind(1,rep(2,1))
Segmentation fault
In fact, every cbind, rbind applying vectors seem to fail.
Now, change in the bugTest the sapply by some for instance:
bugTest2<-function() {
paramnames <- c("mean","sd")
param <- list(expression(1),expression(2))
paramtmp <- list(mean=0,sd=1)
if(length(param)) {
for( i in 1:length(param)) paramtmp[[paramnames[i]]]<-param[[i]]
}
paramtmp
}
> bugTest2()
$mean
expression(1)
$sd
expression(2)
> cbind(1,rep(2,1))
[,1] [,2]
[1,] 1 2
NOW, EVERYTHING IS OK!!!
I hope this could be helpful for us!!
Bye
brahm@alum.mit.edu
2003-Dec-09 15:39 UTC
[Rd] Maybe some bug on sapply and cbind (PR#5628)
I can confirm this bug on Solaris 2.8 running R-1.8.1. Here's a simplified version: y <- list() sapply(1, function(i) y[[i]] <- expression(1)) cbind(1, rep(2,1)) [ Process R segmentation Fault at Tue Dec 9 09:20:33 2003 ] Curiously, replacing the third line with cbind(1, 2) does not casue a crash, even though rep(2,1) == 2 !> R.versionplatform sparc-sun-solaris2.8 arch sparc os solaris2.8 system sparc, solaris2.8 status major 1 minor 8.1 year 2003 month 11 day 21 language R -- -- David Brahm (brahm@alum.mit.edu)
Apparently Analagous Threads
- small bug on qchisq (PR#6442)
- ADS users authentication problem where win2k and pre-win2k names of user differ
- Migration Issues: Can't update newly added column values
- [LLVMdev] Vector argument passing abi for ARM ?
- [LLVMdev] Vector argument passing abi for ARM ?