Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 366077

Summary: [Xtend] NPE in ImportManager.appendType
Product: [Modeling] TMF Reporter: Marcel Bruch <marcel.bruch>
Component: XtextAssignee: Project Inbox <tmf.xtext-inbox>
Status: CLOSED FIXED QA Contact:
Severity: critical    
Priority: P3 CC: sven.efftinge
Version: 2.2.0Flags: sven.efftinge: juno+
Target Milestone: M4   
Hardware: PC   
OS: Mac OS X - Carbon (unsup.)   
Whiteboard:
Attachments:
Description Flags
eclipse configuration dump none

Description Marcel Bruch CLA 2011-12-08 12:50:43 EST
I upgrade my installation from 2.1 to 2.2.


Whenever I save an xtend file, the builder creates the following log entry and no java file is generated. Do you need more information?


org.eclipse.xtext.builder.impl.XtextBuilder  -
java.lang.NullPointerException
	at org.eclipse.xtext.xbase.compiler.ImportManager.appendType(ImportManager.java:70)
	at org.eclipse.xtext.xbase.compiler.StringBuilderBasedAppendable.appendType(StringBuilderBasedAppendable.java:101)
	at org.eclipse.xtext.xbase.compiler.StringBuilderBasedAppendable.append(StringBuilderBasedAppendable.java:23)
	at org.eclipse.xtext.xbase.compiler.AbstractXbaseCompiler.compile(AbstractXbaseCompiler.java:195)
	at org.eclipse.xtext.xbase.compiler.JvmModelGenerator.generateBody(JvmModelGenerator.java:742)
	at org.eclipse.xtext.xbase.compiler.JvmModelGenerator._generateMember(JvmModelGenerator.java:499)
	at org.eclipse.xtext.xbase.compiler.JvmModelGenerator.generateMember(JvmModelGenerator.java:1130)
	at org.eclipse.xtext.xbase.compiler.JvmModelGenerator$1.apply(JvmModelGenerator.java:168)
	at org.eclipse.xtext.xbase.compiler.JvmModelGenerator$1.apply(JvmModelGenerator.java:1)
	at org.eclipse.xtext.xbase.lib.internal.FunctionDelegate.apply(FunctionDelegate.java:40)
	at com.google.common.collect.Lists$TransformingRandomAccessList.get(Lists.java:451)
	at java.util.AbstractList$Itr.next(AbstractList.java:345)
	at com.google.common.collect.Iterators$7.computeNext(Iterators.java:644)
	at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:141)
	at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:136)
	at org.eclipse.xtext.xbase.compiler.JvmModelGenerator.generateBody(JvmModelGenerator.java:181)
	at org.eclipse.xtext.xbase.compiler.JvmModelGenerator.generateType(JvmModelGenerator.java:96)
	at org.eclipse.xtext.xbase.compiler.JvmModelGenerator._internalDoGenerate(JvmModelGenerator.java:87)
	at org.eclipse.xtext.xbase.compiler.JvmModelGenerator.internalDoGenerate(JvmModelGenerator.java:1105)
	at org.eclipse.xtext.xbase.compiler.JvmModelGenerator.doGenerate(JvmModelGenerator.java:76)
	at org.eclipse.xtext.xtend2.ui.builder.XtendBuilderParticipant.handleChangedContents(XtendBuilderParticipant.java:46)
	at org.eclipse.xtext.builder.BuilderParticipant.build(BuilderParticipant.java:168)
	at org.eclipse.xtext.builder.impl.RegistryBuilderParticipant.build(RegistryBuilderParticipant.java:60)
	at org.eclipse.xtext.builder.impl.XtextBuilder.doBuild(XtextBuilder.java:160)
	at org.eclipse.xtext.builder.impl.XtextBuilder.incrementalBuild(XtextBuilder.java:141)
	at org.eclipse.xtext.builder.impl.XtextBuilder.build(XtextBuilder.java:91)
	at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:728)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239)
	at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:292)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295)
	at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351)
	at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374)
	at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143)
	at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Comment 1 Sven Efftinge CLA 2011-12-09 03:52:54 EST
I couldn't reproduce it.
What version of Eclipse do you use and what's the qualifier of the 2.2 build you have?
Comment 2 Sven Efftinge CLA 2011-12-09 03:55:58 EST
Also your OSGi-Manifest (or class path configuration) would be interesting.
Comment 3 Sven Efftinge CLA 2011-12-09 03:58:36 EST
it seems like you have the old cbae lib on the class path (i.e. Exceptions) is not found.
We'll make this more robust. Thanks.
Comment 4 Marcel Bruch CLA 2011-12-09 06:27:21 EST
Created attachment 208161 [details]
eclipse configuration dump

This configuration lists the complete classpath of my running Eclipse installation. Maybe this answers some version questions.
Comment 5 Marcel Bruch CLA 2011-12-09 06:29:45 EST
Is there a simple way how I can make it work? Uninstall/clean/reinstall doesn't solve it.

What does "cbae" stand for? Which lib should I update/exchange?


Project's manifest.mf:

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Code Recommenders: Tests for Chain Completion (Incubation)
Bundle-SymbolicName: org.eclipse.recommenders.tests.completion.rcp.chain
Bundle-Version: 0.5.0.qualifier
Bundle-Vendor: Eclipse Code Recommenders
Fragment-Host: org.eclipse.recommenders.completion.rcp.chain
Require-Bundle: org.junit4,
 org.apache.log4j,
 org.eclipse.ui,
 org.apache.commons.collections,
 org.hamcrest,
 org.apache.commons.io,
 org.eclipse.pde,
 org.eclipse.recommenders.tests,
 org.eclipse.core.resources,
 org.eclipse.recommenders.utils,
 org.eclipse.jdt.core,
 org.eclipse.jdt.ui,
 org.eclipse.core.runtime,
 org.eclipse.recommenders.completion.rcp,
 org.eclipse.recommenders.utils.rcp,
 org.apache.commons.lang3,
 com.google.inject,
 com.google.guava,
 org.eclipse.xtend2.lib,
 org.eclipse.xtext.xbase.lib
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Comment 6 Sven Efftinge CLA 2011-12-09 06:50:51 EST
Sorry, it should have been 'xbase'.

You need to make sure, to have org.eclipse.xtext.xbase.lib in version 2.2.0 on your classpath.
Comment 7 Sven Efftinge CLA 2011-12-09 06:51:30 EST
I.e. update your target platform.
Comment 8 Marcel Bruch CLA 2011-12-09 08:29:47 EST
thx. solved.
Comment 9 Sven Efftinge CLA 2011-12-09 08:43:33 EST
pushed to master
Comment 10 Karsten Thoms CLA 2017-09-19 17:21:30 EDT
Closing all bugs that were set to RESOLVED before Neon.0
Comment 11 Karsten Thoms CLA 2017-09-19 17:32:53 EDT
Closing all bugs that were set to RESOLVED before Neon.0