Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 348231

Summary: client progress monitor not updated when IndexerThread crashes
Product: [Tools] PTP Reporter: Mike Kucera <mikekucera>
Component: RDTAssignee: Project Inbox <ptp-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: 4.0   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
Patch for PTP 4
none
Patch for PTP head none

Description Mike Kucera CLA 2011-06-03 11:27:16 EDT
If the IndexerThread terminates abnormally due to an exception then the call to CDTMiner.statusDone() does not get executed. This causes the progress montitor job on then client to not get notified that the indexer thread has stopped (or died in this case) and it just spins forever.

I'm seeing this as a symptom of bug 346349. The indexer crashes from the ClassCastException described in that bug and causes this bug.

I'm guessing the fix should be easy, simply add a finally block to the try in 
IndexerThread.run() and put the call to statusDone() there.


Note: Fixing 346349 does not fix this bug. There may be other bugs in the indexer that are not known that could cause this to reappear in the future, so it should be fixed properly.
Comment 1 Mike Kucera CLA 2011-06-03 14:17:07 EDT
Furthermore the indexer job has a scheduling rule that only allows one indexer job to run at a time. So this bug effectively deadlocks all indexers.
Comment 2 Mike Kucera CLA 2011-06-06 13:22:16 EDT
Created attachment 197428 [details]
Patch for PTP 4
Comment 3 Mike Kucera CLA 2011-06-06 13:22:29 EDT
Created attachment 197429 [details]
Patch for PTP head
Comment 4 Mike Kucera CLA 2011-06-06 13:25:08 EDT
Fixed