The call to CefApp.getInstance(CefSettings) gives me this:
- Code: Select all
java.lang.UnsatisfiedLinkError: C:\Daten\develop\id-gui\src\main\resources\lib\chrome_elf.dll: Access is denied
at java.lang.ClassLoader$NativeLibrary.load(Native Method) ~[na:1.8.0_162]
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941) ~[na:1.8.0_162]
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1857) ~[na:1.8.0_162]
at java.lang.Runtime.loadLibrary0(Runtime.java:870) ~[na:1.8.0_162]
at java.lang.System.loadLibrary(System.java:1122) ~[na:1.8.0_162]
at org.cef.SystemBootstrap$1.loadLibrary(SystemBootstrap.java:24) ~[jcef-1.0.jar:na]
at org.cef.SystemBootstrap.loadLibrary(SystemBootstrap.java:36) ~[jcef-1.0.jar:na]
at org.cef.CefApp.<init>(CefApp.java:145) ~[jcef-1.0.jar:na]
at org.cef.CefApp.getInstance(CefApp.java:221) ~[jcef-1.0.jar:na]
at org.cef.CefApp.getInstance(CefApp.java:208) ~[jcef-1.0.jar:na]
at com.rolotec.vega.block.jcef.JavaCef.initialize(JavaCef.java:38) ~[classes/:na]
The file exists. It was freshly created by a git checkout, so it should be readable (even writable).
I know that DLLs can have dependencies and the real problem may be in a depended-on dll; I am assuming that these all live in the same directory as chrome_cef.dll or in the swiftshader subdirectoy.
The files are not in a temporary directory.
I checked that all .dll files are renameable (not the .pak files though).
I don't see any error messages from the virus scanner (I just ran a test on the dll directory and all subdirectories).
The virus scanner does not report any problems with any of the files in the directory and subdirectories.
I'm out of ideas what might be causing this; what should I check next?
I'd like to exclude that it's a depended-on dll; how do I find out what dll load action is actually failing here?
Regards,
Jo
SOLUTION: The .dlls lost they executable permission because they went through a git repository, and the permission bits were lost in the commit that added them.