Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

macos: declare required privacy permissions for Mojave #4579

Closed
kevinushey opened this issue Apr 4, 2019 · 4 comments · Fixed by #4581 or #6340
Closed

macos: declare required privacy permissions for Mojave #4579

kevinushey opened this issue Apr 4, 2019 · 4 comments · Fixed by #4581 or #6340
Assignees
Labels

Comments

@kevinushey
Copy link
Contributor

@kevinushey kevinushey commented Apr 4, 2019

System details

RStudio Edition : Desktop
RStudio Version : v1.2.1335
OS Version      : macOS 10.14.4
R Version       : 3.5.3

Steps to reproduce the problem

Run the following code in RStudio:

if (!requireNamespace("opencv"))
  install.packages("opencv")

library(opencv)
ocv_video(ocv_edges)

Describe the problem in detail

RStudio crashes.

Describe the behavior you expected

RStudio requests use of the webcam, and then proceeds without issue.

Notes

We may need to declare privacy access messages in Info.plist. Example from Qt Creator:

https://codereview.qt-project.org/#/c/251414/4/src/app/app-Info.plist,unified

@dfalty
Copy link

@dfalty dfalty commented Feb 25, 2020

@kevinushey I'm still getting a crash running the code on version 1.3.867.

@kevinushey
Copy link
Contributor Author

@kevinushey kevinushey commented Feb 26, 2020

Stack trace:

(lldb) bt
* thread #9, queue = 'com.apple.root.default-qos', stop reason = signal SIGABRT
  * frame #0: 0x00007fff72fa8bea libsystem_kernel.dylib`__abort_with_payload + 10
    frame #1: 0x00007fff72faa4f3 libsystem_kernel.dylib`abort_with_payload_wrapper_internal + 80
    frame #2: 0x00007fff72faa525 libsystem_kernel.dylib`abort_with_payload + 9
    frame #3: 0x00007fff6b0fc5a7 TCC`__CRASHING_DUE_TO_PRIVACY_VIOLATION__ + 163
    frame #4: 0x00007fff6b0fa545 TCC`__TCCAccessRequest_block_invoke.114 + 500
    frame #5: 0x00007fff6b0faa6c TCC`__tccd_send_message_block_invoke + 231
    frame #6: 0x00007fff7308ea08 libxpc.dylib`_xpc_connection_reply_callout + 36
    frame #7: 0x00007fff7308e990 libxpc.dylib`_xpc_connection_call_reply_async + 69
    frame #8: 0x00007fff72def578 libdispatch.dylib`_dispatch_client_callout3 + 8
    frame #9: 0x00007fff72e06080 libdispatch.dylib`_dispatch_mach_msg_async_reply_invoke + 369
    frame #10: 0x00007fff72dfe48c libdispatch.dylib`_dispatch_kevent_worker_thread + 1324
    frame #11: 0x00007fff73049744 libsystem_pthread.dylib`_pthread_wqthread + 362
    frame #12: 0x00007fff73048827 libsystem_pthread.dylib`start_wqthread + 15

@kevinushey
Copy link
Contributor Author

@kevinushey kevinushey commented Feb 26, 2020

From the logs:

This app has crashed because it has a hardened runtime and attempted to access privacy-sensitive data without an entitlement indicating its intent to access this data. The app must have the 'com.apple.security.device.camera' entitlement.

@rich-rstudio
Copy link
Contributor

@rich-rstudio rich-rstudio commented Mar 11, 2020

verified in Version 1.3.897

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment