8000 fix: /usr/lib/libobjc-trampolines.dylib dlopen() crashes on macOS Catalina by miniak · Pull Request #20497 · electron/electron · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

fix: /usr/lib/libobjc-trampolines.dylib dlopen() crashes on macOS Catalina #20497

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

Merged
merged 1 commit into from
Oct 10, 2019

Conversation

miniak
Copy link
Contributor
@miniak miniak commented Oct 9, 2019

Description of Change

Fix crashes of sandboxed renderers on macOS Catalina (10.15):

Application Specific Information:
couldn't dlopen libobjc-trampolines.dylib: dlopen(/usr/lib/libobjc-trampolines.dylib, 262): no suitable image found.  Did find:
    /usr/lib/libobjc-trampolines.dylib: file system sandbox blocked stat()

Thread 0 Crashed:: CrRendererMain  Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib            0x00007fff6ddfdade __abort_with_payload + 10
1   libsystem_kernel.dylib            0x00007fff6ddff4ef abort_with_payload_wrapper_internal + 80
2   libsystem_kernel.dylib            0x00007fff6ddff49f abort_with_reason + 19
3   libobjc.A.dylib                   0x00007fff6c952c99 _objc_fatalv(unsigned long long, unsigned long long, char const*, __va_list_tag*) + 114
4   libobjc.A.dylib                   0x00007fff6c952c27 _objc_fatal(char const*, ...) + 127
5   libobjc.A.dylib                   0x00007fff6c9511a0 TrampolinePointerWrapper::Initialize() + 226
6   libobjc.A.dylib                   0x00007fff6c93e7c2 imp_implementationWithBlock + 23
7   com.apple.AppKit                  0x00007fff3480a74a cons_NSDP_NSDPTypeEdgeInsets + 266
8   com.apple.AppKit                  0x00007fff34808721 resolvePropertyAccessor + 137
9   com.apple.AppKit                  0x00007fff34806cf7 lockedClassInfoForClass + 798
10  com.apple.AppKit                  0x00007fff34806a7a lockedClassInfoForClass + 161
11  com.apple.AppKit                  0x00007fff348069ae _NSDPClassInfoForClass + 48
12  com.apple.AppKit                  0x00007fff33d8571b -[NSResponder init] + 60
13  com.apple.AppKit                  0x00007fff33e019d1 -[NSView initWithFrame:] + 58
14  com.apple.AppKit                  0x00007fff33e59694 -[NSView init] + 44
...

To reproduce:
Call app.enableMixedSandbox() and add sandbox: true to webPreferences. Having a simple text field in HTML causes the crash <input type="text">

Electron 5+, which is using Chromium sandbox v2 is not affected.

Checklist

Release Notes

Notes: Fixed crashes of sandboxed renderers on macOS Catalina (10.15).

@miniak miniak added the wip ⚒ label Oct 9, 2019
@miniak miniak requested a review from ppontes October 9, 2019 07:38
@miniak miniak self-assigned this Oct 9, 2019
@electron-cation electron-cation bot added the new-pr 🌱 PR opened recently label Oct 9, 2019
@miniak miniak force-pushed the miniak/fix-catalina-crash-4-2-x branch 2 times, most recently from 169d08f to ab645aa Compare October 9, 2019 15:32
@miniak miniak changed the title fix: /usr/lib/libobjc-trampolines.dylib dlopen() failures on macOS Catalina fix: /usr/lib/libobjc-trampolines.dylib dlopen() crashes on macOS Catalina Oct 9, 2019
@miniak miniak marked this pull request as ready for review October 9, 2019 15:33
@miniak miniak requested a review from a team as a code owner October 9, 2019 15:33
@miniak miniak removed the wip ⚒ label Oct 9, 2019
Copy link
Contributor
@nornagon nornagon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems OK given sandbox v2 has this since 2017. Seems likely that the dependency on /usr/lib was added upstream after the switch to v2 sandbox which we delayed.

@miniak miniak added the fast-track 🚅 Indicates that this PR is intended to bypass the 24 hour rule. Needs approval from Releases label Oct 10, 2019
@electron-cation electron-cation bot removed the new-pr 🌱 PR opened recently label Oct 10, 2019
@codebytere codebytere merged commit da75a74 into 4-2-x Oct 10, 2019
@release-clerk
Copy link
release-clerk bot commented Oct 10, 2019

Release Notes Persisted

Fixed crashes of sandboxed renderers on macOS Catalina (10.15).

@codebytere codebytere deleted the miniak/fix-catalina-crash-4-2-x branch October 10, 2019 12:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
fast-track 🚅 Indicates that this PR is intended to bypass the 24 hour rule. Needs approval from Releases
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants
0