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 <b...@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.urba...@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.dorm...@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 <b...@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@r-project.org >>>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac >>> >>> >>> >>> [[alternative HTML version deleted]] >>> >>> _______________________________________________ >>> R-SIG-Mac mailing list >>> R-SIG-Mac@r-project.org >>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac >> > > _______________________________________________ > R-SIG-Mac mailing list > R-SIG-Mac@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-sig-mac _______________________________________________ R-SIG-Mac mailing list R-SIG-Mac@r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-mac