db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "LiuZhenKe (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-4364) Cannot create an instance of generated class org.apache.derby.exe.acf81e0010x0123x6e25x38c2x00000616b5f80.
Date Tue, 01 Sep 2009 03:19:32 GMT

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

LiuZhenKe commented on DERBY-4364:
----------------------------------

Thank you for your suggestion, let me try to do this.
But I do confuse that the given fail-to-load class is the derby out-of-the-box class.  one
class in derby.jar call a dynamic class, then dynamic class call another class in derby.jar
, the second time fail. If the issue is not caused by the derby verion conflit, it may be
caused by the customized classloader.

> Cannot create an instance of generated class org.apache.derby.exe.acf81e0010x0123x6e25x38c2x00000616b5f80.
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-4364
>                 URL: https://issues.apache.org/jira/browse/DERBY-4364
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC
>    Affects Versions: 10.5.3.0
>         Environment: The program run well in my local machine's tomcat server. but when
I deployed into http://www.jhost.cn/, it failed. the env in jhost are:
> Apache/2.2.11 mod_jk/1.2.25  
> Tomcat Version 5.5.27  
> JVM Version 1.5.0_11-b03  
> PHP Version 5.2.8  
> MySQL Ver 14.12 Distrib 5.0.67  
> phpMyAdmin Version information: 3.1.1 
>            Reporter: LiuZhenKe
>            Priority: Critical
>   Original Estimate: 336h
>  Remaining Estimate: 336h
>
> This issue is quite like issue DERBY-4142, but I think the root cause is different.
> The java code which raise this error is:
> rs=stmt.executeQuery("SELECT ID FROM T_SYS_RS_PACKAGE_MASTER WHERE EXISTS (SELECT * FROM
T_VC_MASTER MA WHERE MA.SUBCLASS_TABLE_NAME='T_SYS_RS_PACKAGE_MASTER' AND MA.SUBCLASS_TABLE_ID=T_SYS_RS_PACKAGE_MASTER.ID
AND MA.NAME='"+PackageName+"')");
> The error message tells that create an instance of generated class acf81e0010x0123x6e25x38c2x00000616b5f80
fail caused by java.lang.NoClassDefFoundError: org/apache/derby/impl/sql/execute/GenericQualifier.
But I see that this GenericQualifier.class is put in derby.jar, which is put  in WEB-INF\lib
folder. so I guess this issue may be caused by the classloader switch somewhere, may be in
acf81e0010x0123x6e25x38c2x00000616b5f80. the new classloader may not able to find a class
in WEB-INF\lib\derby.jar. Anyway, just a guess
> error log is captured:
> java.sql.SQLException: Cannot create an instance of generated class org.apache.derby.exe.acf81e0010x0123x6e25x38c2x00000616b5f80.
> 	at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45)
> 	at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:87)
> 	at org.apache.derby.impl.jdbc.Util.seeNextException(Util.java:223)
> 	at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:398)
> 	at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(TransactionResourceImpl.java:346)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.handleException(EmbedConnection.java:2201)
> 	at org.apache.derby.impl.jdbc.ConnectionChild.handleException(ConnectionChild.java:81)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:614)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.executeQuery(EmbedStatement.java:152)
> 	at Concept.Resource.Server.derby.CCheckInResources.checkInResources(CCheckInResources.java:342)
> 	at Concept.Resource.Server.derby.CCheckInResources.SubmitTransaction(CCheckInResources.java:223)
> 	at Concept.Transaction.Server.CTransactionServer.doPost(CTransactionServer.java:722)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> 	at sun.reflect.GeneratedMethodAccessor231.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:269)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
> 	at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:301)
> 	at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:283)
> 	at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:56)
> 	at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:189)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:185)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
> 	at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
> 	at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
> 	at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769)
> 	at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698)
> 	at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
> 	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
> 	at java.lang.Thread.run(Thread.java:595)
> Caused by: java.sql.SQLException: Java exception: 'org/apache/derby/impl/sql/execute/GenericQualifier:
java.lang.NoClassDefFoundError'.
> 	at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45)
> 	at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:87)
> 	at org.apache.derby.impl.jdbc.Util.javaException(Util.java:244)
> 	at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:403)
> 	... 37 more
> Caused by: java.lang.NoClassDefFoundError: org/apache/derby/impl/sql/execute/GenericQualifier
> 	at org.apache.derby.impl.sql.execute.GenericExecutionFactory.getQualifier(GenericExecutionFactory.java:250)
> 	at org.apache.derby.exe.acf81e0010x0123x6e25x38c2x00000616b5f80.postConstructor(Unknown
Source)
> 	at org.apache.derby.impl.services.reflect.LoadedGeneratedClass.newInstance(LoadedGeneratedClass.java:71)
> 	at org.apache.derby.impl.services.reflect.ReflectGeneratedClass.newInstance(ReflectGeneratedClass.java:60)
> 	at org.apache.derby.impl.sql.GenericActivationHolder.<init>(GenericActivationHolder.java:129)
> 	at org.apache.derby.impl.sql.GenericPreparedStatement.getActivation(GenericPreparedStatement.java:234)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:609)
> 	... 32 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