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

 

Reply via email to