Bug 285715 - NPE during CVS checkout
Summary: NPE during CVS checkout
Status: RESOLVED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: CVS (show other bugs)
Version: 3.6   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: 3.6 M1   Edit
Assignee: platform-cvs-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 107082
Blocks:
  Show dependency tree
 
Reported: 2009-08-05 10:51 EDT by Benjamin Muskalla CLA
Modified: 2009-08-17 03:53 EDT (History)
2 users (show)

See Also:


Attachments
Patch_1.0 (2.39 KB, patch)
2009-08-06 05:56 EDT, Natalia Bartol CLA
no flags Details | Diff
Patch_2.0 (2.48 KB, patch)
2009-08-06 06:10 EDT, Natalia Bartol CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Benjamin Muskalla CLA 2009-08-05 10:51:36 EDT
I20090730-2000

This just happend when I tried to checkout a CVS project.

org.eclipse.core.runtime.AssertionFailedException: null argument:Invalid access from non-UI thread.
	at org.eclipse.core.runtime.Assert.isNotNull(Assert.java:85)
	at org.eclipse.jface.dialogs.IconAndMessageDialog.getSWTImage(IconAndMessageDialog.java:271)
	at org.eclipse.jface.dialogs.IconAndMessageDialog.getQuestionImage(IconAndMessageDialog.java:260)
	at org.eclipse.jface.dialogs.MessageDialog.<init>(MessageDialog.java:184)
	at org.eclipse.team.internal.ui.dialogs.MultipleYesNoPrompter.confirmOverwrite(MultipleYesNoPrompter.java:108)
	at org.eclipse.team.internal.ui.dialogs.MultipleYesNoPrompter.shouldInclude(MultipleYesNoPrompter.java:83)
	at org.eclipse.team.internal.ccvs.ui.operations.CVSOperation.promptToOverwrite(CVSOperation.java:233)
	at org.eclipse.team.internal.ccvs.ui.operations.CheckoutProjectOperation.promptToOverwrite(CheckoutProjectOperation.java:439)
	at org.eclipse.team.internal.ccvs.ui.operations.CheckoutProjectOperation.scrubProjects(CheckoutProjectOperation.java:366)
	at org.eclipse.team.internal.ccvs.ui.operations.CheckoutProjectOperation.performCheckout(CheckoutProjectOperation.java:226)
	at org.eclipse.team.internal.ccvs.ui.operations.CheckoutProjectOperation$2.run(CheckoutProjectOperation.java:171)
	at org.eclipse.team.internal.ccvs.core.resources.EclipseSynchronizer.run(EclipseSynchronizer.java:1481)
	at org.eclipse.team.internal.ccvs.ui.operations.CheckoutProjectOperation.checkout(CheckoutProjectOperation.java:169)
	at org.eclipse.team.internal.ccvs.ui.operations.CheckoutMultipleProjectsOperation.checkout(CheckoutMultipleProjectsOperation.java:58)
	at org.eclipse.team.internal.ccvs.ui.operations.CheckoutOperation.checkout(CheckoutOperation.java:47)
	at org.eclipse.team.internal.ccvs.ui.operations.CheckoutOperation.execute(CheckoutOperation.java:32)
	at org.eclipse.team.internal.ccvs.ui.operations.CVSOperation.run(CVSOperation.java:81)
	at org.eclipse.team.internal.ui.actions.JobRunnableContext.run(JobRunnableContext.java:144)
	at org.eclipse.team.internal.ui.actions.JobRunnableContext$ResourceJob.runInWorkspace(JobRunnableContext.java:72)
	at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Comment 1 Szymon Brandys CLA 2009-08-05 11:20:09 EDT
Looks like another victim of the fix in IconAndMessageDialog :-) Looking for the bug number...
Comment 2 Szymon Brandys CLA 2009-08-05 11:24:17 EDT
I believe it works now with the fix for bug 107082.
Comment 3 Szymon Brandys CLA 2009-08-05 11:27:15 EDT
Krzysztof, please look at it thanks.
Comment 4 Tomasz Zarna CLA 2009-08-06 04:28:45 EDT
I saw it as well some time ago, but when updated to a newer build, I haven't seen it since.
Comment 5 Natalia Bartol CLA 2009-08-06 05:56:45 EDT
Created attachment 143622 [details]
Patch_1.0

I put the whole MultipleYesNoPrompter#confirmOverwrite method call from MultipleYesNoPrompter#shouldInclude into UI thread and removed running UI thread  and final variables from the inside of MultipleYesNoPrompter#confirmOverwrite as no longer needed. Invalid access from non-UI thread should not occur any more.
Comment 6 Natalia Bartol CLA 2009-08-06 06:10:13 EDT
Created attachment 143624 [details]
Patch_2.0

I added also check if shellProvider.getShell() is not null inside MultipleYesNoPrompter#shouldInclude to avoid another NPE.
Comment 7 Szymon Brandys CLA 2009-08-17 03:53:57 EDT
This particular problem was fixed along with bug 107082. If you want to improve the current code, please raise a separate bug and continue work there.