In R version 2.6.1 (2007-11-26) and R version 2.6.1 Patched (2008-01-19 r44061) on openSUSE 10.2 (X86-64)> gctorture() > proc.time()Error: protect(): protection stack overflow The problem with this is that then R CMD check --use-gct foo ALWAYS FAILS with> cat("Time elapsed: ", proc.time() - get("ptime", pos = 'CheckExEnv'),"\n")Error in proc.time() - get("ptime", pos = "CheckExEnv") : non-numeric argument to binary operator This does not happen in R version 2.4.1 (2006-12-18) I was going to have my computing class try out --use-gct. I guess not until this is fixed. -- Charles Geyer Professor, School of Statistics University of Minnesota charlie at stat.umn.edu
charlie at stat.umn.edu wrote:> In R version 2.6.1 (2007-11-26) > and R version 2.6.1 Patched (2008-01-19 r44061) > on openSUSE 10.2 (X86-64) > > >> gctorture() >> proc.time() >> > Error: protect(): protection stack overflow > > The problem with this is that then > > R CMD check --use-gct foo > > ALWAYS FAILS with > > >> cat("Time elapsed: ", proc.time() - get("ptime", pos = 'CheckExEnv'),"\n") >> > Error in proc.time() - get("ptime", pos = "CheckExEnv") : > non-numeric argument to binary operator > > This does not happen in R version 2.4.1 (2006-12-18) > > I was going to have my computing class try out --use-gct. > I guess not until this is fixed. > >I can reproduce this on SUSE 10.2 64 bit and Fedora 7 64 bit, but not on SUSE 10.3 32 bit and Fedora 8 32 bit. (The OS versions are likely not relevant, I bet it is a 64 bit issue somewhere). -- O__ ---- Peter Dalgaard ?ster Farimagsgade 5, Entr.B c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907
maechler at stat.math.ethz.ch
2008-Jan-22 08:20 UTC
[Rd] gctorture and proc.time (PR#10600)
>>>>> "PD" == Peter Dalgaard <p.dalgaard at biostat.ku.dk> >>>>> on Tue, 22 Jan 2008 08:56:29 +0100 writes:PD> charlie at stat.umn.edu wrote: >> In R version 2.6.1 (2007-11-26) >> and R version 2.6.1 Patched (2008-01-19 r44061) >> on openSUSE 10.2 (X86-64) >> >> >>> gctorture() >>> proc.time() >>> >> Error: protect(): protection stack overflow >> >> The problem with this is that then >> >> R CMD check --use-gct foo >> >> ALWAYS FAILS with >> >> >>> cat("Time elapsed: ", proc.time() - get("ptime", pos = 'CheckExEnv'),"\n") >>> >> Error in proc.time() - get("ptime", pos = "CheckExEnv") : >> non-numeric argument to binary operator >> >> This does not happen in R version 2.4.1 (2006-12-18) >> >> I was going to have my computing class try out --use-gct. >> I guess not until this is fixed. >> >> PD> I can reproduce this on SUSE 10.2 64 bit and Fedora 7 64 bit, but not on PD> SUSE 10.3 32 bit and Fedora 8 32 bit. (The OS versions are likely not PD> relevant, I bet it is a 64 bit issue somewhere). PD> -- PD> O__ ---- Peter Dalgaard ?ster Farimagsgade 5, Entr.B PD> c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K PD> (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 PD> ~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907 I can confirm that: 64 bit is broken; 32 bit works {Linux} A bit embarrassing, given that quite a few R-corers have been using more 64-bit than 32-bit in recent years. Thanks a lot, Charlie for the report! Martin
hin-tak.leung at cimr.cam.ac.uk
2008-Jan-23 02:05 UTC
[Rd] gctorture and proc.time (PR#10600)
Peter Dalgaard wrote:> charlie at stat.umn.edu wrote: >> In R version 2.6.1 (2007-11-26) >> and R version 2.6.1 Patched (2008-01-19 r44061) >> on openSUSE 10.2 (X86-64) >> >> >>> gctorture() >>> proc.time() >>> >> Error: protect(): protection stack overflow >> >> The problem with this is that then >> >> R CMD check --use-gct foo >> >> ALWAYS FAILS with >> >> >>> cat("Time elapsed: ", proc.time() - get("ptime", pos = 'CheckExEnv'),"\n") >>> >> Error in proc.time() - get("ptime", pos = "CheckExEnv") : >> non-numeric argument to binary operator >> >> This does not happen in R version 2.4.1 (2006-12-18) >> >> I was going to have my computing class try out --use-gct. >> I guess not until this is fixed. >> >> > I can reproduce this on SUSE 10.2 64 bit and Fedora 7 64 bit, but not on > SUSE 10.3 32 bit and Fedora 8 32 bit. (The OS versions are likely not > relevant, I bet it is a 64 bit issue somewhere).I can be a bit more precise - I have both 32-bit R and 64-bit R built and installed on fedora 8 64-bit, just one and same box. 32-bit R finishes quite quickly with: > proc.time() user system elapsed 0.772 0.032 10.147 64-bit R takes up 49s CPU time (from ps). This is long compared to either 10s (elapse) or 1s (user+sys). And it ends with: Error: protect(): protection stack overflow So yes, it looks like a 64-bit R specific bug.