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

v2.0.3 Electron doesn't run: dyld: Symbol not found: _CIDetectorTypeText #13404

Closed
renatop7 opened this Issue Jun 24, 2018 · 18 comments

Comments

@renatop7

renatop7 commented Jun 24, 2018

  • Electron Version: 2.0.3
  • Operating System (Platform and Version): macOS 10.10.5 (Yosemite)
  • Last known working Electron version: 2.0.0

Expected Behavior
Electron App should start after running the command: npm run start

Actual behavior
App doesn't start and the following message appears on console:

dyld: Symbol not found: _CIDetectorTypeText
  Referenced from: /Users/renato/Projects/smart-press/node_modules/electron/dist/Electron.app/Contents/MacOS/../Frameworks/Electron Framework.framework/Electron Framework
  Expected in: /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
 in /Users/renato/Projects/smart-press/node_modules/electron/dist/Electron.app/Contents/MacOS/../Frameworks/Electron Framework.framework/Electron Framework

To Reproduce
https://github.com/renatop7/electron-quick-start

$ git clone https://github.com/renatop7/electron-quick-start
$ npm install
$ npm start
@welcome

This comment has been minimized.

Show comment
Hide comment
@welcome

welcome bot Jun 24, 2018

👋 Thanks for opening your first issue here! If you're reporting a 🐞 bug, please make sure you include steps to reproduce it. We get a lot of issues on this repo, so please be patient and we will get back to you as soon as we can.

To help make it easier for us to investigate your issue, please follow the contributing guidelines.

welcome bot commented Jun 24, 2018

👋 Thanks for opening your first issue here! If you're reporting a 🐞 bug, please make sure you include steps to reproduce it. We get a lot of issues on this repo, so please be patient and we will get back to you as soon as we can.

To help make it easier for us to investigate your issue, please follow the contributing guidelines.

@daviwil

This comment has been minimized.

Show comment
Hide comment
@daviwil

daviwil Jun 25, 2018

Member

We have lots of Atom users hitting this issue, seemingly on macOS 10.10.x and below:

atom/atom#17565

Member

daviwil commented Jun 25, 2018

We have lots of Atom users hitting this issue, seemingly on macOS 10.10.x and below:

atom/atom#17565

@MarshallOfSound

This comment has been minimized.

Show comment
Hide comment
@MarshallOfSound

MarshallOfSound Jun 25, 2018

Member

@daviwil @renatop7 Can we narrow this down a bit more, I.e. which Electron 2.0.x releases do / don't work.

The range 2.0.0 - 2.0.3 is quite large, if someone can just test 2.0.1 and 2.0.2 it should make tracking down the change that caused this easier

Member

MarshallOfSound commented Jun 25, 2018

@daviwil @renatop7 Can we narrow this down a bit more, I.e. which Electron 2.0.x releases do / don't work.

The range 2.0.0 - 2.0.3 is quite large, if someone can just test 2.0.1 and 2.0.2 it should make tracking down the change that caused this easier

@daviwil

This comment has been minimized.

Show comment
Hide comment
@daviwil

daviwil Jun 25, 2018

Member

@renatop7, could you give 2.0.1 and 2.0.2 a shot? I'm running High Sierra (10.13) on my MacBook so I don't think I'll be able to reproduce it.

Member

daviwil commented Jun 25, 2018

@renatop7, could you give 2.0.1 and 2.0.2 a shot? I'm running High Sierra (10.13) on my MacBook so I don't think I'll be able to reproduce it.

@daviwil

This comment has been minimized.

Show comment
Hide comment
@daviwil

daviwil Jun 25, 2018

Member

Also asked Atom users to try reproducing with earlier betas of Atom 1.28 to find the Electron version that caused it: atom/atom#17565 (comment)

Member

daviwil commented Jun 25, 2018

Also asked Atom users to try reproducing with earlier betas of Atom 1.28 to find the Electron version that caused it: atom/atom#17565 (comment)

@daviwil

This comment has been minimized.

Show comment
Hide comment
@daviwil

daviwil Jun 25, 2018

Member

This may also be an instance of the issue on macOS 10.12: atom/atom#17572

Member

daviwil commented Jun 25, 2018

This may also be an instance of the issue on macOS 10.12: atom/atom#17572

@renatop7

This comment has been minimized.

Show comment
Hide comment
@renatop7

renatop7 Jun 25, 2018

Hi @daviwil @MarshallOfSound
So, I just tested and both versions 2.0.2 and 2.0.1 are working.

renatop7 commented Jun 25, 2018

Hi @daviwil @MarshallOfSound
So, I just tested and both versions 2.0.2 and 2.0.1 are working.

@MarshallOfSound

This comment has been minimized.

Show comment
Hide comment
@MarshallOfSound

MarshallOfSound Jun 25, 2018

Member

Changeset: 311f7ac...4aedc2c

Current theory is: electron/libchromiumcontent@663e747...85a8281

Without a machine to replicate this on though it's gonna be pretty hard to track it down. A git bisect is what we really need to do here

cc @miniak

Member

MarshallOfSound commented Jun 25, 2018

Changeset: 311f7ac...4aedc2c

Current theory is: electron/libchromiumcontent@663e747...85a8281

Without a machine to replicate this on though it's gonna be pretty hard to track it down. A git bisect is what we really need to do here

cc @miniak

@daviwil

This comment has been minimized.

Show comment
Hide comment
@daviwil

daviwil Jun 25, 2018

Member

Looks like earlier Atom 1.28 Beta releases with 2.0.0 and 2.0.1 were working, more evidence that it's a 2.0.3 issue: atom/atom#17565 (comment)

Member

daviwil commented Jun 25, 2018

Looks like earlier Atom 1.28 Beta releases with 2.0.0 and 2.0.1 were working, more evidence that it's a 2.0.3 issue: atom/atom#17565 (comment)

@jasonrudolph

This comment has been minimized.

Show comment
Hide comment
@jasonrudolph

jasonrudolph Jun 26, 2018

Without a machine to replicate this on though it's gonna be pretty hard to track it down. A git bisect is what we really need to do here

@MarshallOfSound: I think I can track down a VM in order to replicate the issue and verify any fixes. I'm willing to do the git bisect to track down the root cause, but I'll have to ask for some guidance regarding the specific steps. 🙏 I think I'd need to bisect the changeset (311f7ac...4aedc2c), build Electron at each SHA that git bisect stops on, and then use the resulting build as the Electron version in @renatop7's test app. Does that sound right?

If so, once I build Electron at a given SHA, how can I tell the test app to use that locally-built version of Electron?

jasonrudolph commented Jun 26, 2018

Without a machine to replicate this on though it's gonna be pretty hard to track it down. A git bisect is what we really need to do here

@MarshallOfSound: I think I can track down a VM in order to replicate the issue and verify any fixes. I'm willing to do the git bisect to track down the root cause, but I'll have to ask for some guidance regarding the specific steps. 🙏 I think I'd need to bisect the changeset (311f7ac...4aedc2c), build Electron at each SHA that git bisect stops on, and then use the resulting build as the Electron version in @renatop7's test app. Does that sound right?

If so, once I build Electron at a given SHA, how can I tell the test app to use that locally-built version of Electron?

@MarshallOfSound

This comment has been minimized.

Show comment
Hide comment
@MarshallOfSound

MarshallOfSound Jun 27, 2018

Member

@jasonrudolph You should be able to run (from the electron repo)

out/D/Electron.app/Contents/MacOS/Electron ../path/to/test/app
Member

MarshallOfSound commented Jun 27, 2018

@jasonrudolph You should be able to run (from the electron repo)

out/D/Electron.app/Contents/MacOS/Electron ../path/to/test/app
@jasonrudolph

This comment has been minimized.

Show comment
Hide comment
@jasonrudolph

jasonrudolph Jun 28, 2018

I think I can track down a VM in order to replicate the issue and verify any fixes.

I set up a Yosemite VM, and I verified that I can reproduce the issue when using the test app with Electron 2.0.3 and that I cannot reproduce it with Electron 2.0.2. This confirms @renatop7's findings in #13404 (comment). (Thanks, @renatop7!)

@alexeykuzmin kindly pointed me to the specific XCode version and macOS SDK version necessary to mimic an official Electron build. I'm working on getting those things set up, and then I can hopefully bisect the changeset (311f7ac...4aedc2c) to identify the specific commit that introduced the issue. 🤞

jasonrudolph commented Jun 28, 2018

I think I can track down a VM in order to replicate the issue and verify any fixes.

I set up a Yosemite VM, and I verified that I can reproduce the issue when using the test app with Electron 2.0.3 and that I cannot reproduce it with Electron 2.0.2. This confirms @renatop7's findings in #13404 (comment). (Thanks, @renatop7!)

@alexeykuzmin kindly pointed me to the specific XCode version and macOS SDK version necessary to mimic an official Electron build. I'm working on getting those things set up, and then I can hopefully bisect the changeset (311f7ac...4aedc2c) to identify the specific commit that introduced the issue. 🤞

@jasonrudolph

This comment has been minimized.

Show comment
Hide comment
@jasonrudolph

jasonrudolph Jun 28, 2018

In Slack, @MarshallOfSound mentioned that this issue could be the result of something changing in CI, where a different macOS SDK version was used to build Electron 2.0.2 versus Electron 2.0.3.

Testing locally, I'm starting to think this might be the case as well. Here's what I'm seeing when running on OS X 10.10.5 (Yosemite) following the repro steps in the issue body:

  • Using official Electron builds from npm:
    • 2.0.2 - Cannot reproduce
    • 2.0.3 - Can reproduce
  • Building Electron locally using the exact Xcode/SDK versions specified in docs/development/build-instructions-osx.md
    • 2.0.2 - Cannot reproduce
    • 2.0.3 - Cannot reproduce

jasonrudolph commented Jun 28, 2018

In Slack, @MarshallOfSound mentioned that this issue could be the result of something changing in CI, where a different macOS SDK version was used to build Electron 2.0.2 versus Electron 2.0.3.

Testing locally, I'm starting to think this might be the case as well. Here's what I'm seeing when running on OS X 10.10.5 (Yosemite) following the repro steps in the issue body:

  • Using official Electron builds from npm:
    • 2.0.2 - Cannot reproduce
    • 2.0.3 - Can reproduce
  • Building Electron locally using the exact Xcode/SDK versions specified in docs/development/build-instructions-osx.md
    • 2.0.2 - Cannot reproduce
    • 2.0.3 - Cannot reproduce
@pineapplemachine

This comment has been minimized.

Show comment
Hide comment
@pineapplemachine

pineapplemachine Jun 29, 2018

Hi, I'm here because I hit this issue too trying to use electron for the first time. I'm was attempting to use electron@2.0.3 on OSX 10.9.5. I do not receive the error with electron@2.0.2.

dyld: Symbol not found: _CIDetectorTypeText
  Referenced from: /Users/pineapple/Dropbox/Projects/hyperlink/node_modules/electron/dist/Electron.app/Contents/MacOS/../Frameworks/Electron Framework.framework/Electron Framework
  Expected in: /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
 in /Users/pineapple/Dropbox/Projects/hyperlink/node_modules/electron/dist/Electron.app/Contents/MacOS/../Frameworks/Electron Framework.framework/Electron Framework

Before I got the above error, however, I also had this one:

dyld: Library not loaded: /System/Library/Frameworks/CoreBluetooth.framework/Versions/A/CoreBluetooth
  Referenced from: /Users/pineapple/Dropbox/Projects/hyperlink/node_modules/electron/dist/Electron.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework
  Reason: image not found

I solved the above, first error with electron@2.0.3 by entering sudo ln -s /System/Library/Frameworks/IOBluetooth.framework/Frameworks/CoreBluetooth.framework /System/Library/Frameworks/CoreBluetooth.framework on the command line (https://discussions.apple.com/thread/6508678)

When I installed electron@2.0.2 I tried reverting this symlink addition and found that it still worked, implying that this other issue was also introduced by electron@2.0.3.

Here is my complete log in case it helps to debug the error: https://hastebin.com/giqiwaxivu.txt

pineapplemachine commented Jun 29, 2018

Hi, I'm here because I hit this issue too trying to use electron for the first time. I'm was attempting to use electron@2.0.3 on OSX 10.9.5. I do not receive the error with electron@2.0.2.

dyld: Symbol not found: _CIDetectorTypeText
  Referenced from: /Users/pineapple/Dropbox/Projects/hyperlink/node_modules/electron/dist/Electron.app/Contents/MacOS/../Frameworks/Electron Framework.framework/Electron Framework
  Expected in: /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
 in /Users/pineapple/Dropbox/Projects/hyperlink/node_modules/electron/dist/Electron.app/Contents/MacOS/../Frameworks/Electron Framework.framework/Electron Framework

Before I got the above error, however, I also had this one:

dyld: Library not loaded: /System/Library/Frameworks/CoreBluetooth.framework/Versions/A/CoreBluetooth
  Referenced from: /Users/pineapple/Dropbox/Projects/hyperlink/node_modules/electron/dist/Electron.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework
  Reason: image not found

I solved the above, first error with electron@2.0.3 by entering sudo ln -s /System/Library/Frameworks/IOBluetooth.framework/Frameworks/CoreBluetooth.framework /System/Library/Frameworks/CoreBluetooth.framework on the command line (https://discussions.apple.com/thread/6508678)

When I installed electron@2.0.2 I tried reverting this symlink addition and found that it still worked, implying that this other issue was also introduced by electron@2.0.3.

Here is my complete log in case it helps to debug the error: https://hastebin.com/giqiwaxivu.txt

@jkleinsc

This comment has been minimized.

Show comment
Hide comment
@jkleinsc

jkleinsc Jul 3, 2018

Contributor

It turns out we used a different VM to build 2.0.3 vs the VM used to build 2.0.2 and earlier releases. 2.0.4 was released today using the same VM as 2.0.2, so this issue is resolved in 2.0.4

Contributor

jkleinsc commented Jul 3, 2018

It turns out we used a different VM to build 2.0.3 vs the VM used to build 2.0.2 and earlier releases. 2.0.4 was released today using the same VM as 2.0.2, so this issue is resolved in 2.0.4

@jkleinsc jkleinsc closed this Jul 3, 2018

@renatop7

This comment has been minimized.

Show comment
Hide comment
@renatop7

renatop7 Jul 4, 2018

@jkleinsc Nice! Thanks!
It's working now :)

renatop7 commented Jul 4, 2018

@jkleinsc Nice! Thanks!
It's working now :)

@benlancaster

This comment has been minimized.

Show comment
Hide comment
@benlancaster

benlancaster Sep 20, 2018

@jkleinsc I've just run in to this exact issue with a fork of Electron I maintain, can you tell me what the difference between the build VMs you mentioned is?

benlancaster commented Sep 20, 2018

@jkleinsc I've just run in to this exact issue with a fork of Electron I maintain, can you tell me what the difference between the build VMs you mentioned is?

@jkleinsc

This comment has been minimized.

Show comment
Hide comment
Contributor

jkleinsc commented Sep 20, 2018

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