[
https://issues.apache.org/jira/browse/DERBY-176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12538116
]
Kathey Marsden commented on DERBY-176:
--------------------------------------
I received a request to backport this change to 10.1. I will be looking at
doing so incrementally so their are multiple checkins to 10.1 rather than one
big change. Please let me know if you have any concerns.
> Derby throws ERROR XBCM1: Java linkage error thrown during load of generated
> class org.apache.derby.exe.aced07c066x0102xca87x3319x00004aa5686e1 during
> execution of large query
> -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-176
> URL: https://issues.apache.org/jira/browse/DERBY-176
> Project: Derby
> Issue Type: Bug
> Components: SQL
> Affects Versions: 10.0.2.0, 10.0.2.1, 10.0.2.2, 10.1.1.0
> Reporter: Kathey Marsden
> Assignee: Daniel John Debrunner
> Fix For: 10.2.1.6, 10.3.1.4
>
> Attachments: largeCodeGen.java
>
>
> When executing a large query or oather large operations, Derby throws a java
> linkage exception.
> This is because the generated byte code exceeds the JVM limits for method
> sizes constant pool entries etc, the amount of code in a conditional etc.
> The attached repro demonstrates the problem but the problem can also occur
> for other operations that generate lots of byte code. The repro is just a
> new functional test,
> so should be copied to derbyTesting/functionTests/lang/largeCodeGen.java and
> run like
> java -Djvmflags=-Xmx512M org.apache.derbyTesting.harness.RunTest
> lang/largeCodeGen
> When this problem is fixed additional scenarios should be added to this test.
> ERROR XBCM1: Java linkage error thrown during load of
> generated class org.apache.derby.exe.aced07c066x0102xca87x3319x00004aa5686e1.
> at
> org.apache.derby.iapi.error.StandardException.newException(StandardException.java:315)
> at
> org.apache.derby.impl.services.reflect.DatabaseClasses.loadGeneratedClass(DatabaseClasses.java:162)
> at
> org.apache.derby.impl.services.bytecode.GClass.getGeneratedClass(GClass.java:59)
> at
> org.apache.derby.impl.sql.compile.ExpressionClassBuilder.getGeneratedClass(ExpressionClassBuilder.java:920)
> at
> org.apache.derby.impl.sql.compile.StatementNode.generate(StatementNode.java:270)
> at
> org.apache.derby.impl.sql.GenericStatement.prepMinion(GenericStatement.java:432)
> at
> org.apache.derby.impl.sql.GenericStatement.prepare(GenericStatement.java:107)
> at
> org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(GenericLanguageConnectionContext.java:688)
> at
> org.apache.derby.impl.jdbc.EmbedPreparedStatement.<init>(EmbedPreparedStatement.java:118)
> at
> org.apache.derby.impl.jdbc.EmbedPreparedStatement20.<init>(EmbedPreparedStatement20.java:82)
> at
> org.apache.derby.impl.jdbc.EmbedPreparedStatement30.<init>(EmbedPreparedStatement30.java:62)
> at
> org.apache.derby.jdbc.Driver30.newEmbedPreparedStatement(Driver30.java:92)
> at
> org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(EmbedConnection.java:675)
> at
> org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(EmbedConnection.java:519)
> at
> org.apache.derbyTesting.functionTests.tests.lang.largeCodeGen.main(largeCodeGen.java:86)
> Exception in thread "main"
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.