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:00:00 UTC
[jira] [Comment Edited] (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:comment-tabpanel&focusedCommentId=17511869#comment-17511869 ]
Sam Whittle edited comment on BEAM-14167 at 3/24/22, 1:59 PM:
--------------------------------------------------------------
From https://stackoverflow.com/questions/41265266/how-to-solve-inaccessibleobjectexception-unable-to-make-member-accessible-m it appears that this was introduced in Java 9, so that could explain why I haven't seen it before since I normally run Java 8 pipelines.
There is also a potential fix there by adding flags to the JVM.
was (Author: scwhittle):
From https://stackoverflow.com/questions/41265266/how-to-solve-inaccessibleobjectexception-unable-to-make-member-accessible-m it appears that this was introduced in Java 9, so that could explain why I haven't seen it before since I normally run Java 8 pipelines.
> 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
>
> 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)