Bug 203058 - Building workspace hangs in endless loop
Summary: Building workspace hangs in endless loop
Status: VERIFIED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.3   Edit
Hardware: PC Windows XP
: P3 blocker (vote)
Target Milestone: 3.4 M2   Edit
Assignee: Kent Johnson CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 89301
  Show dependency tree
 
Reported: 2007-09-12 08:24 EDT by Benno Baumgartner CLA
Modified: 2007-09-18 06:03 EDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Benno Baumgartner CLA 2007-09-12 08:24:44 EDT
I20070911-0833

I can't build my workspace anymore in the latest IBuild: The progress hangs at 61% and progress message cycles from cleaning, analyzing, compiling and back.
It seams to reset always in the same package (eclipse/jdt/ui/wizards)

I can reproduce with a 1.5 and a 1.6 vm.

Nothing in the log.

This happened after switching to the newest IBuild on start. I did turn off auto build, clean all, and I was able to build the workspace. If I close jdt/ui project with autobuild enabled it does hang again, I have to clean all again. This is a blocker for me I have to go back to the last IBuild. Mmm, interesting: When starting last weeks IBuild it says: 
!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
Although that's not true.
Comment 1 Kent Johnson CLA 2007-09-12 09:41:49 EDT
This must be caused by the change for bug 89301.

Somehow the project's builder must think its been interrupted.

I'll remove the change for now.



Benno - how many projects were in your workspace ?

Was it in sync with CVS before you switched to the new I build ?
Comment 2 Benno Baumgartner CLA 2007-09-12 10:07:07 EDT
(In reply to comment #1)
> Benno - how many projects were in your workspace ?
67

> Was it in sync with CVS before you switched to the new I build ? 
No
Comment 3 Kent Johnson CLA 2007-09-12 10:41:42 EDT
All we're doing is checking to see if the project's builder believes it has been interrupted because of a change to one of its resources.

John - what kind of resource changes could cause a project to constantly think its been interrupted?
Comment 4 John Arthorne CLA 2007-09-12 11:10:06 EDT
Do you have a reproducible case? There is a .options file flag for tracking this down:

# Reports the cause of autobuild interruption
org.eclipse.core.resources/build/interrupt=true
org.eclipse.core.resources/debug=true

Comment 5 Kent Johnson CLA 2007-09-12 11:29:04 EDT
Benno - please try your workspace with the latest I-build again with the options enabled.

I've tried my JDT/UI workspace & its fine.

We also haven't heard from any other developers that this is a problem for them.
Comment 6 Benno Baumgartner CLA 2007-09-12 11:45:05 EDT
(In reply to comment #4)
> Do you have a reproducible case? 

Yes

>There is a .options file flag for tracking this down:
> 
> # Reports the cause of autobuild interruption
> org.eclipse.core.resources/build/interrupt=true
> org.eclipse.core.resources/debug=true
> 

Starting application: 2311
Application Started: 14349
Autobuild was interrupted:
java.lang.Exception
	at org.eclipse.core.internal.events.AutoBuildJob.interrupt(AutoBuildJob.java:187)
	at org.eclipse.core.internal.events.BuildManager.interrupt(BuildManager.java:792)
	at org.eclipse.core.internal.resources.Workspace.prepareOperation(Workspace.java:1742)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1792)
	at org.polarion.team.svn.core.utility.ProgressMonitorUtility$1.run(ProgressMonitorUtility.java:59)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Scheduling rebuild due to interruption
Autobuild was interrupted:
java.lang.Exception
	at org.eclipse.core.internal.events.AutoBuildJob.interrupt(AutoBuildJob.java:187)
	at org.eclipse.core.internal.events.BuildManager.interrupt(BuildManager.java:792)
	at org.eclipse.core.internal.resources.Workspace.prepareOperation(Workspace.java:1742)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1792)
	at org.polarion.team.svn.core.utility.ProgressMonitorUtility$1.run(ProgressMonitorUtility.java:59)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Scheduling rebuild due to interruption
Autobuild was interrupted:

and many more.
Comment 7 Benno Baumgartner CLA 2007-09-12 12:01:26 EDT
The workspace runnable for which prepareOperation is called resulting in the reset is: org.polarion.team.svn.core.utility.ProgressMonitorUtility$2@ec2bb1
they do pass in a none null scheduling rule: org.polarion.team.svn.core.operation.AbstractNonLockingOperation$NonLockingRule@16163b9
Comment 8 Benno Baumgartner CLA 2007-09-12 12:07:03 EDT
yep, removing the subversive plugin did help. I can build the workspace without it.
Comment 9 John Arthorne CLA 2007-09-12 12:11:43 EDT
I suspect this operation has always been interrupting your autobuilds, but it's now more noticeable because the interruption has a much larger cost. Previously, the build would have been restarted, but each time it would successfully run one builder. Eventually all builders would run successfully, even with constant interruption. Now, it's not making any progress at all because the interruption causes the builder to restart from scratch.

This is clearly a bug in the Polarion plugin you have installed, and it should be reported to them. However, if a misbehaving plugin can have such a drastic effect, I'm not sure we can fix bug 89301 after all.
Comment 10 Kent Johnson CLA 2007-09-12 12:17:52 EDT
I agree.

If a misbehaving plugin can cause a builder to believe its interrupted then we cannot use it.
Comment 11 Kent Johnson CLA 2007-09-12 13:52:16 EDT
Removed the complete patch for bug 89301
Comment 12 Benno Baumgartner CLA 2007-09-13 04:01:29 EDT
(In reply to comment #11)
> Removed the complete patch for bug 89301
> 

Sorry guys :-(
Comment 13 Jerome Lanneluc CLA 2007-09-18 06:03:49 EDT
Verified for 3.4M2 using I20070917-1800