You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avalon.apache.org by Greg Steuck <gr...@nest.cx> on 2002/09/19 18:52:43 UTC
o.a.e.event.command.AbstractThreadManager patch
Hello,
I hit these exceptions yesterday:
WARN 2002-09-18 17:47:45.167 [pipeline] (): Unable to execute pipeline (If out of threads, increase block-timeout or number of threads per processor
java.lang.IllegalStateException: Timeout exceeded without acquiring resource.
at org.apache.excalibur.mpool.BlockingFixedSizePool.acquire(BlockingFixedSizePool.java:174)
at org.apache.excalibur.thread.impl.DefaultThreadPool.getWorker(DefaultThreadPool.java:191)
at org.apache.excalibur.thread.impl.DefaultThreadPool.execute(DefaultThreadPool.java:180)
at org.apache.excalibur.thread.impl.DefaultThreadPool.execute(DefaultThreadPool.java:168)
at org.apache.excalibur.event.command.AbstractThreadManager.run(AbstractThreadManager.java:257)
at org.apache.excalibur.thread.impl.ExecutableRunnable.execute(ExecutableRunnable.java:90)
at org.apache.excalibur.thread.impl.WorkerThread.run(WorkerThread.java:124)
FATAL_E 2002-09-18 17:47:45.174 [pipeline] (): ThreadManager management thread aborting due to exception
java.util.NoSuchElementException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:753)
at java.util.HashMap$ValueIterator.next(HashMap.java:780)
at org.apache.excalibur.event.command.AbstractThreadManager.run(AbstractThreadManager.java:257)
at org.apache.excalibur.thread.impl.ExecutableRunnable.execute(ExecutableRunnable.java:90)
at org.apache.excalibur.thread.impl.WorkerThread.run(WorkerThread.java:124)
And the thread manager is effectively dead after that.
If I interpreted the intention of the code correctly, it is supposed
to keep trying to schedule the same runner over and over until there
is a worker thread available. In such a case, please apply the
attached patch.
Thanks
Greg