| Issue 483: | Non task object in queue | |
| 2 people starred this issue and may be notified of changes. | Back to list |
Affected Version: gerrit rev: de0c3f4a2759f2bf8c73a8d04fc30497921e4bd7 What steps will reproduce the problem? 1. On host with START_STOP_DAEMON=0 start gerrit using './gerrit.sh start' 2. Wait 24 hours? What is the expected output? What do you see instead? I would expect this to be in error_log, but instead I see this in my terminal window: Exception in thread "WorkQueue-1" java.lang.ClassCastException: java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask cannot be cast to com.google.gerrit.server.git.WorkQueue$Task at com.google.gerrit.server.git.WorkQueue$Executor.afterExecute(WorkQueue.java:172) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Not really a big deal since I wouldn't do anything about this exception anyway, but it should be getting logged to the proper place.
Mar 4, 2010
#1
sop@google.com
Mar 4, 2010
This must be the LogFileCompressor. Its the only task that runs every 24 hours. When it gets rescheduled we must not be getting it decorated, resulting in a cast exception. The worker threads don't have a generic error handler setup, so crashes within those threads aren't going into our logs.
Status:
Accepted
Mar 4, 2010
The console output problem is fixed by change Ida8d0c91744410b316ba32834a2307b10bc312f8. But I can't figure out why we'd be seeing the ClassCastException after about 24 hours. Its not the LogFileCompressor, because I changed that to use 24 seconds and it repeats just fine. Change I5289ebf88570ebb997b443eb188167d77b61f0df adds logging to help us better debug the problem.
Status:
AwaitingInformation
Mar 5, 2010
Just restarted the server, we'll see if I have anything after the weekend.
Mar 6, 2010
24 hours later... [2010-03-06 16:07:54,594] ERROR com.google.gerrit.server.git.WorkQueue : Non task object in queue: class java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask: java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask@64a63599
Mar 8, 2010
Arrrgh. My servers are also showing the same error now in their error logs. But I can't seem to make my desktop reproduce it when the period is 24 seconds rather than 24 hours. :-\
Status:
Accepted
Mar 8, 2010
(No comment was entered for this change.)
Summary:
Non task object in queue
Mar 8, 2010
I think change I3a4584949b591601cf923f3a90715f5d5fb69bbb might be the ticket here. There seems to be some variable in JDK implementations, certain versions have an afterExecute that works as I expected, and others don't. Its best to just remove the dependency on that API.
Mar 8, 2010
Should be fixed by I3a4584949b591601cf923f3a90715f5d5fb69bbb
Status:
Fixed
Labels: FixedIn-2.1.2
Mar 27, 2012
(No comment was entered for this change.)
Status:
Released
|
|
| ► Sign in to add a comment |