Comments (3)
There are two issues with the pre-packaged Alpine OpenJDK:
- It uses 'execve' under certain circumstances which SGX-LKL currently does not support.
- It requires file-backed mmap support which (this version of ) SGX-LKL currently does not support.
You can get around the first issue by making sure the LD_LIBRARY_PATH starts with a specific prefix which the JVM checks against when deciding whether to rerun via execve. The second issue requires changes to SGX-LKL. Memory-mapping files is obviously not the best idea in a memory-restricted environment such as Intel SGX enclaves but it's possible to disable most of the memory-mapped I/O via runtime parameters. The remaining mappings still need to be supported by SGX-LKL.
Anyway, we actually do have a fix for both issues internally that allows SGX-LKL to run with the official Alpine OpenJDK8 JRE. It needs a bit of cleaning up but I will try to do that and push the change in the next few days.
from sgx-lkl.
Thank you!
from sgx-lkl.
With the most recent commit, SGX-LKL now supports the Alpine-packaged OpenJDK8 JRE. The HelloWorld example and the sgx-lkl-java
wrapper have been updated accordingly.
Two important notes on this:
- The LD_LIBRARY_PATH has to be set and has to start with
/usr/lib/jvm/java-1.8-openjdk/jre/lib/amd64/server:/usr/lib/jvm/java-1.8-openjdk/jre/lib/amd64:/usr/lib/jvm/java-1.8-openjdk/jre/../lib/amd64
in order to prevent the JVM from re-executingjava
viaexecve
. - File-mapped mmap has to be specifically enabled for SGX-LKL. This is necessary because the JVM will mmap a small portion of the runtime library
rt.jar
.
Both of these requirements are incorporated into the the sgx-lkl-java
tool.
from sgx-lkl.
Related Issues (20)
- [Test] Enable back 5 tests failing with ethreads=1 after bugs fixed HOT 1
- [Test] LTP test is not reported failed if binary is not built successfully HOT 2
- [Test] Build only enabled LTP tests
- [Test] Fix LTP tests for sync_file_range02 and fdatasync03 HOT 1
- Dead code in sgx-lkl-musl HOT 3
- Linux kernel version 5.3 is no longer being updated with functional and security patches
- Feature: multi party attestation HOT 2
- Fix broken samples HOT 2
- A futex wait interrupted by a signal returns the wrong errno value (516 vs EINTR)
- branch cleanup-musl deleted ? HOT 2
- Benchmarking file system operations in the enclave; caching ? HOT 1
- problem with redis
- helloworld sample case failed in SGX1
- Unable to use JVM (openjdk-15) inside enclave
- Disk integrity protection status
- ERROR: Failed to map /geth: Resource busy
- helloworld fails on SGX2
- SGX driver used by OpenEnclave is not supported by the latest Ubuntu 18.04 (kernel version 5.4.0)
- Specify the Maximum Heap Size in Enclave HOT 1
- ERROR: Failed to map /foo: Resource busy
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sgx-lkl.