Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 324055 - Spurious load of UML meta-model during shutdown
Summary: Spurious load of UML meta-model during shutdown
Status: RESOLVED FIXED
Alias: None
Product: Papyrus
Classification: Modeling
Component: Core (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows Vista
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-08-31 02:12 EDT by Ed Willink CLA
Modified: 2015-06-26 15:27 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ed Willink CLA 2010-08-31 02:12:46 EDT
I caught the following by accident while shutting down after debugging something not using Papyrus at all.

At EcoreResourceFactoryImpl$1(XMLResourceImpl).<init>(URI) line: 101, URI is http://www.eclipse.org/uml2/3.0.0/UML.

At Command.isEnabled() line: 833, 'this' is

Command(org.eclipse.papyrus.uml.service.creation.comment.Handler,Create a new Comment,
		Create a newComment,
		Category(org.eclipse.papyrus.editor.category,Papyrus Category,this a category of papyrus commands,true),
		org.eclipse.papyrus.uml.service.creation.handler.CommentHandler@862402,
		,,true)

suggesting that Papyrus is doing unexpected things. The complete trace is

Thread [main] (Suspended (breakpoint at line 101 in XMLResourceImpl))	
	EcoreResourceFactoryImpl$1(XMLResourceImpl).<init>(URI) line: 101	
	EcoreResourceFactoryImpl$1(XMIResourceImpl).<init>(URI) line: 47	
	EcoreResourceFactoryImpl$1.<init>(EcoreResourceFactoryImpl, URI) line: 40	
	EcoreResourceFactoryImpl.createResource(URI) line: 40	
	UMLPackageImpl(EPackageImpl).createResource(String) line: 753	
	UMLPackageImpl.loadPackage() line: 16843	
	UMLPackageImpl.init() line: 1965	
	UMLPackage.<clinit>() line: 83	
	Unsafe.ensureClassInitialized(Class) line: not available [native method]	
	UnsafeFieldAccessorFactory.newFieldAccessor(Field, boolean) line: 25	
	ReflectionFactory.newFieldAccessor(Field, boolean) line: 122	
	Field.acquireFieldAccessor(boolean) line: 918	
	Field.getFieldAccessor(Object) line: 899	
	Field.get(Object) line: 358	
	RegistryReader$EPackageDescriptor.getEPackage() line: 274	
	EPackageRegistryImpl.getEPackage(String) line: 133	
	MetamodelDescriptor.getEPackage() line: 75	
	MetamodelTypeDescriptor.getEClass() line: 149	
	HintedTypeFactory$HintedMetamodelType(MetamodelType).<init>(IMetamodelTypeDescriptor) line: 76	
	HintedTypeFactory$HintedMetamodelType.<init>(IMetamodelTypeDescriptor, String) line: 98	
	HintedTypeFactory.createMetamodelType(IMetamodelTypeDescriptor) line: 130	
	MetamodelTypeDescriptor.getElementType() line: 137	
	ElementTypeRegistry.getType(String) line: 861	
	AbstractElementTypeEnumerator.getElementType(String) line: 37	
	UMLElementTypes.<clinit>() line: 21	
	CommentHandler.getCommand() line: 38	
	CommentHandler(UMLHandler).isEnabled() line: 92	
	HandlerProxy.isEnabled() line: 320	
	Command.isEnabled() line: 833	
	Command.setHandler(IHandler) line: 965	
	HandlerAuthority.updateCommand(String, IHandlerActivation) line: 457	
	HandlerAuthority.deactivateHandler(IHandlerActivation) line: 312	
	HandlerService.deactivateHandler(IHandlerActivation) line: 148	
	HandlerService.deactivateHandlers(Collection) line: 157	
	HandlerPersistence.clearActivations(IHandlerService) line: 104	
	HandlerPersistence.dispose() line: 125	
	HandlerService.dispose() line: 163	
	ServiceLocator.dispose() line: 142	
	Workbench.shutdown() line: 2981	
	Workbench.busyClose(boolean) line: 1114	
	Workbench.access$15(Workbench, boolean) line: 1031	
	Workbench$25.run() line: 1275	
	BusyIndicator.showWhile(Display, Runnable) line: 70	
	Workbench.close(int, boolean) line: 1273	
	Workbench.close() line: 1245	
	WorkbenchWindow.busyClose() line: 731	
	WorkbenchWindow.access$0(WorkbenchWindow) line: 710	
	WorkbenchWindow$5.run() line: 826	
	BusyIndicator.showWhile(Display, Runnable) line: 70	
	WorkbenchWindow.close() line: 824	
	WorkbenchWindow(Window).handleShellCloseEvent() line: 741	
	Window$3.shellClosed(ShellEvent) line: 687	
	TypedListener.handleEvent(Event) line: 98	
	EventTable.sendEvent(Event) line: 84	
	Shell(Widget).sendEvent(Event) line: 1053	
	Shell(Widget).sendEvent(int, Event, boolean) line: 1077	
	Shell(Widget).sendEvent(int, Event) line: 1062	
	Shell(Decorations).closeWidget() line: 308	
	Shell(Decorations).WM_CLOSE(int, int) line: 1665	
	Shell(Control).windowProc(int, int, int, int) line: 4162	
	Shell(Canvas).windowProc(int, int, int, int) line: 341	
	Shell(Decorations).windowProc(int, int, int, int) line: 1598	
	Shell.windowProc(int, int, int, int) line: 2038	
	Display.windowProc(int, int, int, int) line: 4873	
	OS.DefWindowProcW(int, int, int, int) line: not available [native method]	
	OS.DefWindowProc(int, int, int, int) line: 2454	
	Shell.callWindowProc(int, int, int, int) line: 497	
	Shell(Control).windowProc(int, int, int, int) line: 4251	
	Shell(Canvas).windowProc(int, int, int, int) line: 341	
	Shell(Decorations).windowProc(int, int, int, int) line: 1598	
	Shell.windowProc(int, int, int, int) line: 2038	
	Display.windowProc(int, int, int, int) line: 4873	
	OS.DefWindowProcW(int, int, int, int) line: not available [native method]	
	OS.DefWindowProc(int, int, int, int) line: 2454	
	Shell.callWindowProc(int, int, int, int) line: 497	
	Shell(Control).windowProc(int, int, int, int) line: 4251	
	Shell(Canvas).windowProc(int, int, int, int) line: 341	
	Shell(Decorations).windowProc(int, int, int, int) line: 1598	
	Shell.windowProc(int, int, int, int) line: 2038	
	Display.windowProc(int, int, int, int) line: 4873	
	OS.DispatchMessageW(MSG) line: not available [native method]	
	OS.DispatchMessage(MSG) line: 2459	
	Display.readAndDispatch() line: 3655	
	Workbench.runEventLoop(Window$IExceptionHandler, Display) line: 2629	
	Workbench.runUI() line: 2593	
	Workbench.access$4(Workbench) line: 2427	
	Workbench$7.run() line: 670	
	Realm.runWithDefault(Realm, Runnable) line: 332	
	Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 663	
	PlatformUI.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 149	
	IDEApplication.start(IApplicationContext) line: 115	
	EclipseAppHandle.run(Object) line: 196	
	EclipseAppLauncher.runApplication(Object) line: 110	
	EclipseAppLauncher.start(Object) line: 79	
	EclipseStarter.run(Object) line: 369	
	EclipseStarter.run(String[], Runnable) line: 179	
	NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]	
	NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39	
	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25	
	Method.invoke(Object, Object...) line: 592	
	Main.invokeFramework(String[], URL[]) line: 619	
	Main.basicRun(String[]) line: 574	
	Main.run(String[]) line: 1407	
	Main.main(String[]) line: 1383
Comment 1 Camille Letavernier CLA 2013-06-17 05:33:34 EDT
I cannot reproduce this exception in the current version. Moreover, these handlers' implementation has changed, so I guess this is fixed. Please reopen if you still meet this problem.