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 con = (ManagedConnection)pool.getObject(new ConnectionParameters(subj, info)) is NULL which shouldn't be.
 
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.  Below is the pertinent info from JDB.
 
Thanks for any assistance,
 
Quentin
[EMAIL PROTECTED]
--
 
 
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

 

--
Quentin Conner
[EMAIL PROTECTED]
(512) 342-2623 x2206

 

Reply via email to