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

Only black screen now #13

Closed
ensonic opened this issue Jun 9, 2018 · 8 comments
Closed

Only black screen now #13

ensonic opened this issue Jun 9, 2018 · 8 comments

Comments

@ensonic
Copy link
Contributor

ensonic commented Jun 9, 2018

I am now just getting a black window on linux, I am not sure where the messages come from, they are not in the pandomium sources. Any idea?

[17:18:15.903][AWT-EventQueue-1/INFO ] Initialize on Thread[AWT-EventQueue-1,6,main] with library path /home/ensonic/projects/lego/gsoc/pandomium-example/native
LaunchProcess: failed to execvp:
/home/ensonic/projects/lego/gsoc/pandomium-example/native/jcef_helper
LaunchProcess: failed to execvp:
/home/ensonic/projects/lego/gsoc/pandomium-example/native/jcef_helper
LaunchProcess: failed to execvp:
/home/ensonic/projects/lego/gsoc/pandomium-example/native/jcef_helper
LaunchProcess: failed to execvp:
/home/ensonic/projects/lego/gsoc/pandomium-example/native/jcef_helper
LaunchProcess: failed to execvp:
/home/ensonic/projects/lego/gsoc/pandomium-example/native/jcef_helper
LaunchProcess: failed to execvp:
/home/ensonic/projects/lego/gsoc/pandomium-example/native/jcef_helper
LaunchProcess: failed to execvp:
/home/ensonic/projects/lego/gsoc/pandomium-example/native/jcef_helper
[0609/171816.867395:ERROR:browser_gpu_channel_host_factory.cc(103)] Failed to launch GPU process.
@dzikoysk
Copy link
Owner

dzikoysk commented Jun 9, 2018

Honestly, I don't know. It looks like jcef/cef bug on Linux. Failed to launch GPU process is the result of LaunchProcess: failed to execvp. I can't find anything useful, releated to this case:

Could you try to launch cefpython? I'm asking, because: firstly, we don't know that it is a cef, older cef or jcef problem, and secondly, maybe it's time to focus on CefStream.
I'm aware of the inconvenience of JCEF project. Integration with much more popular project like cefpython could be really helpful.

@dzikoysk dzikoysk added the bug label Jun 9, 2018
@ensonic
Copy link
Contributor Author

ensonic commented Jun 12, 2018

Did you made a change to write a log file?

When I strace the invocation, I get:

133708 execve("/home/ensonic/projects/lego/gsoc/pandomium-example/native/jcef_helper", ["/home/ensonic/projects/lego/gsoc/pandomium-example/native/jcef_helper", "--type=gpu-process", "--no-sandbox", "--lang=en-US", "--locales-dir-path=/home/ensonic/projects/lego/gsoc/pandomium-example/native/locales", "--log-file=/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/debug.log", "--resources-dir-path=/home/ensonic/projects/lego/gsoc/pandomium-example/native", "--use-gl=swiftshader-webgl", "--supports-dual-gpus=false", "--gpu-driver-bug-workarounds=1,7,16,24,63,76", "--disable-gl-extensions=GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent", "--disable-webrtc-hw-encoding", "--gpu-vendor-id=0x8086", "--gpu-device-id=0x0166", "--gpu-driver-vendor=Google Inc.", "--gpu-driver-version=3.3.0.2", "--gpu-driver-date=2017/04/07", "--lang=en-US", "--locales-dir-path=/home/ensonic/projects/lego/gsoc/pandomium-example/native/locales", "--log-file=/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/debug.log", "--resources-dir-path=/home/ensonic/projects/lego/gsoc/pandomium-example/native", "--service-request-channel-token=E0D239198F3EA0AC690C3746E2F581DA"], 0x7f3f0437a940 /* 71 vars */) = -1 EACCES (Permission denied)

Main issue seems to be "--log-file=/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/debug.log" and thats hard to workaround. This is still the issues, that chrome sees to switch the cwd to the one from java :/ (see problems in #11 (comment))

It seems that the setting can be changed in:
https://github.com/dzikoysk/Pandomium/blob/master/pandomium/src/main/java/org/cef/CefSettings.java#L71
but I am not sure how to change those. Do you have any ideas?

@dzikoysk
Copy link
Owner

dzikoysk commented Jun 12, 2018

Original source:

CefSettings usage (this should be moved to PandomiumSettings):
https://github.com/dzikoysk/Pandomium/blob/5f294c24812bb44f50e54d2b9bb5ad4321e2fc31/pandomium/src/main/java/org/panda_lang/pandomium/wrapper/PandomiumThread.java#L35

Is it still not working if you launch application with sudo? Anyway, CefOverridePath could be helpful, but I can't find implementation of that in JCEF :/

@ensonic
Copy link
Contributor Author

ensonic commented Jun 13, 2018

it will probably work if I run with sudo, I'll later just termporarily change ownership of that directory to test.

@ensonic
Copy link
Contributor Author

ensonic commented Jun 13, 2018

I think there are more problems, will start asking on some cef related forum. I have temporarily chowned myself the jre dir (would be nice to find a fix for this still) and run it. strace reports a bunch of

SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_ACCERR

Also sudo does not help.

@ensonic
Copy link
Contributor Author

ensonic commented Jun 13, 2018

Args. When you download some of the file, this one was not executable. I'll check the code where it needs to be made executable.

chmod a+x /home/ensonic/projects/lego/gsoc/pandomium-example/native/jcef_helper

@ensonic
Copy link
Contributor Author

ensonic commented Jun 21, 2018

The helper path is resolved here:
https://github.com/dzikoysk/Pandomium/blob/master/pandomium/src/main/java/org/cef/CefApp.java#L356
but that does not look like the best place to make the helper executable. What about this
https://github.com/dzikoysk/Pandomium/blob/master/pandomium/src/main/java/org/panda_lang/pandomium/loader/PandomiumNativeLoader.java#L71
I could also add a branch for MacOS. I'd use java.io.File.setExecutable(). If you agree I'll send a PR.

@dzikoysk
Copy link
Owner

Feel free to contribute. I don't have macOS, so I'm not even able to build natives for this system.

ensonic added a commit to ensonic/Pandomium that referenced this issue Jun 23, 2018
If not we only get a black screen and a "LaunchProcess: failed to execvp:".
Fixes dzikoysk#13
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