Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 280939 - I'm feeling lazy button creates bogus task
Summary: I'm feeling lazy button creates bogus task
Status: RESOLVED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Mylyn (show other bugs)
Version: unspecified   Edit
Hardware: PC Linux
: P3 minor (vote)
Target Milestone: 3.2.2   Edit
Assignee: Steffen Pingel CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-06-19 14:11 EDT by Steffen Pingel CLA
Modified: 2009-08-11 17:02 EDT (History)
1 user (show)

See Also:


Attachments
fix (1.15 KB, patch)
2009-08-11 16:58 EDT, Steffen Pingel CLA
no flags Details | Diff
mylyn/context/zip (36.16 KB, application/octet-stream)
2009-08-11 16:58 EDT, Steffen Pingel CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Steffen Pingel CLA 2009-06-19 14:11:30 EDT
Steps:
1. Start with a clean workspace
2. Import Eclipse.org "1" task into Task List
3. Activate Task using I'm feeling Lazy button

The task editor is opened with an error message "Synchronize to retrieve task data" and a "New Task" is created in the Task List.
Comment 1 Steffen Pingel CLA 2009-06-19 14:13:46 EDT
org.eclipse.core.runtime.CoreException: Task data at "/home/stp/ws/.metadata/.mylyn/tasks/local-local/offline/1.zip" not found
        at org.eclipse.mylyn.internal.tasks.core.data.TaskDataManager$1.execute(TaskDataManager.java:117)
        at org.eclipse.mylyn.internal.tasks.core.TaskList.run(TaskList.java:657)
        at org.eclipse.mylyn.internal.tasks.core.TaskList.run(TaskList.java:649)
        at org.eclipse.mylyn.internal.tasks.core.data.TaskDataManager.getWorkingCopy(TaskDataManager.java:112)
        at org.eclipse.mylyn.internal.tasks.core.data.TaskDataManager.getWorkingCopy(TaskDataManager.java:104)
        at org.eclipse.mylyn.tasks.ui.editors.AbstractTaskEditorPage.createModel(AbstractTaskEditorPage.java:634)
        at org.eclipse.mylyn.internal.bugzilla.ui.editor.BugzillaTaskEditorPage.createModel(BugzillaTaskEditorPage.java:251)
        at org.eclipse.mylyn.tasks.ui.editors.AbstractTaskEditorPage.initModel(AbstractTaskEditorPage.java:1138)
        at org.eclipse.mylyn.tasks.ui.editors.AbstractTaskEditorPage.init(AbstractTaskEditorPage.java:1130)
        at org.eclipse.ui.forms.editor.FormEditor.registerPage(FormEditor.java:651)
        at org.eclipse.ui.forms.editor.FormEditor.configurePage(FormEditor.java:342)
        at org.eclipse.ui.forms.editor.FormEditor.addPage(FormEditor.java:190)
        at org.eclipse.mylyn.tasks.ui.editors.TaskEditor.addPages(TaskEditor.java:394)
        at org.eclipse.ui.forms.editor.FormEditor.createPages(FormEditor.java:138)
        at org.eclipse.ui.forms.editor.SharedHeaderFormEditor.createPages(SharedHeaderFormEditor.java:98)
        at org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:357)
        at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:662)
        at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:462)
        at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
        at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:313)
        at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:180)
        at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:270)
        at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
        at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:473)
        at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1256)
        at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1209)
        at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:1608)
        at org.eclipse.ui.internal.PartStack.add(PartStack.java:499)
        at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:103)
        at org.eclipse.ui.internal.PartStack.add(PartStack.java:485)
        at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:112)
        at org.eclipse.ui.internal.EditorSashContainer.addEditor(EditorSashContainer.java:63)
        at org.eclipse.ui.internal.EditorAreaHelper.addToLayout(EditorAreaHelper.java:225)
        at org.eclipse.ui.internal.EditorAreaHelper.addEditor(EditorAreaHelper.java:213)
        at org.eclipse.ui.internal.EditorManager.createEditorTab(EditorManager.java:778)
        at org.eclipse.ui.internal.EditorManager.openEditorFromDescriptor(EditorManager.java:677)
        at org.eclipse.ui.internal.EditorManager.openEditor(EditorManager.java:638)
        at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2854)
        at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2762)
        at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2754)
        at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2705)
        at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
        at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2701)
        at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2685)
        at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2668)
        at org.eclipse.mylyn.tasks.ui.TasksUiUtil.openEditor(TasksUiUtil.java:192)
        at org.eclipse.mylyn.tasks.ui.TasksUiUtil.openTask(TasksUiUtil.java:314)
        at org.eclipse.mylyn.internal.tasks.ui.util.TasksUiInternal.refreshAndOpenTaskListElement(TasksUiInternal.java:252)
        at org.eclipse.mylyn.internal.tasks.ui.actions.TaskSelectionDialogWithRandom$1.widgetSelected(TaskSelectionDialogWithRandom.java:88)
        at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228)
...
Comment 2 Steffen Pingel CLA 2009-08-11 16:57:42 EDT
Steps:
1. Create unsubmitted task for Eclipse.org (automatically scheduled for this week)
2. Delete task
3. Use I'm feeling lazy

The task editor is opened with an error.
Comment 3 Steffen Pingel CLA 2009-08-11 16:58:46 EDT
Created attachment 144148 [details]
fix
Comment 4 Steffen Pingel CLA 2009-08-11 16:58:49 EDT
Created attachment 144149 [details]
mylyn/context/zip
Comment 5 Steffen Pingel CLA 2009-08-11 17:02:55 EDT
Turns out that TaskActivityManager can hold on to deleted tasks objects and hence could case the "I'm feeling lazy" button to resurrect a non-existent unsubmitted task. I have filed bug 286337 and committed a work-around for now that checks that all selected tasks actually exist.

I have applied the patch to head and the service branch.