[Building Sakai] Blocking on socketread, locked connection pool

Joshua Swink joshua.swink at gmail.com
Fri Dec 7 10:30:07 PST 2012


We have been having problems sometimes where a Tomcat will grow
progressively slower and wedge up. We're seeing a pattern where a blocking
thread seems to be waiting on socket read. Has anyone got advice for
investigating this?

Second question, is it normal for a thread to lock
SakaiPoolableConnectionFactory as in this stack trace?

"http-8082-Processor518" daemon prio=3 tid=0x0ac9a800 nid=0x5aa92 runnable
[0x3392e000]
   java.lang.Thread.State: RUNNABLE
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:129)
        at oracle.net.ns.Packet.receive(Unknown Source)
        at oracle.net.ns.NSProtocol.connect(Unknown Source)
        at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:858)
        at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:268)
        at
oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:441)
        at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
        at
oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
        at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
        at
org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
        at
org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:294)
        - locked <0x5bad7668> (a
org.apache.commons.dbcp.SakaiPoolableConnectionFactory)
        at
org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1148)
        at
org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:96)
        at
org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
        at
org.sakaiproject.db.impl.BasicSqlService.borrowConnection(BasicSqlService.java:254)
        at
org.sakaiproject.db.impl.BasicSqlService.dbRead(BasicSqlService.java:535)
        at
org.sakaiproject.db.impl.BasicSqlService.dbRead(BasicSqlService.java:464)
        at
org.sakaiproject.user.impl.DbUserService$DbStorage.checkMapForId(DbUserService.java:640)
        at
org.sakaiproject.user.impl.BaseUserDirectoryService.getUserId(BaseUserDirectoryService.java:612)
        at
org.sakaiproject.user.cover.UserDirectoryService.getUserId(UserDirectoryService.java:304)
        at
org.sakaiproject.portal.charon.handlers.SiteHandler.getSiteSkin(SiteHandler.java:437)
        at
org.sakaiproject.portal.charon.handlers.SiteHandler.includeLogo(SiteHandler.java:405)
        at
org.sakaiproject.portal.charon.handlers.SiteHandler.includeSiteNav(SiteHandler.java:382)
        at
org.sakaiproject.portal.charon.handlers.SiteHandler.doSite(SiteHandler.java:231)
        at
org.sakaiproject.portal.charon.handlers.SiteHandler.doGet(SiteHandler.java:118)
        at
org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:833)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
...


Thanks for any help.

Josh
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20121207/c10ade10/attachment.html 


More information about the sakai-dev mailing list