Community
Participate
Working Groups
I20110215-0800 1. Check out o.e.pde.ui 2. copy org.eclipse.pde.internal.ui.wizards.imports.RepositoryImportWizard.addPages()) 3. invoke Open from Clipboard a dialog would open telling it could not understand the clipboard contents. However, the error log would log this exception Stack trace eclipse.buildId=I20110215-0800 java.fullversion=JRE 1.6.0 IBM J9 2.4 Windows XP x86-32 jvmwi3260sr7-20091214_49398 (JIT enabled, AOT enabled) J9VM - 20091214_049398 JIT - r9_20091123_13891 GC - 20091111_AA BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US Command-line arguments: -os win32 -ws win32 -arch x86 Error Sun Feb 20 12:42:50 IST 2011 Internal Error java.lang.reflect.InvocationTargetException at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:421) at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:507) at org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog.run(ProgressMonitorJobsDialog.java:275) at org.eclipse.ui.internal.progress.ProgressManager$5.run(ProgressManager.java:960) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.ui.internal.progress.ProgressManager.busyCursorWhile(ProgressManager.java:995) at org.eclipse.ui.internal.progress.ProgressManager.busyCursorWhile(ProgressManager.java:970) at org.eclipse.jdt.internal.debug.ui.actions.OpenFromClipboardAction.executeRunnable(OpenFromClipboardAction.java:416) at org.eclipse.jdt.internal.debug.ui.actions.OpenFromClipboardAction.getMethodMatches(OpenFromClipboardAction.java:370) at org.eclipse.jdt.internal.debug.ui.actions.OpenFromClipboardAction.getJavaElementMatches(OpenFromClipboardAction.java:318) at org.eclipse.jdt.internal.debug.ui.actions.OpenFromClipboardAction.handleSingleLineInput(OpenFromClipboardAction.java:254) at org.eclipse.jdt.internal.debug.ui.actions.OpenFromClipboardAction.run(OpenFromClipboardAction.java:187) at org.eclipse.ui.internal.handlers.ActionDelegateHandlerProxy.execute(ActionDelegateHandlerProxy.java:289) at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476) at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508) at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169) at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241) at org.eclipse.ui.menus.CommandContributionItem.handleWidgetSelection(CommandContributionItem.java:824) at org.eclipse.ui.menus.CommandContributionItem.access$19(CommandContributionItem.java:810) at org.eclipse.ui.menus.CommandContributionItem$5.handleEvent(CommandContributionItem.java:800) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4126) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3715) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2700) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2664) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2498) at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:600) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) at org.eclipse.equinox.launcher.Main.run(Main.java:1410) Caused by: java.lang.NullPointerException at org.eclipse.jdt.internal.core.search.matching.MatchLocator.findIndexMatches(MatchLocator.java:264) at org.eclipse.jdt.internal.core.search.PatternSearchJob.search(PatternSearchJob.java:96) at org.eclipse.jdt.internal.core.search.PatternSearchJob.execute(PatternSearchJob.java:63) at org.eclipse.jdt.internal.core.search.processing.JobManager.performConcurrentJob(JobManager.java:277) at org.eclipse.jdt.internal.core.search.BasicSearchEngine.findMatches(BasicSearchEngine.java:214) at org.eclipse.jdt.internal.core.search.BasicSearchEngine.search(BasicSearchEngine.java:515) at org.eclipse.jdt.core.search.SearchEngine.search(SearchEngine.java:584) at org.eclipse.jdt.internal.debug.ui.actions.OpenFromClipboardAction.doMemberSearch(OpenFromClipboardAction.java:655) at org.eclipse.jdt.internal.debug.ui.actions.OpenFromClipboardAction.access$1(OpenFromClipboardAction.java:616) at org.eclipse.jdt.internal.debug.ui.actions.OpenFromClipboardAction$2.run(OpenFromClipboardAction.java:372) at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
> org.eclipse.pde.internal.ui.wizards.imports.RepositoryImportWizard.addPages()) One ')' too much at the end makes SearchPattern#createPattern(..) return null. > at > org.eclipse.jdt.internal.debug.ui.actions.OpenFromClipboardAction.doMemberSearch(OpenFromClipboardAction.java:655)
Created attachment 192929 [details] fix (In reply to comment #0) > Caused by: java.lang.NullPointerException > at > org.eclipse.jdt.internal.core.search.matching.MatchLocator.findIndexMatches(MatchLocator.java:264) > at > org.eclipse.jdt.internal.core.search.PatternSearchJob.search(PatternSearchJob.java:96) > at > org.eclipse.jdt.internal.core.search.PatternSearchJob.execute(PatternSearchJob.java:63) > at > org.eclipse.jdt.internal.core.search.processing.JobManager.performConcurrentJob(JobManager.java:277) > at > org.eclipse.jdt.internal.core.search.BasicSearchEngine.findMatches(BasicSearchEngine.java:214) > at > org.eclipse.jdt.internal.core.search.BasicSearchEngine.search(BasicSearchEngine.java:515) > at org.eclipse.jdt.core.search.SearchEngine.search(SearchEngine.java:584) > at > org.eclipse.jdt.internal.debug.ui.actions.OpenFromClipboardAction.doMemberSearch(OpenFromClipboardAction.java:655) > at > org.eclipse.jdt.internal.debug.ui.actions.OpenFromClipboardAction.access$1(OpenFromClipboardAction.java:616) > at > org.eclipse.jdt.internal.debug.ui.actions.OpenFromClipboardAction$2.run(OpenFromClipboardAction.java:372) > at > org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121) If the search pattern is null, a search is not performed anymore which gets rid of the above NPE. This check is same as in org.eclipse.jdt.internal.ui.search.JavaSearchPage.isValidSearchPattern(). The dialog will still come because there is an extra ')' but there will be no exception in the error log. Dani, please commit the patch if you are ok with it.
Comment on attachment 192929 [details] fix The patch goes into the right direction but has some issues: - it changes the work units of one progress monitor - 'doMemberSearch1' is not really a good name - imports are mangled Committed patch to HEAD with fixes for the above mentioned issued.
.