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

Bug 336595

Summary: NPE saving empty QualifiedName
Product: [Modeling] TMF Reporter: Ed Willink <ed>
Component: XtextAssignee: Project Inbox <tmf.xtext-inbox>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: sebastian.zarnekow
Version: 2.0.0Flags: sebastian.zarnekow: indigo+
Target Milestone: M6   
Hardware: PC   
OS: Windows Vista   
Whiteboard:

Description Ed Willink CLA 2011-02-08 04:47:37 EST
The following NPE can arise when a QualifiedName has no segments e.g. QualifiedName.EMPTY

Thread [Worker-1] (Suspended (exception NullPointerException))	
	XMLSaveImpl$Escape.convert(String) line: 3252	
	XMISaveImpl(XMLSaveImpl).getDatatypeValue(Object, EStructuralFeature, boolean) line: 3082	
	XMISaveImpl(XMLSaveImpl).saveDataTypeSingle(EObject, EStructuralFeature) line: 1678	
	XMISaveImpl(XMLSaveImpl).saveFeatures(EObject) line: 1265	
	XMISaveImpl(XMLSaveImpl).saveElementID(EObject) line: 2685	
	XMISaveImpl(XMLSaveImpl).saveElement(EObject, EStructuralFeature) line: 1174	
	XMISaveImpl(XMLSaveImpl).saveElement(InternalEObject, EStructuralFeature) line: 1035	
	XMISaveImpl(XMLSaveImpl).saveContainedMany(EObject, EStructuralFeature) line: 2386	
	XMISaveImpl(XMLSaveImpl).saveFeatures(EObject) line: 1533	
	XMISaveImpl(XMLSaveImpl).saveElementID(EObject) line: 2685	
	XMISaveImpl.writeTopObjects(List<EObject>) line: 90	
	XMISaveImpl(XMLSaveImpl).traverse(List<EObject>) line: 592	
	XMISaveImpl(XMLSaveImpl).save(XMLResource, OutputStream, Map<?,?>) line: 256	
	XMIResourceImpl(XMLResourceImpl).doSave(OutputStream, Map<?,?>) line: 302	
	XMIResourceImpl(ResourceImpl).save(OutputStream, Map<?,?>) line: 1409	
	XMIResourceImpl(ResourceImpl).save(Map<?,?>) line: 991	
	EMFBasedPersister.save(Iterable<IResourceDescription>) line: 117	
	EMFBasedPersister$1.saving(ISaveContext) line: 89	
	SaveManager.executeLifecycle(int, ISaveParticipant, SaveContext) line: 357	
	SaveManager$1.run() line: 166	
	SafeRunner.run(ISafeRunnable) line: 42	
	SaveManager.broadcastLifecycle(int, Map, MultiStatus, IProgressMonitor) line: 169	
	SaveManager.save(int, boolean, Project, IProgressMonitor) line: 1104	
	SaveManager.save(int, Project, IProgressMonitor) line: 1083	
	DelayedSnapshotJob.run(IProgressMonitor) line: 44	
	Worker.run() line: 54	

because

BuilderStateFactoryImpl.convertQualifiedNameToString

fails to convert the null return from

Strings.pack

to "".
Comment 1 Ed Willink CLA 2011-03-03 05:15:19 EST
Ping.

This one is high priority. The NPE occurs while saving workspace state when exiting Eclipse. Very inelegant.
Comment 2 Sebastian Zarnekow CLA 2011-03-03 05:27:58 EST
(In reply to comment #1)
> Ping.
> 
> This one is high priority. The NPE occurs while saving workspace state when
> exiting Eclipse. Very inelegant.

Thanks for the friendly pointer, Ed.
Comment 3 Sebastian Zarnekow CLA 2011-03-03 16:09:57 EST
Pushed to master.
Comment 4 Ed Willink CLA 2011-03-05 02:06:41 EST
Any schedule for an N-build with this in? last visible N-build was on the 2nd.
Comment 5 Karsten Thoms CLA 2017-09-19 17:52:51 EDT
Closing all bugs that were set to RESOLVED before Neon.0
Comment 6 Karsten Thoms CLA 2017-09-19 18:03:34 EDT
Closing all bugs that were set to RESOLVED before Neon.0