Bug 289228 - [build path] Setting Classpath Variables Hangs
Summary: [build path] Setting Classpath Variables Hangs
Status: VERIFIED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 3.6   Edit
Hardware: All All
: P3 major (vote)
Target Milestone: 3.6 M3   Edit
Assignee: Markus Keller CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-09-11 11:38 EDT by Shelli Orton CLA
Modified: 2009-10-27 05:46 EDT (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Shelli Orton CLA 2009-09-11 11:38:01 EDT
User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.9.0.12) Gecko/2009070611 Firefox/3.0.12 (.NET CLR 3.5.30729)
Build Identifier: M20090211-1700

I have been using Ganymede on a new machine (Vista 32 bit) with a single workspace (default) for a couple of months now with no issues.  

I created a new workspace to work on a different branch of code.  In the new workspace, I set up two classpath variables and noticed I set the directory in one wrong. I selected it, hit "Edit", changed the directory to the correct one and clicked "OK". When I click "OK" on the "Preferences" window I am prompted to do a full rebuild. It doesn't matter if I choose "Yes" or "No", I get the "Progress Information" window informing me that it is "Setting classpath variables..." and it just sits there. I have let it go for over 30 minutes without any changes. If I click "Cancel" the button depresses, but again, it just sits there. I have to kill the process in task manager (which warns me the application is waiting for my input?).

If I switch back to the old workspace, edit a classpath variable, then switch to the new workspace, SOMETIMES it will let me edit a classpath variable successfully, but not always.

I can always successfully edit the classpath variables in my original workspace.

The classpath variable names in the new workspace are the same as those I have in the old workspace - I don't know if this is a factor or not.

Reproducible: Sometimes

Steps to Reproduce:
1. Create new workspace
2. Create classpath variables
3. Edit Folder element of classpath variable
4. Choose "No" when prompted to rebuild workspace
Comment 1 Markus Keller CLA 2009-09-11 13:34:14 EDT
Reproduced in HEAD with these steps:
- new workspace
- import org.eclipse.jdt.ui as source
- define a classpath variable "VAR" that points to a folder
- edit build path of o.e.jdt.ui and add variable VAR (without extension)
- while the project is rebuilding, open Preferences > Classpath Variables, modify the variable to point to another folder, and click OK, OK
Comment 2 Markus Keller CLA 2009-09-14 06:56:19 EDT
The problem is that org.eclipse.jdt.internal.ui.wizards.buildpaths.VariableBlock.performOk() opens a ProgressMonitorDialog. It should use IProgressService (not sure if that's possible from within a dialog) or a Job.
Comment 3 Markus Keller CLA 2009-10-12 09:41:32 EDT
Fixed in HEAD of org.eclipse.jdt.internal.ui.wizards.buildpaths.VariableBlock.
Comment 4 Raksha Vasisht CLA 2009-10-27 04:59:45 EDT
Startting to verify...
Comment 5 Raksha Vasisht CLA 2009-10-27 05:46:12 EDT
Verified for 3.6 M3 with I20091026-1800. 

The progress bar is shown now but there is a lot of flickering that happens due to many items "Queueing viewer updates" flashing in and out of the list. Filed bug 293412 to track.