We are seeing a NPE
in the allocateConnection() method of SharedLocalConnectionManager only on SMP
boxes under load. The We have a unique environment
with connection pooling from 2.4.4 and the server from 2.4.2. The
connection object from
Has anyone seen this
and is there a fix? I found no references in mailing lists (user and dev)
nor in bug database. I have an environment setup currently and can dump
some objects in JDB if someone can tell me what they'd like to see. Here
is the pertinent info from JDB:
stop in
org.jboss.pool.connector.SharedLocalConnectionManager.dummy
Thread-24[1] where
[1] org.jboss.pool.connector.SharedLocalConnectionManager.dummy (SharedLocalConnectionManager.java:142)
[2] org.jboss.pool.connector.SharedLocalConnectionManager.allocateConnection (SharedLocalConnectionManager.java:98)
[3] org.jboss.pool.connector.jdbc.JDBCDataSource.getConnection (JDBCDataSource.java:55)
[4] com.coremetrics.util.DBConnectionFactory.getConnection (DBConnectionFactory.java:178)
[5] com.coremetrics.util.DBConnectionFactory.getConnection (DBConnectionFactory.java:159)
[6] com.coremetrics.util.DBConnectionFactory.getConnection (DBConnectionFactory.java:135)
[7] com.coremetrics.util.DBConnectionFactory.getConnection (DBConnectionFactory.java:90)
[8] com.coremetrics.security.LoginBean.createSessionState (LoginBean.java:269)
[9] java.lang.reflect.Method.invoke (native method)
[10] org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke (StatelessSessionContainer.java:543)
[11] org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke (StatelessSessionInstanceInterceptor.java:87)
[12] org.jboss.ejb.plugins.TxInterceptorCMT.invokeNext (TxInterceptorCMT.java:133)
[13] org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions (TxInterceptorCMT.java:307)
[14] org.jboss.ejb.plugins.TxInterceptorCMT.invoke (TxInterceptorCMT.java:99)
[15] org.jboss.ejb.plugins.SecurityInterceptor.invoke (SecurityInterceptor.java:128)
[16] org.jboss.ejb.plugins.LogInterceptor.invoke (LogInterceptor.java:195)
[17] org.jboss.ejb.StatelessSessionContainer.invoke (StatelessSessionContainer.java:286)
[18] org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invoke (JRMPContainerInvoker.java:483)
[19] org.jboss.ejb.plugins.jrmp.interfaces.GenericProxy.invokeContainer (GenericProxy.java:335)
[20] org.jboss.ejb.plugins.jrmp.interfaces.StatelessSessionProxy.invoke (StatelessSessionProxy.java:123)
[21] $Proxy10.createSessionState ()
[22] com.coremetrics.servlet.LoginServ$LoginValidator.<init> (LoginServ.java:729)
[23] com.coremetrics.servlet.LoginServ.attemptLogin (LoginServ.java:269)
[24] com.coremetrics.servlet.LoginServ.doPost (LoginServ.java:339)
[25] javax.servlet.http.HttpServlet.service (HttpServlet.java:760)
[26] javax.servlet.http.HttpServlet.service (HttpServlet.java:853)
[27] org.apache.tomcat.core.ServletWrapper.doService (ServletWrapper.java:405)
[28] org.apache.tomcat.core.Handler.service (Handler.java:287)
[29] org.apache.tomcat.core.ServletWrapper.service (ServletWrapper.java:372)
[30] org.apache.tomcat.core.ContextManager.internalService (ContextManager.java:812)
[31] org.apache.tomcat.core.ContextManager.service (ContextManager.java:758)
[32] org.apache.tomcat.service.connector.Ajp12ConnectionHandler.processConnection (Ajp12ConnectionHandler.java:166)
[33] org.apache.tomcat.service.TcpWorkerThread.runIt (PoolTcpEndpoint.java:416)
[34] org.apache.tomcat.util.ThreadPool$ControlRunnable.run (ThreadPool.java:501)
[35] java.lang.Thread.run (Thread.java:484)
Thread-24[1] list
138
139 private void dummy() {
140 int i;
141
142 => i = 0;
143 i++;
144
145 }
146
147 /**
Thread-24[1] up
Thread-24[2] list
94 con = (ManagedConnection)pool.getObject(new ConnectionParameters(subj, info));
95 }
96
97 if (con == null) {
98 => dummy();
99 }
100
101 // Register the connection with the Tx Cache & the Transaction
102 ConnectionListener listener = null;
103 if(trans != null) {
Thread-24[2] locals
Method arguments:
factory = instance of org.jboss.pool.connector.jdbc.JDBCManagedConnectionFactory(id=2301)
info = null
Local variables:
trans = instance of org.jboss.tm.TransactionImpl(id=2302)
subj = instance of javax.security.auth.Subject(id=2303)
pool = instance of org.jboss.pool.ObjectPool(id=2304)
txCache = null
con = null
Thread-24[2]
--
Quentin
Conner
[EMAIL PROTECTED]
(512) 342-2623 x2206
