Project: Eclipse_Platform_UI
Bug 68505 [Progress] Progress view shows waiting job which doesn't exist anymore
Reported: 2004-06-24 13:28:23 | Status: verified fixed

200406240800 After doing some testing with Search/Replace and background locking of the workspace I encountered a situation where the progress view dialog shows a waiting search job, also there isn't any Seach Job in the Job Manager. Here the data structure of the ProgressManager: this= ProgressManager (id=903064) changeListener= ProgressManager$1 (id=903540) errorManager= ErrorNotificationManager (id=903544) familyKey= Object (id=903548) familyListeners= Collections$SynchronizedMap (id=903552) imageKeyTable= Hashtable (id=903556) jobs= Collections$SynchronizedMap (id=903532) [0]= HashMap$Entry (id=903588) key= ProgressViewUpdater$1 (id=903104) cachedDisplay= null flags= 260 jobNumber= 9 listeners= IJobChangeListener[1] (id=903616) monitor= ProgressManager$JobMonitor (id=903620) name= "Update Progress" next= null previous= null priority= 50 properties= null result= Status (id=903132) schedulingRule= null startTime= 100 this$0= ProgressViewUpdater (id=903628) thread= Worker (id=903240) value= JobInfo (id=903608) [1]= HashMap$Entry (id=903592) key= TestJob (id=903632) duration= 60000 failure= false flags= 4 jobNumber= 155 listeners= IJobChangeListener[0] (id=903120) monitor= ProgressManager$JobMonitor (id=903640) name= "Test job" next= null previous= null priority= 30 properties= ObjectMap (id=903648) reschedule= false rescheduleWait= 1000 result= null schedulingRule= WorkspaceRoot (id=903048) startTime= -1 thread= Worker (id=902532) unknown= false value= JobInfo (id=903636) [2]= HashMap$Entry (id=903596) key= InternalSearchUI$InternalSearchJob (id=903652) flags= 512 fSearchJobRecord= InternalSearchUI$SearchJobRecord (id=903660) jobNumber= 133 listeners= IJobChangeListener[1] (id=903664) monitor= null name= "File Search" next= null previous= null priority= 40 properties= ObjectMap (id=903672) result= MultiStatus (id=903676) schedulingRule= null startTime= -1 this$0= InternalSearchUI (id=903680) thread= null value= JobInfo (id=903656) [3]= HashMap$Entry (id=903600) key= BlockedJobsDialog$1 (id=903496) cachedDisplay= null flags= 260 jobNumber= 156 listeners= IJobChangeListener[1] (id=903688) monitor= ProgressManager$JobMonitor (id=903692) name= "Open Blocked Dialog" next= null previous= null priority= 30 properties= null result= null schedulingRule= null startTime= -1 thread= Thread (id=902476) value= JobInfo (id=903684) listeners= Collections$SynchronizedRandomAccessList (id=903560) monitorKey= Object (id=903564) runnableMonitors= Collections$SynchronizedMap (id=903568)

Files changed in fix:
bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressManager.java bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/progress/ProgressMonitorFocusJobDialog.java