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: Electron 4.1.1 will not start up for non-owner (with errno=13 error) #17581

Closed
3 tasks done
scottnonnenberg-signal opened this issue Mar 27, 2019 · 4 comments
Closed
3 tasks done
Assignees

Comments

@scottnonnenberg-signal
Copy link

Preflight Checklist

  • I have read the Contributing Guidelines for this project.
  • I agree to follow the Code of Conduct that this project adheres to.
  • I have searched the issue tracker for an issue that matches the one I want to file, without success.

Issue Details

  • Electron Version:
    • 4.1.1
  • Operating System:
    • macOS 10.14.4
  • Last Known Working Electron version::
    • 3.0.14

Expected Behavior

Can download Electron.app as one user, and run it as another

Actual Behavior

Download Electron.app as one user, and get a crash when attempting to run it as another

To Reproduce

With Electron 3.0.14 (the last version Signal Desktop used), 755 permissions are in place for key Framework files. Thus, you can pull down the zip and expand it as one user, and run it as a different user on the machine.

With Electron 4.1.1, 744 permissions are used for those same key frameworks. Thus, you get an ugly MacOS crash error when trying to start it as a different user than the original installer.

You can reproduce this by downloading the Electron.app files available from the official releases. Download and expand, then run them with a different user.

$ ls -lha v4.1.1/Electron.app/Contents/Frameworks/Electron\ Framework.framework/*
lrwxr-xr-x  1 scott  staff    35B Mar 27 13:13 v4.1.1/Electron.app/Contents/Frameworks/Electron Framework.framework/Electron Framework -> Versions/Current/Electron Framework
lrwxr-xr-x  1 scott  staff    26B Mar 27 13:13 v4.1.1/Electron.app/Contents/Frameworks/Electron Framework.framework/Libraries -> Versions/Current/Libraries
lrwxr-xr-x  1 scott  staff    26B Mar 27 13:13 v4.1.1/Electron.app/Contents/Frameworks/Electron Framework.framework/Resources -> Versions/Current/Resources

v4.1.1/Electron.app/Contents/Frameworks/Electron Framework.framework/Versions:
total 0
drwxr--r--@ 4 scott  staff   128B Mar 27 13:13 .
drwxr-xr-x@ 6 scott  staff   192B Mar 27 13:13 ..
drwxr--r--@ 5 scott  staff   160B Mar 20 15:58 A
lrwxr-xr-x  1 scott  staff     1B Mar 27 13:13 Current -> A

$ ls -lha v3.0.14/Electron.app/Contents/Frameworks/Electron\ Framework.framework/*
lrwxr-xr-x  1 scott  staff    35B Mar 27 13:13 v3.0.14/Electron.app/Contents/Frameworks/Electron Framework.framework/Electron Framework -> Versions/Current/Electron Framework
lrwxr-xr-x  1 scott  staff    26B Mar 27 13:13 v3.0.14/Electron.app/Contents/Frameworks/Electron Framework.framework/Libraries -> Versions/Current/Libraries
lrwxr-xr-x  1 scott  staff    26B Mar 27 13:13 v3.0.14/Electron.app/Contents/Frameworks/Electron Framework.framework/Resources -> Versions/Current/Resources

v3.0.14/Electron.app/Contents/Frameworks/Electron Framework.framework/Versions:
total 0
drwxr-xr-x@ 4 scott  staff   128B Mar 27 13:13 .
drwxr-xr-x@ 6 scott  staff   192B Mar 27 13:13 ..
drwxr-xr-x@ 5 scott  staff   160B Jan  4 13:33 A
lrwxr-xr-x  1 scott  staff     1B Mar 27 13:13 Current -> A

Screenshots

Screen Shot 2019-03-27 at 1 48 03 PM

Additional Information

The complete error:

Process:               Electron [5207]
Path:                  /private/var/folders/*/Electron.app/Contents/MacOS/Electron
Identifier:            com.github.Electron
Version:               4.1.1 (4.1.1)
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           Electron [5207]
User ID:               502

Date/Time:             2019-03-27 13:47:45.570 -0700
OS Version:            Mac OS X 10.14.4 (18E226)
Report Version:        12
Bridge OS Version:     3.0 (14Y674)
Anonymous UUID:        4B6F6181-6105-0C24-C48E-9BA9E439482B

Sleep/Wake UUID:       ECD027B4-8D0E-4F76-A757-DFDB507EDA14

Time Awake Since Boot: 45000 seconds
Time Since Wake:       16000 seconds

System Integrity Protection: enabled

Notes:                 Translocated Process

Crashed Thread:        0

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Reason:    DYLD, [0x1] Library missing

Application Specific Information:
dyld: launch, loading dependent libraries

Dyld Error Message:
  Library not loaded: @rpath/Electron Framework.framework/Electron Framework
  Referenced from: /private/var/folders/*/Electron.app/Contents/MacOS/Electron
  Reason: no suitable image found.  Did find:
	/private/var/folders/z0/_tmzx1391sz4qlm77kg4x7f80000gp/T/AppTranslocation/9F964884-05A7-4543-B678-8232C2037953/d/Electron.app/Contents/MacOS/../Frameworks/Electron Framework.framework/Electron Framework: stat() failed with errno=13

Binary Images:
       0x10f547000 -        0x10f547ffb +com.github.Electron (4.1.1 - 4.1.1) <6E272AEB-51ED-363B-B2D0-1E8B0C094EDF> /var/folders/*/Electron.app/Contents/MacOS/Electron
       0x114777000 -        0x1147e16ef  dyld (655.1.1) <F217F7F8-A795-3109-B77F-B1E2277F3E3B> /usr/lib/dyld
    0x7fff4cfd2000 -     0x7fff4cfd2fff  com.apple.Cocoa (6.11 - 23) <C487E1FC-D79C-32B4-950E-68F3060A125E> /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa
    0x7fff4fa2e000 -     0x7fff4fddbff3  com.apple.Foundation (6.9 - 1570.16) <84055403-9921-3EFC-B593-8F0600EBEE80> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
    0x7fff500e3000 -     0x7fff50172fff  com.apple.framework.IOKit (2.0.2 - 1483.250.15) <1170EC49-1912-3657-9C71-991653959191> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
    0x7fff58cb4000 -     0x7fff58fb2ff7  com.apple.security (7.0 - 58286.251.4) <2084C515-AD64-3A48-BE3E-811CAA5A0E41> /System/Library/Frameworks/Security.framework/Versions/A/Security
    0x7fff5940d000 -     0x7fff5947afff  com.apple.SystemConfiguration (1.17 - 1.17) <90F4626B-F9F6-377C-AA62-B8C23E857244> /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration

Model: MacBookPro14,3, BootROM 190.0.0.0.0, 4 processors, Intel Core i7, 2.9 GHz, 16 GB, SMC 2.45f0
Graphics: kHW_IntelHDGraphics630Item, Intel HD Graphics 630, spdisplays_builtin
Graphics: kHW_AMDRadeonPro560Item, Radeon Pro 560, spdisplays_pcie_device, 4 GB
Memory Module: BANK 0/DIMM0, 8 GB, LPDDR3, 2133 MHz, 0x802C, 0x4D5435324C31473332443450472D30393320
Memory Module: BANK 1/DIMM0, 8 GB, LPDDR3, 2133 MHz, 0x802C, 0x4D5435324C31473332443450472D30393320
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x173), Broadcom BCM43xx 1.0 (7.77.61.2 AirPortDriverBrcmNIC-1305.8)
Bluetooth: Version 6.0.11f4, 3 services, 27 devices, 1 incoming serial ports
Network Service: Wi-Fi, AirPort, en0
USB Device: USB 3.0 Bus
USB Device: Yubikey 4 OTP+U2F+CCID
USB Device: USB2.0 Hub
USB Device: USB-C Digital AV Multiport Adapter
USB Device: iBridge
USB Device: USB3.0 Hub
Thunderbolt Bus: MacBook Pro, Apple Inc., 39.2
Thunderbolt Bus: MacBook Pro, Apple Inc., 39.2
@scottnonnenberg-signal
Copy link
Author

Originally reported here: signalapp/Signal-Desktop#3245

@MarshallOfSound
Copy link
Member

MarshallOfSound commented Mar 27, 2019

I can see the strange permissions on the downloaded build but not on a testing build generated locally from master nor does it appear to be the case on 5-0-x. The build logic must have changed between 4 and 5.

Easy fix would be to chmod the frameworks before zipping them up but there is probably a better fix somewhere in the chromium tree

🤔

@MarshallOfSound
Copy link
Member

Well will ya look at that 😆

https://chromium-review.googlesource.com/c/chromium/src/+/1271001

I'll backport it to 4-1-x 👍

@MarshallOfSound
Copy link
Member

Fixed in #17582

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

No branches or pull requests

2 participants