[R-SIG-Mac] Problem R-4.0 beta and Rmpfr (pre-release)

Simon Urbanek @|mon@urb@nek @end|ng |rom R-project@org
Thu Apr 16 15:47:09 CEST 2020


Berend,

I have compiled gmp on an older machine (2008 MacPro) - in fact the same that we used until 4.0.0. Apparently there are some new instruction on more recent CPUs that gmp leverages if it finds them. Oddly, I could not find any good info on this so it's hard to pin-point the difference or exact CPUs that cause this. Using the old one should make it fairly safe.

Cheers,
Simon


> On 17/04/2020, at 1:38 AM, Berend Hasselman <bhh using xs4all.nl> wrote:
> 
> Simon,
> 
> The issue has gone away. Hurrah!
> 
> But what actually was the problem and how did you solve it?
> 
> regards and many thanks,
> 
> Berend
> 
> 
>> On 16 Apr 2020, at 15:26, Simon Urbanek <simon.urbanek using r-project.org> wrote:
>> 
>> Thanks, please re-install Rmpfr and gmp from the Mac master mirror:
>> 
>> install.packages(c("gmp","Rmpfr"),repos="https://mac.R-project.org")
>> 
>> and let me know if the issue goes away.
>> 
>> Thanks,
>> Simon
>> 
>> 
>> 
>> 
>>> On 16/04/2020, at 7:21 PM, carsten.dormann using biom.uni-freiburg.de wrote:
>>> 
>>> Can confirm problem:
>>> 
>>>> dpois(mpfr(x, 120), 1000)
>>> 
>>> *** caught illegal operation ***
>>> address 0x1116f7c42, cause 'illegal opcode'
>>> 
>>> Traceback:
>>> 1: .class1(object)
>>> 2: as(value, dataClass)
>>> 3: setDataPart(x, .Call(Math_mpfr, x, .Math.codes[[.Generic]]))
>>> 4: exp(-lambda)
>>> 5: exp(-lambda)
>>> 6: dpois(mpfr(x, 120), 1000)
>>> 
>>> Possible actions:
>>> 1: abort (with core dump, if enabled)
>>> 2: normal R exit
>>> 3: exit R without saving workspace
>>> 4: exit R saving workspace
>>> Selection: 
>>> 
>>> 
>>>> sessionInfo() # after restart
>>> R version 4.0.0 alpha (2020-04-01 r78130)
>>> Platform: x86_64-apple-darwin17.0 (64-bit)
>>> Running under: macOS Mojave 10.14.6
>>> 
>>> Matrix products: default
>>> BLAS:   /Library/Frameworks/R.framework/Versions/4.0/Resources/lib/libRblas.dylib
>>> LAPACK: /Library/Frameworks/R.framework/Versions/4.0/Resources/lib/libRlapack.dylib
>>> 
>>> locale:
>>> [1] en_GB.UTF-8/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8
>>> 
>>> attached base packages:
>>> [1] stats     graphics  grDevices utils     datasets  methods   base     
>>> 
>>> loaded via a namespace (and not attached):
>>> [1] compiler_4.0.0
>>> 
>>> 
>>> Carsten
>>> 
>>> 
>>>> On 16. Apr 2020, at 08:56, Berend Hasselman <bhh using xs4all.nl> wrote:
>>>> 
>>>> 
>>>> If the pre-release binary of Rmpfr is intended for the R-4.0 beta then I am experiencing "illegal operations" with "illegal opcode" errors.
>>>> 
>>>> <sessionInfo>
>>>> 
>>>> R version 4.0.0 beta (2020-04-14 r78227)
>>>> Platform: x86_64-apple-darwin17.0 (64-bit)
>>>> Running under: macOS Catalina 10.15.4
>>>> 
>>>> Matrix products: default
>>>> BLAS:   /Library/Frameworks/R.framework/Versions/4.0/Resources/lib/libRblas.dylib
>>>> LAPACK: /Library/Frameworks/R.framework/Versions/4.0/Resources/lib/libRlapack.dylib
>>>> 
>>>> locale:
>>>> [1] en_IE.UTF-8/en_IE.UTF-8/en_IE.UTF-8/C/en_IE.UTF-8/en_IE.UTF-8
>>>> 
>>>> attached base packages:
>>>> [1] stats     graphics  grDevices utils     datasets  methods   base     
>>>> 
>>>> loaded via a namespace (and not attached):
>>>> [1] compiler_4.0.0
>>>> 
>>>> </sessionInfo>
>>>> 
>>>> A simple example session is
>>>> 
>>>> <(in+output)>
>>>> 
>>>>> library(gmp,lib.loc=".");library(Rmpfr,lib.loc=".")
>>>> 
>>>> Attaching package: 'gmp'
>>>> 
>>>> The following objects are masked from 'package:base':
>>>> 
>>>> %*%, apply, crossprod, matrix, tcrossprod
>>>> 
>>>> C code of R package 'Rmpfr': GMP using 64 bits per limb
>>>> 
>>>> 
>>>> Attaching package: 'Rmpfr'
>>>> 
>>>> The following object is masked from 'package:gmp':
>>>> 
>>>> outer
>>>> 
>>>> The following objects are masked from 'package:stats':
>>>> 
>>>> dbinom, dgamma, dnorm, dpois, pnorm
>>>> 
>>>> The following objects are masked from 'package:base':
>>>> 
>>>> cbind, pmax, pmin, rbind
>>>> 
>>>>> x <- 1400+ 0:10
>>>>> print(dpois(x, 1000), digits =18) ## standard R's double precision
>>>> [1] 1.46677334419659338e-33 1.04694742626454156e-33 7.46752800474106016e-34
>>>> [4] 5.32254312525935864e-34 3.79098513195210765e-34 2.69821005832831136e-34
>>>> [7] 1.91906832029070091e-34 1.36394336907638670e-34 9.68709779173582432e-35
>>>> [10] 6.87515812046484244e-35 4.87599866699657026e-35
>>>>> dpois(mpfr(x, 120), 1000)## more accuracy for the same
>>>> 
>>>> *** caught illegal operation ***
>>>> address 0x10a6e1c42, cause 'illegal opcode'
>>>> 
>>>> Traceback:
>>>> 1: .class1(object)
>>>> 2: as(value, dataClass)
>>>> 3: setDataPart(x, .Call(Math_mpfr, x, .Math.codes[[.Generic]]))
>>>> 4: exp(-lambda)
>>>> 5: exp(-lambda)
>>>> 6: dpois(mpfr(x, 120), 1000)
>>>> 
>>>> Possible actions:
>>>> 1: abort (with core dump, if enabled)
>>>> 2: normal R exit
>>>> 3: exit R without saving workspace
>>>> 4: exit R saving workspace
>>>> 
>>>> </(in+output)
>>>> 
>>>> Other trials seem to experience similar issues.
>>>> 
>>>> 
>>>> regards
>>>> 
>>>> Berend
>>>> 
>>>> _______________________________________________
>>>> R-SIG-Mac mailing list
>>>> R-SIG-Mac using r-project.org
>>>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
>>> 
>>> 
>>> 
>>> 	[[alternative HTML version deleted]]
>>> 
>>> _______________________________________________
>>> R-SIG-Mac mailing list
>>> R-SIG-Mac using r-project.org
>>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
>> 
> 
> _______________________________________________
> R-SIG-Mac mailing list
> R-SIG-Mac using r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-mac



More information about the R-SIG-Mac mailing list