You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "vilius (JIRA)" <ji...@apache.org> on 2012/11/05 12:00:13 UTC

[jira] [Updated] (AMQ-4156) Inactivity monitor rejected from thread pool

     [ https://issues.apache.org/jira/browse/AMQ-4156?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

vilius updated AMQ-4156:
------------------------

    Description: 
2012/09/04 17:50:10.746 [UncaughtExceptionHandler] [InactivityMonitor WriteCheck]:   ERROR:  FATAL ERROR Uncaught Exception occurred in thread Thread[InactivityMonitor WriteCheck,5,main]  
[Exception: java.util.concurrent.RejectedExecutionException: Task org.apache.activemq.transport.InactivityMonitor$3@321e23e9 rejected from java.util.concurrent.ThreadPoolExecutor@58c7afb3[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 441]
	at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2013)
	at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:816)
	at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1337)
	at org.apache.activemq.transport.InactivityMonitor.writeCheck(InactivityMonitor.java:147)
	at org.apache.activemq.transport.InactivityMonitor$2.run(InactivityMonitor.java:113)
	at org.apache.activemq.thread.SchedulerTimerTask.run(SchedulerTimerTask.java:33)
	at java.util.TimerThread.mainLoop(Timer.java:555)
	at java.util.TimerThread.run(Timer.java:505)
] 


N.B. The system was not shutting down as far as I can see. It was on a VM, and the logs show a long idle gap before this excerpt. Which may mean the VM was paused, although gaps may occur in normal operation as well. I only have one log as evidence, although people have seen it a few more times apparently.

  was:
2012/09/04 17:50:10.746 [UncaughtExceptionHandler] [InactivityMonitor WriteCheck]:   ERROR:  FATAL ERROR Uncaught Exception occurred in thread Thread[InactivityMonitor WriteCheck,5,main]  
[Exception: java.util.concurrent.RejectedExecutionException: Task org.apache.activemq.transport.InactivityMonitor$3@321e23e9 rejected from java.util.concurrent.ThreadPoolExecutor@58c7afb3[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 441]
	at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2013)
	at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:816)
	at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1337)
	at org.apache.activemq.transport.InactivityMonitor.writeCheck(InactivityMonitor.java:147)
	at org.apache.activemq.transport.InactivityMonitor$2.run(InactivityMonitor.java:113)
	at org.apache.activemq.thread.SchedulerTimerTask.run(SchedulerTimerTask.java:33)
	at java.util.TimerThread.mainLoop(Timer.java:555)
	at java.util.TimerThread.run(Timer.java:505)
] 


N.B. The system was not shutting down as far as I can see. No idea what happened with our system, we only saw this once in our logs.
Could there be a race condition when a Write check throws an exception? Since the timer is scheduled at fixed rate, if the system was to halt for a while it may try to execute the task a fair few times? You may get the sense I have little clue what I'm talking about :-)

    
> Inactivity monitor rejected from thread pool
> --------------------------------------------
>
>                 Key: AMQ-4156
>                 URL: https://issues.apache.org/jira/browse/AMQ-4156
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.5.1
>         Environment: VM name: Java HotSpot(TM) 64-Bit Server VM
> VM Version: 23.1-b03
> VM Vendor: Oracle Corporation
>            Reporter: vilius
>            Assignee: Timothy Bish
>              Labels: concurrency
>             Fix For: 5.8.0
>
>
> 2012/09/04 17:50:10.746 [UncaughtExceptionHandler] [InactivityMonitor WriteCheck]:   ERROR:  FATAL ERROR Uncaught Exception occurred in thread Thread[InactivityMonitor WriteCheck,5,main]  
> [Exception: java.util.concurrent.RejectedExecutionException: Task org.apache.activemq.transport.InactivityMonitor$3@321e23e9 rejected from java.util.concurrent.ThreadPoolExecutor@58c7afb3[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 441]
> 	at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2013)
> 	at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:816)
> 	at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1337)
> 	at org.apache.activemq.transport.InactivityMonitor.writeCheck(InactivityMonitor.java:147)
> 	at org.apache.activemq.transport.InactivityMonitor$2.run(InactivityMonitor.java:113)
> 	at org.apache.activemq.thread.SchedulerTimerTask.run(SchedulerTimerTask.java:33)
> 	at java.util.TimerThread.mainLoop(Timer.java:555)
> 	at java.util.TimerThread.run(Timer.java:505)
> ] 
> N.B. The system was not shutting down as far as I can see. It was on a VM, and the logs show a long idle gap before this excerpt. Which may mean the VM was paused, although gaps may occur in normal operation as well. I only have one log as evidence, although people have seen it a few more times apparently.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira