I have the oldest MacBook Pro: mid 2010. Is it too early to upgrade to an M1Max one, for R purposes? Anyway, I get (this is R, but RStudio aborts too):

> x1 <- mpfr(-50, 200)

 *** caught illegal operation ***
address 0x10fd8c23b, cause 'illegal opcode'

Traceback:
 1: mpfr.default(-50, 200)
 2: mpfr(-50, 200)

General info:


> R.version
               _
platform       x86_64-apple-darwin17.0
arch           x86_64
os             darwin17.0
system         x86_64, darwin17.0
status
major          4
minor          1.2
year           2021
month          11
day            01
svn rev        81115
language       R
version.string R version 4.1.2 (2021-11-01)
nickname       Bird Hippie
>

> sessionInfo()
R version 4.1.2 (2021-11-01)
Platform: x86_64-apple-darwin17.0 (64-bit)
Running under: macOS High Sierra 10.13.6

Matrix products: default
BLAS: /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRblas.0.dylib LAPACK: /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

loaded via a namespace (and not attached):
[1] compiler_4.1.2

> system("system_profiler SPHardwareDataType SPSoftwareDataType")
Hardware:

    Hardware Overview:

      Model Name: MacBook Pro
      Model Identifier: MacBookPro6,2
      Processor Name: Intel Core i7
      Processor Speed: 2,66 GHz
      Number of Processors: 1
      Total Number of Cores: 2
      L2 Cache (per Core): 256 KB
      L3 Cache: 4 MB
      Memory: 8 GB
      Boot ROM Version: 99.0.0.0.0
      SMC Version (system): 1.58f17
      Serial Number (system): W8042281AGZ
      Hardware UUID: A1D55A7E-9CD1-59BD-AB78-E5B2518D4940
      Sudden Motion Sensor:
          State: Enabled

Software:

    System Software Overview:

      System Version: macOS 10.13.6 (17G14042)
      Kernel Version: Darwin 17.7.0
      Boot Volume: Samsung SSD
      Boot Mode: Normal
      Computer Name: MBP (2)
      User Name: Göran Broström (gobr0002)
      Secure Virtual Memory: Enabled
      System Integrity Protection: Enabled
      Time since boot: 25 minutes




Den 2021-11-29 kl. 06:43, skrev Kevin Ushey:
Okay, I've reproduced the crash on my 2013 Intel MacBook Pro. In this case,
the issue reproduces more readily because RStudio is calling str() behind
the scenes (which is the cause of the crash in this case). So, a plain R
reproducible example:

library(Rmpfr)
x <- mpfr(-50.1, 200)
str(x)

and I see:

str(x)
Class 'mpfr' [package "Rmpfr"] of length 1 and precision 200

  *** caught illegal operation ***
address 0x112833ed5, cause 'illegal opcode'

Traceback:
  1: .mpfr2str(x, digits, maybe.full = maybe.full, base = base)
  2: formatMpfr(object, digits = digits.d, drop0trailing = drop0trailing,
   ...)
  3: str.mpfr(x)
  4: str(x)

 From lldb:

* thread #1, queue = 'com.apple.main-thread', stop reason =
EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
     frame #0: 0x0000000107ec7ed5 Rmpfr.so`mpfr_get_str_aux + 165
Rmpfr.so`mpfr_get_str_aux:
->  0x107ec7ed5 <+165>: adcxq  %rsi, %rcx
     0x107ec7edb <+171>: movq   %r10, %rdi
     0x107ec7ede <+174>: movq   %r8, %rsi
     0x107ec7ee1 <+177>: movq   %r10, %rbx

and relevant part of the backtrace:

(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason =
EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
   * frame #0: 0x0000000107ec7ed5 Rmpfr.so`mpfr_get_str_aux + 165
     frame #1: 0x0000000107ec78da Rmpfr.so`mpfr_get_str + 2890
     frame #2: 0x0000000107eb9c9e Rmpfr.so`mpfr2str(x=0x00000001053ed768,
digits=<unavailable>, maybeFull=<unavailable>, base=<unavailable>) at
convert.c:608:2 [opt]
     < ... >

If I understand correctly, 'adcx' was introduced with Broadwell CPUs (so,
October 2014) and so that could explain why I'm seeing this crash. It'd be
helpful if others could try to verify with newer / older macOS machines,
though.

sessionInfo()
R version 4.1.2 (2021-11-01)
Platform: x86_64-apple-darwin17.0 (64-bit)
Running under: macOS Big Sur 10.16

Best,
Kevin

On Sun, Nov 28, 2021 at 6:22 PM Simon Urbanek <simon.urba...@r-project.org>
wrote:

Kevin,

that is a different story, yes, Rosetta2 is incomplete - the advice on M1
is to use native R.

Cheers,
Simon


On Nov 29, 2021, at 12:30 PM, Kevin Ushey <kevinus...@gmail.com> wrote:

I can reproduce something similar on my M1 macOS machine, when using the
x86_64 build of R. I see:

x1 <- mpfr(-50, 200)
*** caught illegal operation ***
address 0x10c5f623b, cause 'illegal opcode'

This is with the binary of Rmpfr 0.8-7 as from CRAN, with R 4.1.2. Here's
what LLDB says:

* thread #1, queue = 'com.apple.main-thread', stop reason =
EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
    frame #0: 0x000000010f69c23b Rmpfr.so`mpfr_set_d + 43
Rmpfr.so`mpfr_set_d:
->  0x10f69c23b <+43>: vucomisd %xmm0, %xmm0
    0x10f69c23f <+47>: jp     0x10f69c39a               ; <+394>
    0x10f69c245 <+53>: vpxor  %xmm1, %xmm1, %xmm1
    0x10f69c249 <+57>: vucomisd %xmm1, %xmm0

And the relevant part of the stack trace:

(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason =
EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
  * frame #0: 0x000000010f69c23b Rmpfr.so`mpfr_set_d + 43
    frame #1: 0x000000010f6809d3 Rmpfr.so`d2mpfr1_(x=-50,
i_prec=<unavailable>, rnd=MPFR_RNDN) at convert.c:129:5 [opt]
    frame #2: 0x000000010f680eb0 Rmpfr.so`d2mpfr1_list(x=<unavailable>,
prec=<unavailable>, rnd_mode=<unavailable>) at convert.c:186:29 [opt]

At least for my case, my guess is that the 'vucomisd' instruction isn't
available via Apple's Rosetta emulation. It's possible users with older
macOS machines not supporting AVX instructions could see this, as well?

Best,
Kevin

On Sun, Nov 28, 2021 at 9:54 AM Richard M. Heiberger <r...@temple.edu>
wrote:

Works normally in R-4.1.2 with Rmpfr_0.8-7 on Macintosh
aarch64-apple-darwin20
I am running inside Emacs using ESS

packageVersion("Rmpfr")
[1] ‘0.8.7’
library(Rmpfr)
Loading required package: gmp

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, dnbinom, dnorm, dpois, dt, pnorm

The following objects are masked from ‘package:base’:

    cbind, pmax, pmin, rbind

x1 <- mpfr(-50, 200)
x1
1 'mpfr' number of precision  200   bits
[1] -50
x2 <- mpfr(-50.1, 200)
x2
1 'mpfr' number of precision  200   bits
[1] -50.10000000000000142108547152020037174224853515625
version
               _
platform       aarch64-apple-darwin20
arch           aarch64
os             darwin20
system         aarch64, darwin20
status
major          4
minor          1.2
year           2021
month          11
day            01
svn rev        81115
language       R
version.string R version 4.1.2 (2021-11-01)
nickname       Bird Hippie


On Nov 27, 2021, at 15:46, Dev Chakraborty <dpc10s...@gmail.com>
wrote:

I used package Rmpfr ca. 2017 and it worked fine. The latest version
(0.8-7) causes R (running under RStudio) to crash. A simple example is:

library(Rmpfr)
x1 <- mpfr(-50, 200)
x2 <- mpfr(-50.1, 200)

Which gives the message:

R Session Aborted
R encountered a fatal error
The session was terminated
Start New Session

I am using R version 4.1.1 on a Mac running MacOS 12.0.1. and an older
iMac
running 10.15.7. The problem occurs with both machines.

When I install from the CRAN archive file  Rmpfr_0.6-1.tar.gz (the
version
of the package around 2017, corresponding to the last time I used it)
the
problem goes away.

      [[alternative HTML version deleted]]

_______________________________________________
R-SIG-Mac mailing list
R-SIG-Mac@r-project.org


https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstat.ethz.ch%2Fmailman%2Flistinfo%2Fr-sig-mac&amp;data=04%7C01%7Crmh%40temple.edu%7C3aabc743f322409d6fa308d9b259a7bb%7C716e81efb52244738e3110bd02ccf6e5%7C0%7C0%7C637736920545174898%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000&amp;sdata=pNPM8x8q1%2BQxq4QevSbfjlcO44vDVEyUvsRlfDBfgBo%3D&amp;reserved=0

_______________________________________________
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




        [[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

Reply via email to