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

Mac error: failed to execvp: subprocess EH.app [SOLVED by disabling plugins] #242

Closed
mmolero opened this issue Jul 7, 2016 · 6 comments
Closed
Milestone

Comments

@mmolero
Copy link

mmolero commented Jul 7, 2016

You can find an example using CEFPython and PySide for Linux, Windows, and OSX: https://gist.github.com/mmolero/c3db18390aa71bb6b3cdcb9822483032

Now it works well on Linux, Ubuntu 14.04 64 Bits (CEFPython 51) and Windows 10 64 Bits (CEFPython 31.2). However it does not work on OSX, 10.11 El Capitan (CEFPython 31.2) yet.

Do you know why? Any Idea
Thanks!!!

@mmolero
Copy link
Author

mmolero commented Jul 7, 2016

No I did not test the wxpython example yet, only the pyside example shown in the gist

In Windows and Linux work perfectly but in OSX the following error appears:

2016-07-07 15:00:00.789 python[2555:502512] Internals of CFAllocator not known; out-of-memory failures via CFAllocator will not result in termination. http://crbug.com/45650
2016-07-07 15:00:00.991 subprocess[2558:502690] Internals of CFAllocator not known; out-of-memory failures via CFAllocator will not result in termination. http://crbug.com/45650
2016-07-07 15:00:03.760 subprocess[2559:503084] Internals of CFAllocator not known; out-of-memory failures via CFAllocator will not result in termination. http://crbug.com/45650
LaunchProcess: failed to execvp:
/anaconda/lib/subprocess EH.app/Contents/MacOS/subprocess EH
LaunchProcess: failed to execvp:
/anaconda/lib/subprocess EH.app/Contents/MacOS/subprocess EH
LaunchProcess: failed to execvp:
/anaconda/lib/subprocess EH.app/Contents/MacOS/subprocess EH

The resulting window is:

screen shot 2016-07-07 at 15 44 55

Although the window appears, it is not able to show all the web content. Also it has the issue concerning the resizing.

@cztomczak
Copy link
Owner

cztomczak commented Jul 7, 2016

Looks like the structure of dirs/files might have something to do with the issue. In cefpython on Mac we didn't use the official structuring from CEF. In cefclient the subprocess executable is named "cefclient Helper" and there are three kinds of it in the "cefclient.app/Contents/Frameworks" directory:

  • cefclient Helper.app
  • cefclient Helper EH.app
  • cefclient Helper NP.app

This is the same executable, but duplicated in two different directories with the "EH" and "NP" postsfixes - I'm not sure what these are supposed to mean. In cefpython there is only one helper - the subproces executable. But the error and its path "/anaconda/lib/subprocess EH.app" suggests that the subprocess expects the .app folder structure. It expects that the helper app has such structure:

cefclient Helper EH.app/Contents/MacOS

But instead the helper is here:

/anaconda/lib/python2.7/site-packages/cefpython3/subprocess

So it does "../../../" to go out of the "cefclient Helper EH.app/", but as we don't follow the official app structure, it ends up doing:

/anaconda/lib/python2.7/site-packages/cefpython3/../../../ cefclient Helper EH.app/...

which becomes:

/anaconda/lib/cefclient Helper EH.app/...
/anaconda/lib/subprocess EH.app/ - error from the logs

To resolve the issue it needs to be investigated why it looks for these helpers: ".. EH.app" and ".. NP.app". During my testing on Mac I've never had this issue, it always used only the default subprocess executable. What do the EH and NP names mean? It has some meaning for sure. Maybe this could be fixed by providing some flag/setting, so that it uses the default helper app.

@cztomczak
Copy link
Owner

cztomczak commented Jul 7, 2016

Found this: https://bugs.chromium.org/p/chromium/issues/detail?id=520680

Google Chrome Helper EH.app is the "executable helper" which is only used by NPAPI.

What if you disable all plugins? Then it shouldn't use this EH helper. You can disable plugins with the BrowserSettings.*plugins_disabled option: https://github.com/cztomczak/cefpython/blob/master/api/BrowserSettings.md#plugins_disabled

@cztomczak cztomczak changed the title CEFPython 31.2 does not work on OSX with PySide Failed to execvp: subprocess EH.app/Contents/MacOS/subprocess EH Jul 7, 2016
@cztomczak cztomczak added the bug label Jul 7, 2016
@cztomczak cztomczak changed the title Failed to execvp: subprocess EH.app/Contents/MacOS/subprocess EH LaunchProcess: failed to execvp: subprocess EH.app/Contents/MacOS/subprocess EH Jul 7, 2016
@cztomczak
Copy link
Owner

Looks like this will no more be an issue with newer CEF 51+:

On OS X, there are currently Google Chrome Helper EH.app and
Google Chrome Helper NP.app, which are no longer used with the deprecation
of NPAPI. This changes removes the helpers, both from the build process,
and any code referring to them.

@cztomczak cztomczak changed the title LaunchProcess: failed to execvp: subprocess EH.app/Contents/MacOS/subprocess EH LaunchProcess: failed to execvp: subprocess EH.app/Contents/MacOS/subprocess EH [SOLUTION: disable plugins] Jul 7, 2016
@cztomczak cztomczak changed the title LaunchProcess: failed to execvp: subprocess EH.app/Contents/MacOS/subprocess EH [SOLUTION: disable plugins] LaunchProcess: failed to execvp: subprocess EH.app/... [SOLUTION: disable plugins] Jul 7, 2016
@cztomczak cztomczak changed the title LaunchProcess: failed to execvp: subprocess EH.app/... [SOLUTION: disable plugins] Mac & plugins error: failed to execvp: subprocess EH.app [SOLUTION: disable plugins] Jul 7, 2016
@cztomczak cztomczak changed the title Mac & plugins error: failed to execvp: subprocess EH.app [SOLUTION: disable plugins] Mac error: failed to execvp: subprocess EH.app [SOLVED by disabling plugins] Jul 7, 2016
@kennytm
Copy link

kennytm commented Jul 25, 2016

For now, if you must use plugins, you may workaround by symlinking python2.7/site-packages/cefpython3/subprocess to subprocess EH.app/Contents/MacOS/subprocess EH.

@cztomczak
Copy link
Owner

As explained earlier new CEF doesn't use "EH" helpers, thus the issue does not occur anymore. v56 for Mac will be released today. Closing. If you want to enable Flash in new CEF see Issue #235.

@cztomczak cztomczak added this to the v56 milestone Mar 3, 2017
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

3 participants