You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ji...@apache.org on 2004/06/05 21:36:53 UTC

[jira] Closed: (JAMES-253) deadlock in mordred connection pool

Message:

   The following issue has been closed.

---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/JAMES-253

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: JAMES-253
    Summary: deadlock in mordred connection pool
       Type: Bug

     Status: Closed
   Priority: Major
 Resolution: FIXED

    Project: James
 Components: 
             SpoolManager & Processors
             MailStore & MailRepository
   Fix Fors:
             2.2.0RC1
   Versions:
             2.1.3

   Assignee: 
   Reporter: Marcus Labib

    Created: Tue, 13 Apr 2004 9:58 AM
    Updated: Sat, 5 Jun 2004 12:35 PM
Environment: Linux 2.4.24 - glibc 2.2 - j2sdk 1.4.2

Description:
Hi,

since some time we are experiencing a deadlock in the mordred connection pool. It seems that this deadlock occurs only when sql queries take very long.

I submitted a patch to the james developer mailing list.

excerpt from a typical thread dump:

Found one Java-level deadlock:
=============================
"default Worker #4":
  waiting to lock monitor 0x8856f1c (object 0x44b4d568, a org.apache.james.util.mordred.PoolConnEntry),
  which is held by "Thread-3"
"Thread-3":
  waiting to lock monitor 0x8856ffc (object 0x44b40138, a java.util.Vector),
  which is held by "default Worker #4"

Java stack information for the threads listed above: ===================================================
"default Worker #4":
	at
org.apache.james.util.mordred.PoolConnEntry.lock(PoolConnEntry.java:110)
	- waiting to lock <0x44b4d568> (a
org.apache.james.util.mordred.PoolConnEntry)
	at org.apache.james.util.mordred.JdbcDataSource.getConnection(JdbcDataSource.ja
va:178)
	- locked <0x44b40138> (a java.util.Vector)
	at org.apache.james.mailrepository.JDBCSpoolRepository.loadPendingMessages(JDBC
SpoolRepository.java:281)
	- locked <0x44b5f218> (a java.util.LinkedList)
	at org.apache.james.mailrepository.JDBCSpoolRepository.getNextPendingMessage(JD
BCSpoolRepository.java:256)
	- locked <0x44b5f218> (a java.util.LinkedList)
	at org.apache.james.mailrepository.JDBCSpoolRepository.accept(JDBCSpoolReposito
ry.java:154)
	at
org.apache.james.transport.JamesSpoolManager.run(JamesSpoolManager.java:350)
	at org.apache.avalon.excalibur.thread.impl.ExecutableRunnable.execute(Executabl
eRunnable.java:47)
	at org.apache.avalon.excalibur.thread.impl.WorkerThread.run(WorkerThread.java:8
0)
	- locked <0x44ba24b0> (a
org.apache.avalon.excalibur.thread.impl.WorkerThread)
"Thread-3":
	at java.util.Vector.removeElement(Vector.java:605)
	- waiting to lock <0x44b40138> (a java.util.Vector)
	at org.apache.james.util.mordred.JdbcDataSource.finalizeEntry(JdbcDataSource.ja
va:579)
	- locked <0x44b400b0> (a
org.apache.james.util.mordred.JdbcDataSource)
	at
org.apache.james.util.mordred.JdbcDataSource.run(JdbcDataSource.java:452)
	- locked <0x44b4d568> (a
org.apache.james.util.mordred.PoolConnEntry)
	at java.lang.Thread.run(Thread.java:536)





---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org