db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Knut Anders Hatlen (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-4142) java.lang.VerifyError causing java.sql.SQLException: Cannot create an instance of generated class ... in lang.GeneratedColumnsTest and GeneratedColumnsPermsTest on IBM iseries
Date Wed, 10 Jun 2009 06:51:08 GMT

    [ https://issues.apache.org/jira/browse/DERBY-4142?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12717948#action_12717948
] 

Knut Anders Hatlen commented on DERBY-4142:
-------------------------------------------

I think I would feel more comfortable with one of the solutions that
avoided the cast. I agree with Mamta that the cast is safe, but making
the signatures say explicitly that the method always returns an ExecRow
sounds cleaner. Then we also get a compile-time check of the assumption,
instead of just a run-time check as we get with the cast.

Although the simplest way to fix it is to change the field to type Row
(should be safe because it is only used to call Row.setColumn()), I
think it would also make sense to change the return type of
Activation.getCurrentRow() to ExecRow. That would make it consistent
with Activation.setCurrentRow() which already is declared to take an
ExecRow, and make it clear that the returned value is always an ExecRow.


> java.lang.VerifyError causing java.sql.SQLException: Cannot create an instance of generated
class ... in lang.GeneratedColumnsTest and GeneratedColumnsPermsTest  on IBM iseries
> --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-4142
>                 URL: https://issues.apache.org/jira/browse/DERBY-4142
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.5.1.1
>         Environment: IBM iseries (AS 400) with ibm 1.5 (build 1.5.0_13-b05)
>            Reporter: Myrna van Lunteren
>            Assignee: Myrna van Lunteren
>         Attachments: create.sql, d4142generated.java, decompile.out, DERBY-4142.diff,
derby.properties, repro.sql, runjodedecompile.out, verify.out
>
>
> This results in 22 errors.
> Here's the stack trace with an insane build:
> 1) test_005_basicInsert(org.apache.derbyTesting.functionTests.tests.lang.GeneratedColumnsTest)java.sql.SQLException:
Cannot create an instance of generated class org.apache.derby.exe.acd83d18d1x0120x62bdx2dffxffffb19003081.
> 	at java.lang.Throwable.<init>(Throwable.java:196)
> 	at java.lang.Exception.<init>(Exception.java:41)
> 	at java.sql.SQLException.<init>(SQLException.java:40)
> 	at org.apache.derby.impl.jdbc.EmbedSQLException.<init>(Unknown Source)
> 	at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.Util.seeNextException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedPreparedStatement.<init>(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedPreparedStatement20.<init>(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedPreparedStatement30.<init>(Unknown Source)
> 	at org.apache.derby.jdbc.Driver30.newEmbedPreparedStatement(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source)
> 	at org.apache.derbyTesting.functionTests.tests.lang.GeneratedColumnsHelper.chattyPrepare(GeneratedColumnsHelper.java:147)
> 	at org.apache.derbyTesting.functionTests.tests.lang.GeneratedColumnsHelper.goodStatement(GeneratedColumnsHelper.java:125)
> 	at org.apache.derbyTesting.functionTests.tests.lang.GeneratedColumnsTest.test_005_basicInsert(GeneratedColumnsTest.java:427)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:105)
> 	at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
> 	at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
> 	at junit.extensions.TestSetup.run(TestSetup.java:23)
> 	at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
> 	at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
> 	at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
> 	at junit.extensions.TestSetup.run(TestSetup.java:23)
> Caused by: java.sql.SQLException: Java exception: 'org/apache/derby/exe/acd83d18d1x0120x62bdx2dffxffffb19003081
0000 0000 : java.lang.VerifyError'.
> 	at java.lang.Throwable.<init>(Throwable.java:196)
> 	at java.lang.Exception.<init>(Exception.java:41)
> 	at java.sql.SQLException.<init>(SQLException.java:40)
> 	at org.apache.derby.impl.jdbc.EmbedSQLException.<init>(Unknown Source)
> 	at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.Util.javaException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source)
> 	... 43 more
> Caused by: java.lang.VerifyError: org/apache/derby/exe/acd83d18d1x0120x62bdx2dffxffffb19003081
0000 0000 
> 	at java.lang.Throwable.<init>(Throwable.java:196)
> 	at java.lang.Error.<init>(Error.java:49)
> 	at java.lang.VerifyError.<init>(VerifyError.java:34)
> 	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> 	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> 	at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
> 	at org.apache.derby.iapi.services.loader.ClassInfo.getNewInstance(Unknown Source)
> 	at org.apache.derby.impl.services.reflect.LoadedGeneratedClass.newInstance(Unknown Source)
> 	at org.apache.derby.impl.services.reflect.ReflectGeneratedClass.newInstance(Unknown
Source)
> 	at org.apache.derby.impl.sql.GenericActivationHolder.<init>(Unknown Source)
> 	at org.apache.derby.impl.sql.GenericPreparedStatement.getActivation(Unknown Source)
> 	... 39 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message