Prisma Cloud Compute: "java.nio.ByteBuffer module failed for Serverless Defender running on Java 21 runtime"

Prisma Cloud Compute: "java.nio.ByteBuffer module failed for Serverless Defender running on Java 21 runtime"

96
Created On 08/27/25 18:45 PM - Last Modified 12/31/25 20:27 PM


Symptom


Function fails when defender layer is added with the following error:

{
  "errorMessage": "Unable to make field final byte[] java.nio.ByteBuffer.hb accessible: module java.base does not \"opens java.nio\" to unnamed module @5ebec15",
  "errorType": "java.lang.reflect.InaccessibleObjectException",
  "stackTrace": [
    "java.base/java.lang.reflect.AccessibleObject.throwInaccessibleObjectException(Unknown Source)",
    "java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(Unknown Source)",
    "java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(Unknown Source)",
    "java.base/java.lang.reflect.Field.checkCanSetAccessible(Unknown Source)",
    "java.base/java.lang.reflect.Field.setAccessible(Unknown Source)",
    "com.google.gson.internal.reflect.UnsafeReflectionAccessor.makeAccessible(UnsafeReflectionAccessor.java:44)",
    "com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:159)",
    "com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:102)",
    "com.google.gson.Gson.getAdapter(Gson.java:489)",
    "com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:117)",
    "com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:166)",
    "com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:102)",
    "com.google.gson.Gson.getAdapter(Gson.java:489)",
    "com.google.gson.internal.bind.MapTypeAdapterFactory.create(MapTypeAdapterFactory.java:126)",
    "com.google.gson.Gson.getAdapter(Gson.java:489)",
    "com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:117)",
    "com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:166)",
    "com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:102)",
    "com.google.gson.Gson.getAdapter(Gson.java:489)",
    "com.google.gson.internal.bind.CollectionTypeAdapterFactory.create(CollectionTypeAdapterFactory.java:53)",
    "com.google.gson.Gson.getAdapter(Gson.java:489)",
    "com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:117)",
    "com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:166)",
    "com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:102)",
    "com.google.gson.Gson.getAdapter(Gson.java:489)",
    "com.google.gson.Gson.toJson(Gson.java:727)",
    "com.google.gson.Gson.toJsonTree(Gson.java:628)",
    "com.google.gson.Gson.toJsonTree(Gson.java:607)",
    "com.twistlock.serverless.Twistlock.Handler(Twistlock.java:43)",
    "org.example.Handler.protectedHandler(Handler.java:21)",
    "java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source)",
    "java.base/java.lang.reflect.Method.invoke(Unknown Source)"
  ]
}


Environment


  • Lambda function running on Java 21 runtime.
  • Prisma Cloud Compute
  • Prisma Cloud Enterprise Edition


Cause


  • Defender attempting to use reflection on the java.nio.ByteBuffer module.
  • This is blocked by Java 21 runtime.


Resolution


Add environment variable JAVA_TOOL_OPTIONS with value --add-opens=java.base/java.nio=ALL-UNNAMED



Actions
  • Print
  • Copy Link

    https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA1Ki000000kADRKA2&lang=en_US&refURL=http%3A%2F%2Fknowledgebase.paloaltonetworks.com%2FKCSArticleDetail