Bug 478591 - NullPointerException in AbstractStringBuilderBasedAppendable.append (60)
Summary: NullPointerException in AbstractStringBuilderBasedAppendable.append (60)
Status: RESOLVED WORKSFORME
Alias: None
Product: Xtend
Classification: Tools
Component: Errors (show other bugs)
Version: 2.8.4   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Karsten Thoms CLA
QA Contact:
URL:
Whiteboard:
Keywords: needinfo
Depends on:
Blocks:
 
Reported: 2015-09-29 02:39 EDT by EPP Error Reports CLA
Modified: 2016-09-13 09:28 EDT (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description EPP Error Reports CLA 2015-09-29 02:39:41 EDT
The following incident was reported via the automated error reporting:


    code:                   0
    plugin:                 org.eclipse.ui_3.107.0.v20150507-1945
    message:                HIDDEN
    fingerprint:            60175761
    exception class:        java.lang.NullPointerException
    exception message:      HIDDEN
    number of children:     0
    
    java.lang.NullPointerException: HIDDEN
    at org.eclipse.xtext.xbase.compiler.AbstractStringBuilderBasedAppendable.append(AbstractStringBuilderBasedAppendable.java:60)
    at org.eclipse.xtext.xbase.compiler.AbstractStringBuilderBasedAppendable.append(AbstractStringBuilderBasedAppendable.java:1)
    at org.eclipse.xtend.ide.refactoring.ExtractMethodRefactoring.appendMethodSignature(ExtractMethodRefactoring.java:307)
    at org.eclipse.xtend.ide.refactoring.ExtractMethodRefactoring.getMethodSignature(ExtractMethodRefactoring.java:279)
    at org.eclipse.xtend.ide.refactoring.ExtractMethodUserInputPage.updatePreview(ExtractMethodUserInputPage.java:249)
    at org.eclipse.xtend.ide.refactoring.ExtractMethodUserInputPage$4.widgetSelected(ExtractMethodUserInputPage.java:173)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4230)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1491)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1514)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1499)
    at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1299)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4072)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3698)
    at org.eclipse.jface.window.Window.runEventLoop(Window.java:827)
    at org.eclipse.jface.window.Window.open(Window.java:803)
    at org.eclipse.xtext.ui.refactoring.ui.RefactoringWizardOpenOperation_NonForking$1.run(RefactoringWizardOpenOperation_NonForking.java:112)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
    at org.eclipse.xtext.ui.refactoring.ui.RefactoringWizardOpenOperation_NonForking.run(RefactoringWizardOpenOperation_NonForking.java:126)
    at org.eclipse.xtext.ui.refactoring.ui.RefactoringWizardOpenOperation_NonForking.run(RefactoringWizardOpenOperation_NonForking.java:71)
    at org.eclipse.xtend.ide.refactoring.ExtractMethodHandler.execute(ExtractMethodHandler.java:81)
    at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:295)
    at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
    at sun.reflect.GeneratedMethodAccessor147.invoke(null:-1)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:483)
    at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
    at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:252)
    at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:234)
    at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
    at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:152)
    at org.eclipse.core.commands.Command.executeWithChecks(Command.java:493)
    at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:486)
    at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210)
    at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:799)
    at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.handleWidgetSelection(HandledContributionItem.java:675)
    at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.access$7(HandledContributionItem.java:659)
    at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem$4.handleEvent(HandledContributionItem.java:592)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4230)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1491)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1514)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1499)
    at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1299)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4072)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3698)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:483)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
   
  

General Information:

    reported-by:      
    anonymous-id:     879f772e-6211-4311-aa5d-5157af0a73eb
    eclipse-build-id: 4.5.0.I20150603-2000
    eclipse-product:  org.eclipse.epp.package.committers.product
    operating system: MacOSX 10.10.5 (x86_64) - cocoa
    jre-version:      1.8.0_31-b13

The following plug-ins were present on the execution stack (*):
    1. org.eclipse.core.commands_3.7.0.v20150422-0725
    2. org.eclipse.core.databinding.observable_1.5.0.v20150422-0725
    3. org.eclipse.core.databinding_1.5.0.v20150422-0725
    4. org.eclipse.core.runtime_3.11.0.v20150405-1723
    5. org.eclipse.e4.core.commands_0.11.0.v20150422-0725
    6. org.eclipse.e4.core.contexts_1.4.0.v20150421-2214
    7. org.eclipse.e4.core.di_1.5.0.v20150421-2214
    8. org.eclipse.e4.ui.workbench_1.3.0.v20150531-1948
    9. org.eclipse.e4.ui.workbench.renderers.swt_0.13.0.v20150603-0857
    10. org.eclipse.e4.ui.workbench.swt_0.13.0.v20150504-0621
    11. org.eclipse.equinox.app_1.3.300.v20150423-1356
    12. org.eclipse.equinox.launcher_1.3.100.v20150511-1540
    13. org.eclipse.jface_3.11.0.v20150602-1400
    14. org.eclipse.swt_3.104.0.v20150528-0211
    15. org.eclipse.ui_3.107.0.v20150507-1945
    16. org.eclipse.ui.ide.application_1.1.0.v20150422-0725
    17. org.eclipse.ui.ide_3.11.0.v20150510-1749
    18. org.eclipse.xtend.ide_2.8.4.v201508050135
    19. org.eclipse.xtend_2.1.0.v201505260349
    20. org.eclipse.xtext.ui_2.8.4.v201508050135
    21. org.eclipse.xtext_2.8.4.v201508050135
    22. org.eclipse.xtext.xbase_2.8.4.v201508050135

Please note that:
* Messages, stacktraces, and nested status objects may be shortened.
* Bug fields like status, resolution, and whiteboard are sent
  back to reporters.
* The list of present bundles and their respective versions was
  calculated by package naming heuristics. This may or may not reflect reality.

Other Resources:
* Report: https://dev.eclipse.org/recommenders/committers/confess/#/problems/560953d0e4b000b0bdbc1682  
* Manual: https://dev.eclipse.org/recommenders/community/confess/#/guide


Thank you for your assistance.
Your friendly error-reports-inbox.

This bug was created on behalf of sebastian.zarnekow@xxxxxxxxxxxx.
Comment 1 Karsten Thoms CLA 2016-09-13 09:28:13 EDT
The exception occurs during an Extract Method refactoring. The exception can only occur when a null typeRef is passed into the append method. From ExtractMethodRefactoring#307 can be seen that it should be the return type.

I think this could only happen when the actual return type is not known or not resolvable.

However, I tried to use the Extract Method refactoring with different "broken" scenarios. In all cases the return type was an UnknownTypeReference and thus "Object" was appended.

Therefore I consider this bug as working with the current state of Xtext.