You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "David Jencks (JIRA)" <ji...@apache.org> on 2008/01/28 09:17:34 UTC

[jira] Closed: (GERONIMO-2137) Empty datasource tracefile causes fatal error attempting to run web app

     [ https://issues.apache.org/jira/browse/GERONIMO-2137?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

David Jencks closed GERONIMO-2137.
----------------------------------

       Resolution: Duplicate
    Fix Version/s: 2.1
         Assignee: David Jencks

I think this is a duplicate of GERONIMO-3440.  The patch suggested there is applied to tranql but the wrapper is not yet released.

> Empty datasource tracefile causes fatal error attempting to run web app
> -----------------------------------------------------------------------
>
>                 Key: GERONIMO-2137
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-2137
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: databases
>    Affects Versions: 1.0
>         Environment: Issue was found on Windows, but unsure if it is limited to Windows server 2003.
>            Reporter: Tim Pickett
>            Assignee: David Jencks
>             Fix For: 2.1
>
>
> If you deploy a web applicaiton with a datasource(db2 in this instance) and do not specify a tracefile, the application will run fine.  Once you use the admin console to change an attribute in the datasource, the application server will add an empty tracefile attribute to the config.xml, and you will no longer be able to run the web application if it attempt so access the database.  (Issue was found in CE)
> WORKAROUND: remove the 2 attributes from the config.xml and it will work fine, no attempt to trace occurs.
> The attributes added are:
>   <attribute name="TraceFile"></attribute>
>       <attribute name="TraceFileAppend">false</attribute>
> The entire section of the config.xml file for the datasource is as follows:
> <configuration name="Trade">
>     <gbean name="geronimo.server:J2EEApplication=Trade,J2EEServer=geronimo,JCAResource=TradeDataSource,j2eeType=JCAManagedConnectionFactory,name=jdbc/TradeDataSource">
>       <attribute name="DatabaseName">tradev</attribute>
>       <attribute name="User">trade</attribute>
>       <attribute name="DriverType">4</attribute>
>       <attribute name="Password">{Simple}rO0ABXNyABlqYXZheC5jcnlwdG8uU2VhbGVkT2JqZWN0PjY9psO3VHACAARbAA1lbmNvZGVkUGFyYW1zdAACW0JbABBlbmNyeXB0ZWRDb250ZW50cQB+AAFMAAlwYXJhbXNBbGd0ABJMamF2YS9sYW5nL1N0cmluZztMAAdzZWFsQWxncQB+AAJ4cHB1cgACW0Ks8xf4BghU4AIAAHhwAAAAECL7hrKO7YATsIUlVrzQ9VxwdAADQUVT</attribute>
>       <attribute name="PortNumber">50000</attribute>
>       <attribute name="ServerName">viper22</attribute>
>       <attribute name="TraceFile"></attribute>
>       <attribute name="TraceFileAppend">false</attribute>
>     </gbean>
>     <gbean name="geronimo.server:J2EEApplication=Trade,J2EEServer=geronimo,JCAResource=TradeDataSource,j2eeType=JCAConnectionManager,name=jdbc/TradeDataSource">
>       <attribute name="partitionMinSize">0</attribute>
>       <attribute name="partitionMaxSize">40</attribute>
>       <attribute name="blockingTimeoutMilliseconds">5000</attribute>
>       <attribute name="idleTimeoutMinutes">30</attribute>
>     </gbean>
>   </configuration>
> Stack trace follows:
> {\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fswiss\fcharset0 Arial;}}
> {\*\generator Msftedit 5.41.21.2500;}\viewkind4\uc1\pard\f0\fs20 com.ibm.db2.jcc.a.SqlException: Unable to open file\par
>         at com.ibm.db2.jcc.a.xd.a(xd.java:93)\par
>         at com.ibm.db2.jcc.DB2BaseDataSource.computePrintWriter(DB2BaseDataSourc\par
> e.java:1955)\par
>         at com.ibm.db2.jcc.DB2BaseDataSource.computeJccLogWriter(DB2BaseDataSour\par
> ce.java:1848)\par
>         at com.ibm.db2.jcc.DB2BaseDataSource.computeJccLogWriterForNewConnection\par
> (DB2BaseDataSource.java:1808)\par
>         at com.ibm.db2.jcc.DB2BaseDataSource.computeJccLogWriterForNewConnection\par
> (DB2BaseDataSource.java:1768)\par
>         at com.ibm.db2.jcc.DB2XADataSource.getXAConnection(DB2XADataSource.java:\par
> 62)\par
>         at org.tranql.connector.jdbc.AbstractXADataSourceMCF.getPhysicalConnecti\par
> on(AbstractXADataSourceMCF.java:74)\par
>         at org.tranql.connector.db2.XAMCF.createManagedConnection(XAMCF.java:57)\par
> \par
>         at org.apache.geronimo.connector.outbound.MCFConnectionInterceptor.getCo\par
> nnection(MCFConnectionInterceptor.java:41)\par
>         at org.apache.geronimo.connector.outbound.XAResourceInsertionInterceptor\par
> .getConnection(XAResourceInsertionInterceptor.java:41)\par
>         at org.apache.geronimo.connector.outbound.SinglePoolConnectionIntercepto\par
> r.internalGetConnection(SinglePoolConnectionInterceptor.java:63)\par
>         at org.apache.geronimo.connector.outbound.AbstractSinglePoolConnectionIn\par
> terceptor.getConnection(AbstractSinglePoolConnectionInterceptor.java:73)\par
>         at org.apache.geronimo.connector.outbound.TransactionEnlistingIntercepto\par
> r.getConnection(TransactionEnlistingInterceptor.java:47)\par
>         at org.apache.geronimo.connector.outbound.TransactionCachingInterceptor.\par
> getConnection(TransactionCachingInterceptor.java:86)\par
>         at org.apache.geronimo.connector.outbound.ConnectionHandleInterceptor.ge\par
> tConnection(ConnectionHandleInterceptor.java:43)\par
>         at org.apache.geronimo.connector.outbound.TCCLInterceptor.getConnection(\par
> TCCLInterceptor.java:39)\par
>         at org.apache.geronimo.connector.outbound.ConnectionTrackingInterceptor.\par
> getConnection(ConnectionTrackingInterceptor.java:66)\par
>         at org.apache.geronimo.connector.outbound.AbstractConnectionManager.allo\par
> cateConnection(AbstractConnectionManager.java:57)\par
>         at org.tranql.connector.jdbc.DataSource.getConnection(DataSource.java:56\par
> )\par
>         at $javax.sql.DataSource$$FastClassByCGLIB$$6525cafd.invoke(<generated>)\par
> \par
>         at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)\par
>         at org.apache.geronimo.connector.ConnectorMethodInterceptor.intercept(Co\par
> nnectorMethodInterceptor.java:53)\par
>         at $javax.sql.DataSource$$EnhancerByCGLIB$$b357ebf9.getConnection(<gener\par
> ated>)\par
>         at org.apache.geronimo.samples.daytrader.direct.TradeDirect.getConn(Trad\par
> eDirect.java:2035)\par
>         at org.apache.geronimo.samples.daytrader.direct.TradeDirect.resetTrade(T\par
> radeDirect.java:1799)\par
>         at org.apache.geronimo.samples.daytrader.ejb.TradeBean.resetTrade(TradeB\par
> ean.java:1021)\par
>         at org.apache.geronimo.samples.daytrader.ejb.TradeBean$$FastClassByCGLIB\par
> $$7b99417a.invoke(<generated>)\par
>         at org.openejb.dispatch.AbstractMethodOperation.invoke(AbstractMethodOpe\par
> ration.java:90)\par
>         at org.openejb.slsb.BusinessMethod.execute(BusinessMethod.java:67)\par
>         at org.openejb.dispatch.DispatchInterceptor.invoke(DispatchInterceptor.j\par
> ava:72)\par
>         at org.apache.geronimo.naming.java.ComponentContextInterceptor.invoke(Co\par
> mponentContextInterceptor.java:56)\par
>         at org.openejb.ConnectionTrackingInterceptor.invoke(ConnectionTrackingIn\par
> terceptor.java:81)\par
>         at org.openejb.transaction.ContainerPolicy$TxNotSupported.invoke(Contain\par
> erPolicy.java:89)\par
>         at org.openejb.transaction.TransactionContextInterceptor.invoke(Transact\par
> ionContextInterceptor.java:80)\par
>         at org.openejb.slsb.StatelessInstanceInterceptor.invoke(StatelessInstanc\par
> eInterceptor.java:98)\par
>         at org.openejb.transaction.ContainerPolicy$TxNotSupported.invoke(Contain\par
> erPolicy.java:89)\par
>         at org.openejb.transaction.TransactionContextInterceptor.invoke(Transact\par
> ionContextInterceptor.java:80)\par
>         at org.openejb.SystemExceptionInterceptor.invoke(SystemExceptionIntercep\par
> tor.java:82)\par
>         at org.openejb.GenericEJBContainer.invoke(GenericEJBContainer.java:238)\par
>         at org.openejb.proxy.EJBMethodInterceptor.intercept(EJBMethodInterceptor\par
> .java:129)\par
>         at org.openejb.proxy.SessionEJBObject$$EnhancerByCGLIB$$b9dbc477.resetTr\par
> ade(<generated>)\par
>         at org.apache.geronimo.samples.daytrader.TradeAction.resetTrade(TradeAct\par
> ion.java:490)\par
>         at org.apache.geronimo.samples.daytrader.web.TradeConfigServlet.doResetT\par
> rade(TradeConfigServlet.java:74)\par
>         at org.apache.geronimo.samples.daytrader.web.TradeConfigServlet.service(\par
> TradeConfigServlet.java:347)\par
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)\par
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl\par
> icationFilterChain.java:252)\par
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF\par
> ilterChain.java:173)\par
>         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV\par
> alve.java:213)\par
>         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV\par
> alve.java:178)\par
>         at org.apache.geronimo.tomcat.valve.DefaultSubjectValve.invoke(DefaultSu\par
> bjectValve.java:46)\par
>         at org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.\par
> invoke(GeronimoStandardContext.java:275)\par
>         at org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(Gero\par
> nimoBeforeAfterValve.java:31)\par
>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j\par
> ava:126)\par
>         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j\par
> ava:105)\par
>         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal\par
> ve.java:107)\par
>         at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.ja\par
> va:365)\par
>         at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:\par
> 526)\par
>         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav\par
> a:148)\par
>         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java\par
> :856)\par
>         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce\par
> ssConnection(Http11Protocol.java:744)\par
>         at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo\par
> int.java:527)\par
>         at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol\par
> lowerWorkerThread.java:80)\par
>         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP\par
> ool.java:684)\par
>         at java.lang.Thread.run(Thread.java:570)\par
> 08:58:08,703 ERROR [Log] Error: TradeConfigServlet.service(...)\par
> Exception trying to perform action=resetTrade\par
> \par
>         com.ibm.db2.jcc.a.SqlException: Unable to open file\par
> com.ibm.db2.jcc.a.SqlException: Unable to open file\par
>         at com.ibm.db2.jcc.a.xd.a(xd.java:93)\par
>         at com.ibm.db2.jcc.DB2BaseDataSource.computePrintWriter(DB2BaseDataSourc\par
> e.java:1955)\par
>         at com.ibm.db2.jcc.DB2BaseDataSource.computeJccLogWriter(DB2BaseDataSour\par
> ce.java:1848)\par
>         at com.ibm.db2.jcc.DB2BaseDataSource.computeJccLogWriterForNewConnection\par
> (DB2BaseDataSource.java:1808)\par
>         at com.ibm.db2.jcc.DB2BaseDataSource.computeJccLogWriterForNewConnection\par
> (DB2BaseDataSource.java:1768)\par
>         at com.ibm.db2.jcc.DB2XADataSource.getXAConnection(DB2XADataSource.java:\par
> 62)\par
>         at org.tranql.connector.jdbc.AbstractXADataSourceMCF.getPhysicalConnecti\par
> on(AbstractXADataSourceMCF.java:74)\par
>         at org.tranql.connector.db2.XAMCF.createManagedConnection(XAMCF.java:57)\par
> \par
>         at org.apache.geronimo.connector.outbound.MCFConnectionInterceptor.getCo\par
> nnection(MCFConnectionInterceptor.java:41)\par
>         at org.apache.geronimo.connector.outbound.XAResourceInsertionInterceptor\par
> .getConnection(XAResourceInsertionInterceptor.java:41)\par
>         at org.apache.geronimo.connector.outbound.SinglePoolConnectionIntercepto\par
> r.internalGetConnection(SinglePoolConnectionInterceptor.java:63)\par
>         at org.apache.geronimo.connector.outbound.AbstractSinglePoolConnectionIn\par
> terceptor.getConnection(AbstractSinglePoolConnectionInterceptor.java:73)\par
>         at org.apache.geronimo.connector.outbound.TransactionEnlistingIntercepto\par
> r.getConnection(TransactionEnlistingInterceptor.java:47)\par
>         at org.apache.geronimo.connector.outbound.TransactionCachingInterceptor.\par
> getConnection(TransactionCachingInterceptor.java:86)\par
>         at org.apache.geronimo.connector.outbound.ConnectionHandleInterceptor.ge\par
> tConnection(ConnectionHandleInterceptor.java:43)\par
>         at org.apache.geronimo.connector.outbound.TCCLInterceptor.getConnection(\par
> TCCLInterceptor.java:39)\par
>         at org.apache.geronimo.connector.outbound.ConnectionTrackingInterceptor.\par
> getConnection(ConnectionTrackingInterceptor.java:66)\par
>         at org.apache.geronimo.connector.outbound.AbstractConnectionManager.allo\par
> cateConnection(AbstractConnectionManager.java:57)\par
>         at org.tranql.connector.jdbc.DataSource.getConnection(DataSource.java:56\par
> )\par
>         at $javax.sql.DataSource$$FastClassByCGLIB$$6525cafd.invoke(<generated>)\par
> \par
>         at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)\par
>         at org.apache.geronimo.connector.ConnectorMethodInterceptor.intercept(Co\par
> nnectorMethodInterceptor.java:53)\par
>         at $javax.sql.DataSource$$EnhancerByCGLIB$$b357ebf9.getConnection(<gener\par
> ated>)\par
>         at org.apache.geronimo.samples.daytrader.direct.TradeDirect.getConn(Trad\par
> eDirect.java:2035)\par
>         at org.apache.geronimo.samples.daytrader.direct.TradeDirect.resetTrade(T\par
> radeDirect.java:1799)\par
>         at org.apache.geronimo.samples.daytrader.ejb.TradeBean.resetTrade(TradeB\par
> ean.java:1021)\par
>         at org.apache.geronimo.samples.daytrader.ejb.TradeBean$$FastClassByCGLIB\par
> $$7b99417a.invoke(<generated>)\par
>         at org.openejb.dispatch.AbstractMethodOperation.invoke(AbstractMethodOpe\par
> ration.java:90)\par
>         at org.openejb.slsb.BusinessMethod.execute(BusinessMethod.java:67)\par
>         at org.openejb.dispatch.DispatchInterceptor.invoke(DispatchInterceptor.j\par
> ava:72)\par
>         at org.apache.geronimo.naming.java.ComponentContextInterceptor.invoke(Co\par
> mponentContextInterceptor.java:56)\par
>         at org.openejb.ConnectionTrackingInterceptor.invoke(ConnectionTrackingIn\par
> terceptor.java:81)\par
>         at org.openejb.transaction.ContainerPolicy$TxNotSupported.invoke(Contain\par
> erPolicy.java:89)\par
>         at org.openejb.transaction.TransactionContextInterceptor.invoke(Transact\par
> ionContextInterceptor.java:80)\par
>         at org.openejb.slsb.StatelessInstanceInterceptor.invoke(StatelessInstanc\par
> eInterceptor.java:98)\par
>         at org.openejb.transaction.ContainerPolicy$TxNotSupported.invoke(Contain\par
> erPolicy.java:89)\par
>         at org.openejb.transaction.TransactionContextInterceptor.invoke(Transact\par
> ionContextInterceptor.java:80)\par
>         at org.openejb.SystemExceptionInterceptor.invoke(SystemExceptionIntercep\par
> tor.java:82)\par
>         at org.openejb.GenericEJBContainer.invoke(GenericEJBContainer.java:238)\par
>         at org.openejb.proxy.EJBMethodInterceptor.intercept(EJBMethodInterceptor\par
> .java:129)\par
>         at org.openejb.proxy.SessionEJBObject$$EnhancerByCGLIB$$b9dbc477.resetTr\par
> ade(<generated>)\par
>         at org.apache.geronimo.samples.daytrader.TradeAction.resetTrade(TradeAct\par
> ion.java:490)\par
>         at org.apache.geronimo.samples.daytrader.web.TradeConfigServlet.doResetT\par
> rade(TradeConfigServlet.java:74)\par
>         at org.apache.geronimo.samples.daytrader.web.TradeConfigServlet.service(\par
> TradeConfigServlet.java:347)\par
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)\par
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl\par
> icationFilterChain.java:252)\par
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF\par
> ilterChain.java:173)\par
>         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV\par
> alve.java:213)\par
>         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV\par
> alve.java:178)\par
>         at org.apache.geronimo.tomcat.valve.DefaultSubjectValve.invoke(DefaultSu\par
> bjectValve.java:46)\par
>         at org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.\par
> invoke(GeronimoStandardContext.java:275)\par
>         at org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(Gero\par
> nimoBeforeAfterValve.java:31)\par
>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j\par
> ava:126)\par
>         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j\par
> ava:105)\par
>         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal\par
> ve.java:107)\par
>         at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.ja\par
> va:365)\par
>         at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:\par
> 526)\par
>         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav\par
> a:148)\par
>         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java\par
> :856)\par
>         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce\par
> ssConnection(Http11Protocol.java:744)\par
>         at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo\par
> int.java:527)\par
>         at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol\par
> lowerWorkerThread.java:80)\par
>         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP\par
> ool.java:684)\par
>         at java.lang.Thread.run(Thread.java:570)\par
> java.lang.NullPointerException\par
>         at org.apache.jsp.error_jsp._jspService(org.apache.jsp.error_jsp:96)\par
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)\par
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)\par
>         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper\par
> .java:322)\par
>         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:2\par
> 91)\par
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)\par
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)\par
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl\par
> icationFilterChain.java:252)\par
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF\par
> ilterChain.java:173)\par
>         at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDisp\par
> atcher.java:672)\par
>         at org.apache.catalina.core.ApplicationDispatcher.processRequest(Applica\par
> tionDispatcher.java:465)\par
>         at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationD\par
> ispatcher.java:398)\par
>         at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDis\par
> patcher.java:301)\par
>         at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.j\par
> ava:362)\par
>         at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.j\par
> ava:283)\par
>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j\par
> ava:136)\par
>         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j\par
> ava:105)\par
>         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal\par
> ve.java:107)\par
>         at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.ja\par
> va:365)\par
>         at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:\par
> 526)\par
>         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav\par
> a:148)\par
>         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java\par
> :856)\par
>         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce\par
> ssConnection(Http11Protocol.java:744)\par
>         at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo\par
> int.java:527)\par
>         at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol\par
> lowerWorkerThread.java:80)\par
>         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP\par
> ool.java:684)\par
>         at java.lang.Thread.run(Thread.java:570)\par
> }
>  

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