Replies: 4 comments 10 replies
-
Hi @paul-jubo, thanks for the question! OpenJDK requires memfault handling, so you'll need to set
The shown log was due to that when EXINFO feature was disabled, the #PF hardware exception was considered invalid/unsupported (in SSA EXINFO) while an unexpected SW signal was actually generated (pls see below for details: gramine/pal/src/host/linux-sgx/pal_exception.c Lines 245 to 292 in 5d38bb1 |
Beta Was this translation helpful? Give feedback.
-
@paul-jubo Yes, as @kailun-qin explained. I just wanted to add that this is a breaking change in the new release of Gramine v1.6. See here: https://github.com/gramineproject/gramine/releases/tag/v1.6. We had to do this change because there was a potential vulnerability otherwise, and old SGX hardware (without the EXINFO feature) simply cannot cope with that potential vulnerability. |
Beta Was this translation helpful? Give feedback.
-
@dimakuv thanks a lot for the additional info. Does anyone know whether I am correct to assume that the EXINFO support would usually be something that can be activated in the BIOS? Or is it definitely not supported by the hardware when |
Beta Was this translation helpful? Give feedback.
-
Still working on it, it might be associated to an old kernel version of the host system. From my point of view, this discussion helped a lot and resolved my original problem. It was definitely the case that SGX2 was not available to the application, albeit the hardware supports it. We can either close this discussion or I can give you an update on why SGX2 capabilities were not passed on to the application (as soon as I find out). |
Beta Was this translation helpful? Give feedback.
-
I am trying to run a java helloworld application on an SGX worker node in a kubernetes cluster.
The container image extends the prebuilt image docker.io/gramineproject/gramine.
When running the app with "gramine-sgx", I get the following error:
When I run gramine-direct instead of gramine-sgx, a memory fault is stated in the output, exactly where gramine-sgx had failed, but then the app keeps running and successfully prints the helloworld message:
I would deduce from that, that the memory fault is also happening in the case of gramine-sgx and that this is the root cause for the error. I double-checked that I can successfully execute the java app without gramine. I also made sure that the java compilation as well as the gramine signing is executed on the target worker node in order to exclude any possible disturbances in terms of CPU architecture.
Does anyone have an idea why this memory fault is happening? I appended the manifest file for reference. I am aware that the enclave size of 1GB might be a bit small but I have varied it and went up until 4GB and the error persists. Any thoughts highly appreciated!
manifest.txt
Beta Was this translation helpful? Give feedback.
All reactions