[ https://issues.apache.org/jira/browse/CALCITE-4492?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17282599#comment-17282599 ]
Ruben Q L commented on CALCITE-4492: ------------------------------------ Not sure [~julianhyde], but maybe WebSphere is to blame here. WebSphere environment in this test was: {noformat} WebSphere Platform 9.0.0.1 ... [JAVA8 8.0.3.11] {noformat} I have found several issues on IBM involving {{IllegalAccessException}} around {{java.lang.invoke.MethodHandles$Lookup.checkAccess}} Particularly this one seems very, very similar at stack trace level: https://www.ibm.com/support/pages/apar/IV96259 According to IBM's ticket, this got fixed on 8.0.4.10, so maybe a WebSphere update is just the solution, and there is no issue on Calcite side. I'll try to confirm this point. > ExceptionInInitializerError caused by ImmutableBeans > ---------------------------------------------------- > > Key: CALCITE-4492 > URL: https://issues.apache.org/jira/browse/CALCITE-4492 > Project: Calcite > Issue Type: Bug > Components: core > Affects Versions: 1.26.0 > Reporter: Ruben Q L > Priority: Major > > While testing an application that uses Calcite, the following error is > observed at start-up on a Websphere9 environment (IBM J9 VM, Java8, Ubuntu): > {noformat} > Caused by: java.lang.ExceptionInInitializerError > at java.lang.J9VMInternals.ensureError(J9VMInternals.java:141) > at > java.lang.J9VMInternals.recordInitializationFailure(J9VMInternals.java:130) > ... > Caused by: java.lang.RuntimeException: while binding method public default > java.lang.Object > com.onwbp.org.apache.calcite.plan.RelRule$Config.as(java.lang.Class) > at > com.onwbp.org.apache.calcite.util.ImmutableBeans.makeDef(ImmutableBeans.java:285) > at > com.onwbp.org.apache.calcite.util.ImmutableBeans.access$000(ImmutableBeans.java:51) > at > com.onwbp.org.apache.calcite.util.ImmutableBeans$1.load(ImmutableBeans.java:64) > at > com.onwbp.org.apache.calcite.util.ImmutableBeans$1.load(ImmutableBeans.java:61) > at > com.onwbp.com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3529) > at > com.onwbp.com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2278) > at > com.onwbp.com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2155) > at > com.onwbp.com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2045) > at com.onwbp.com.google.common.cache.LocalCache.get(LocalCache.java:3951) > at > com.onwbp.com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3974) > at > com.onwbp.com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4958) > at > com.onwbp.org.apache.calcite.util.ImmutableBeans.create_(ImmutableBeans.java:91) > at > com.onwbp.org.apache.calcite.util.ImmutableBeans.create(ImmutableBeans.java:72) > at > com.onwbp.org.apache.calcite.plan.RelRule$Config.<clinit>(RelRule.java:121) > <Break in method call trace.> > ... 73 more > Caused by: java.lang.IllegalAccessException: > 'com.onwbp.org.apache.calcite.plan.RelRule$Config' no access to: > 'com.onwbp.org.apache.calcite.plan.RelRule$Config.as:(Config,Class)Object/invokeSpecial' > at > java.lang.invoke.MethodHandles$Lookup.checkAccess(MethodHandles.java:333) > at > java.lang.invoke.MethodHandles$Lookup.unreflectSpecial(MethodHandles.java:970) > at > com.onwbp.org.apache.calcite.util.ImmutableBeans.makeDef(ImmutableBeans.java:283) > ... 86 more > {noformat} > It would seem there is an issue around > {{org.apache.calcite.util.ImmutableBeans}} and the reflection mechanisms that > it uses, in the context of {{RelRule#Config}} (and specifically the default > method {{RelRule$Config.as}}). > Googling a bit, I found the following Flink ticket FLINK-19820, which has a > very similar exception message. In that case it was seen with Java9 in a > Debian environment, and the problem is also around {{ImmutableBeans}} in > {{RelBuilder#Config}}, and again the issue seems generated by a default > method ({{RelBuilder$Config.toBuilder}}). > The Flink ticket was closed as "Won't Fix" just because Flink does not > support Java9 (and apparently the issue did not occur with the > Flink-supported Java versions), but the underlying Calcite problem was never > tackled (and Calcite is supposed to work on Java9). -- This message was sent by Atlassian Jira (v8.3.4#803005)