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)