You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "Sam Whittle (Jira)" <ji...@apache.org> on 2022/03/24 14:04:00 UTC

[jira] [Updated] (BEAM-14167) Jamm exceptions "JVM prevents jamm from accessing subgraph - cache sizes may be underestimated"

     [ https://issues.apache.org/jira/browse/BEAM-14167?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sam Whittle updated BEAM-14167:
-------------------------------
    Labels: Java11  (was: )

> Jamm exceptions "JVM prevents jamm from accessing subgraph - cache sizes may be underestimated"
> -----------------------------------------------------------------------------------------------
>
>                 Key: BEAM-14167
>                 URL: https://issues.apache.org/jira/browse/BEAM-14167
>             Project: Beam
>          Issue Type: Bug
>          Components: sdk-java-core
>            Reporter: Sam Whittle
>            Assignee: Luke Cwik
>            Priority: P2
>              Labels: Java11
>
> Can we fix these somehow? At a minimum we should catch them when weighing and not cache the state.
> "java.lang.RuntimeException: java.lang.RuntimeException: java.lang.reflect.InaccessibleObjectException: Unable to make field private final byte[] java.lang.String.value accessible: module java.base does not "opens java.lang" to unnamed module @39529185
> 	at org.github.jamm.MemoryMeterBase.measureDeep(MemoryMeterBase.java:129)
> 	at org.apache.beam.fn.harness.Caches.weigh(Caches.java:64)
> 	at org.apache.beam.fn.harness.Caches.findWeight(Caches.java:202)
> 	at org.apache.beam.fn.harness.Caches.access$600(Caches.java:46)
> 	at org.apache.beam.fn.harness.Caches$CompositeKey.<init>(Caches.java:363)
> 	at org.apache.beam.fn.harness.Caches$CompositeKey.<init>(Caches.java:355)
> 	at org.apache.beam.fn.harness.Caches$CompositeKeyPrefix.valueKey(Caches.java:323)
> 	at org.apache.beam.fn.harness.Caches$SubCache.computeIfAbsent(Caches.java:259)
> 	at org.apache.beam.fn.harness.FnHarness$1.apply(FnHarness.java:259)
> 	at org.apache.beam.fn.harness.FnHarness$1.apply(FnHarness.java:252)
> 	at org.apache.beam.fn.harness.control.ProcessBundleHandler.createBundleProcessor(ProcessBundleHandler.java:700)
> 	at org.apache.beam.fn.harness.control.ProcessBundleHandler.lambda$processBundle$0(ProcessBundleHandler.java:490)
> 	at org.apache.beam.fn.harness.control.ProcessBundleHandler$BundleProcessorCache.get(ProcessBundleHandler.java:895)
> 	at org.apache.beam.fn.harness.control.ProcessBundleHandler.processBundle(ProcessBundleHandler.java:486)
> 	at org.apache.beam.fn.harness.control.BeamFnControlClient.delegateOnInstructionRequestType(BeamFnControlClient.java:151)
> 	at org.apache.beam.fn.harness.control.BeamFnControlClient$InboundObserver.lambda$onNext$0(BeamFnControlClient.java:116)
> 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
> 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> 	at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.RuntimeException: java.lang.reflect.InaccessibleObjectException: Unable to make field private final byte[] java.lang.String.value accessible: module java.base does not "opens java.lang" to unnamed module @39529185
> 	at org.github.jamm.MemoryMeterBase.declaredClassFields0(MemoryMeterBase.java:246)
> 	at org.github.jamm.MemoryMeterBase.access$000(MemoryMeterBase.java:15)
> 	at org.github.jamm.MemoryMeterBase$1.computeValue(MemoryMeterBase.java:24)
> 	at org.github.jamm.MemoryMeterBase$1.computeValue(MemoryMeterBase.java:20)
> 	at java.base/java.lang.ClassValue.getFromHashMap(ClassValue.java:228)
> 	at java.base/java.lang.ClassValue.getFromBackup(ClassValue.java:210)
> 	at java.base/java.lang.ClassValue.get(ClassValue.java:116)
> 	at org.github.jamm.MemoryMeterBase.declaredClassFields(MemoryMeterBase.java:219)
> 	at org.github.jamm.MemoryMeterBase.measureDeep(MemoryMeterBase.java:119)
> 	... 18 more
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field private final byte[] java.lang.String.value accessible: module java.base does not "opens java.lang" to unnamed module @39529185
> 	at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
> 	at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> 	at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
> 	at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
> 	at org.github.jamm.MemoryMeterBase.declaredClassFields0(MemoryMeterBase.java:241)
> 	... 26 more
> "



--
This message was sent by Atlassian Jira
(v8.20.1#820001)