| Summary: | TaskSelectionDialog causes high load | ||||||
|---|---|---|---|---|---|---|---|
| Product: | z_Archived | Reporter: | Benjamin Muskalla <b.muskalla> | ||||
| Component: | Mylyn | Assignee: | Benjamin Muskalla <b.muskalla> | ||||
| Status: | CLOSED MOVED | QA Contact: | |||||
| Severity: | major | ||||||
| Priority: | P1 | CC: | shawn.minto, steffen.pingel | ||||
| Version: | unspecified | ||||||
| Target Milestone: | --- | ||||||
| Hardware: | PC | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
|
Description
Benjamin Muskalla
Created attachment 193616 [details]
thread dump
the thread dump
Do you have any steps how you are typically opening or closing the dialog? From a quick look at the code it appears that listeners are properly removed and the job is being cancelled. Do you have any errors in the log? Nothing in the logs. I remember that sometimes, when I open up the dialog, Mylyn starts indexing (stays first a 0%) and in that moment I cancel the dialog with Escape and search in the task list :P Maybe that's how I manage to get into this state. As said, this happens sometimes, saw it 2-3 times in the last weeks. And that is the open task dialog? How do you trigger the dialog, through the key-binding? Yup, using "Open Task" and "Activate Task" dialog, always access via keybindings. I think I just got some more infos: Used the Open Task dialog while the "Synchronize Queres" job was running in the background. Opening the dialog and typing something ended in "Searching in cache (0%)". At this point, no filtering was happening and it was stuck at 0%. At that time, my mylyn consumes endless cycles and I need to restart Eclipse. Steffen, any good idea how to track this down? Anything I can provide the next time we see this? Happens to me almost every day now. Same as before, Searching in cache is stuck at 0%. Will try to investigate as I'm running Mylyn in debug mode anyway. Are you still seeing this problem? Didn't happen in the last two weeks (reinstall, currenlty running on OpenJDK). Let me get back to this next week, will run with Sun JDK again to see of the problem persists. If not, we should close this. Happened to me once some weeks ago and actually got it into debug mode. The problem was that Hashmap#put ran into an endless loop due to some clashing hashes. Never happend again after that. Will see if I can reproduce in a clean workspace. I see this problem as well with Eclipse 3.7.1 and Mylyn HEAD. I just noticed that the equals method uses the handle of the task, but the hashcode method uses the task id. I think that they should both use the handle. I wonder if this is the root cause of the problem. That might be related. It would be great if we could come up with a test case to reproduce the problem. The reason for the weird hashCode() implementation is that the handleIdentifier of tasks can change in the life-cycle of a task and hence the taskId is used. That is pretty bad but also not easy to change without a risk of causing regressions. I'll raise the priority of this bug though since the impact is very noticeable. Mylyn has been restructured, and our issue tracking has moved to GitHub [1]. We are closing ~14K Bugzilla issues to give the new team a fresh start. If you feel that this issue is still relevant, please create a new one on GitHub. [1] https://github.com/orgs/eclipse-mylyn |