Community
Participate
Working Groups
Build Identifier: 20110615-0604 I have checked out the wine repository with git. I configure the project, build the install target if i reconfigure the project afterwards the reconfigure action doesnt complete and locks down my workspace. canceling the action has no effect. After more than 1 hour the action will complete and i can use the workspace again. Reproducible: Always Steps to Reproduce: 1.clone wine git repo git://source.winehq.org/git/wine.git 2.import wine as new c autotools project 3.set configure options change prefix to some path(night not be needed) 4.reconfigure project(can already trigger it) 5.build project with install target 6.reconfigure project
Created attachment 199391 [details] messages from the workspace
Problem turns out to be because Autotools tried to save time with MakeTargets by finding existing MakeTargets and re-using them. This causes a problem because any alteration to the MakeTarget (e.g. setting its default command, target, special properties) results in event notification. The answer is just to create the MakeTarget from scratch each time and use the setTargets to set all targets at once. Fix has been pushed to repository and will appear in next nightly build.
Jeff fixed this in commit 1a66e90bb: http://git.eclipse.org/c/linuxtools/org.eclipse.linuxtools.git/commit/?id=1a66e90bbf64b2dfe4153822296e14071a7e423f
I have updated linuxtools to version I201107221804 from http://download.eclipse.org/technology/linuxtools/updates-nightly which should include the fix for this bug. But its not fixed: When I run reconfigure project the action completes successfully. If I do reconfigure project right afterwards the 2nd one still takes a long time to complete.
(In reply to comment #4) > I have updated linuxtools to version I201107221804 from > http://download.eclipse.org/technology/linuxtools/updates-nightly > which should include the fix for this bug. > > But its not fixed: > When I run reconfigure project the action completes successfully. > If I do reconfigure project right afterwards the 2nd one still takes a long > time to complete. I originally recreated a hang with a small project and was able to fix it with the aforementioned patch applied. However, retrying with the wine project, I was able to reproduce your issue. There are over 13000 Make Targets and the CDT MakeTargetManager logic was still trying to do updates of MakeTargets (though a lot less of them), but with the sheer number of targets and events flying around, this stalled the build process with no way of cancelling. I have made another patch which resets the MakeTargets to a single invalid target so that there can be no MakeTargetManager matches made and no change events will be sent out. I have verified this with the wine project and there is hardly any noticeable time taken adding MakeTargets. Fix should be in next nightly update.
Will you back-port this to stable-0.8, Jeff?
(In reply to comment #6) > Will you back-port this to stable-0.8, Jeff? Yes.
Please update the target milestone to 0.8.1 and paste the commit SHA-1 here when you do. Thanks.
(In reply to comment #8) > Please update the target milestone to 0.8.1 and paste the commit SHA-1 here > when you do. Thanks. 4 commits were cherry-picked from master. The last SHA-1 is: commit 299b1243c2a02b5a8aec67e5e8d23a1316b28997