Thank you Luke, that makes a lot of sense, Gabor On Fri, May 28, 2021 at 3:41 PM <luke-tier...@uiowa.edu> wrote: > > integer and real Elt methods are not expected to allocate. You would > have to suspend GC to be able to do that. This currently can't be done > from package code. > > Best, > > luke > > On Fri, 28 May 2021, Gábor Csárdi wrote: > > > I have found some weird SEXP corruption behavior with ALTREP, which > > could be a bug. (Or I could be doing something wrong.) > > > > I have an integer ALTREP vector that calls back to R from the Elt > > method. When this vector is indexed in a lapply(), its first element > > gets corrupted. Sometimes it's just a type change to logical, but > > sometimes the corruption causes a crash. > > > > I saw this on macOS from R 3.5.3 to 4.2.0. I created a small package > > that demonstrates this: https://github.com/gaborcsardi/redfish > > > > The R callback in this package calls `loadNamespace("Matrix")`, but > > the same crash happens for other packages as well, and sometimes it > > also happens if I don't load any packages at all. (But that example > > was much more complicated, so I went with the package loading.) > > > > It is somewhat random, and sometimes turning off the JIT avoids the > > crash, but not always. > > > > Hopefully I am just doing something wrong in the ALTREP code (see > > https://github.com/gaborcsardi/redfish/blob/main/src/test.c), and it > > is not actually a bug. > > > > Thanks, > > Gabor > > > > ______________________________________________ > > R-devel@r-project.org mailing list > > https://stat.ethz.ch/mailman/listinfo/r-devel > > > > -- > Luke Tierney > Ralph E. Wareham Professor of Mathematical Sciences > University of Iowa Phone: 319-335-3386 > Department of Statistics and Fax: 319-335-3017 > Actuarial Science > 241 Schaeffer Hall email: luke-tier...@uiowa.edu > Iowa City, IA 52242 WWW: http://www.stat.uiowa.edu
______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel