[Building Sakai] Blocking on socketread, locked connection pool

Beth Kirschner bkirschn at umich.edu
Fri Dec 7 19:20:13 PST 2012


What version of tomcat? What version of Sakai? What version of Oracle JDBC driver and Oracle DB?

- Beth

On Dec 7, 2012, at 1:30 PM, Joshua Swink wrote:

> 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
> _______________________________________________
> sakai-dev mailing list
> sakai-dev at collab.sakaiproject.org
> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
> 
> TO UNSUBSCRIBE: send email to sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of "unsubscribe"



More information about the sakai-dev mailing list