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

Kathey Marsden commented on DERBY-4142:
---------------------------------------

Myrna asked me to post some poiters  on tracking down this issue.
I thought we had a Wiki page on debugging generated code issues, but I don't 
see it, so here are some pointers on getting started as I remember them.
1) Try to reduce the issue down to a single statement.
2) Put derby.debug.true=DumpClassFile in your derby.properties
3) Run the statement and you will get a class file (e.g. 
ac12564092x0120xa5a3x8f46x000.class)
4) Put . in your classpath.
5) move the class file to a directory org/apache/derby/exe
6) Use javap -c org.apache.derby.exe.ac12564092x0120xa5a3x8f46x000 to decompile 
the class 
7) Use java -verify org.apache.derby.exe.ac12564092x0120xa5a3x8f46x000 to 
perhaps get more information on verification of the class.

As I recall the javap -c step croaks at the point where their is an issue, but 
I am not sure about that.  
But let's say your problem is in setRowCountCheckVector.  You then want to do a 
search of the code of that string in quotes and you will find the place where 
the code is generated.  Once you find that, post and we will look further.



> 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
>    Affects Versions: 10.5.1.0
>         Environment: IBM iseries (AS 400) with ibm 1.5 (build 1.5.0_13-b05)
>            Reporter: Myrna van Lunteren
>
> 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.

Reply via email to