[udig-devel] AssertionError from LayerImpl

Nils Liebelt Nils.Liebelt at web.de
Tue Aug 29 13:20:55 PDT 2006


Hi,

I implemented a custom IService. The service seems to work fine. I can add it and browse its GeoResource. But when adding a resource by drag'n'drop or programmatically I get following AssertionError from the LayerImpl. The AssertionErrors is followed by unlimited NPEs thrown by releaseLock() Method of the same class. In RC2 this ended in a StackoverflowError. I am really stuck on this one.

Regards,

Nils


ENTRY net.refractions.udig.project 1 0 2006-08-29 21:47:56.265
!MESSAGE Error getting layer resources
!STACK 0
org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.AssertionError: Infinate loop detected, thread that is loading GeoResources is attempting to call getGeoResources())
	at org.eclipse.swt.SWT.error(SWT.java:2942)
	at org.eclipse.swt.SWT.error(SWT.java:2865)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:126)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3102)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2761)
	at net.refractions.udig.ui.PlatformGIS.runBlockingOperation(Unknown Source)
	at net.refractions.udig.project.internal.impl.LayerImpl.getGeoResources(Unknown Source)
	at net.refractions.udig.project.internal.impl.LayerImpl.isType(Unknown Source)
	at net.refractions.udig.render.internal.wms.basic.BasicWMSMetricsFactory2.canRender(Unknown Source)
	at net.refractions.udig.project.internal.render.impl.RendererCreatorImpl$InternalRenderMetricsFactory.canRender(Unknown Source)
	at net.refractions.udig.project.internal.render.impl.RendererCreatorImpl$Processor.process(Unknown Source)
	at net.refractions.udig.core.internal.ExtensionPointUtil.process(Unknown Source)
	at net.refractions.udig.project.internal.render.impl.RendererCreatorImpl.initFactories(Unknown Source)
	at net.refractions.udig.project.internal.render.impl.RendererCreatorImpl.initRenderMetrics(Unknown Source)
	at net.refractions.udig.project.internal.render.impl.RendererCreatorImpl.createConfiguration(Unknown Source)
	at net.refractions.udig.project.internal.render.impl.RendererCreatorImpl.changed(Unknown Source)
	at net.refractions.udig.project.ui.internal.RenderManagerDynamic.initRenderCreator(Unknown Source)
	at net.refractions.udig.project.ui.internal.RenderManagerDynamic.initRenderExecutor(Unknown Source)
	at net.refractions.udig.project.ui.internal.RenderManagerDynamic.validateRendererConfiguration(Unknown Source)
	at net.refractions.udig.project.ui.internal.RenderManagerDynamic.refresh(Unknown Source)
	at net.refractions.udig.project.ui.internal.RenderManagerAdapters$1.refreshDirtyArea(Unknown Source)
	at net.refractions.udig.project.ui.internal.RenderManagerAdapters$1.notifyChanged(Unknown Source)
	at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:229)
	at net.refractions.udig.project.internal.render.impl.ViewportModelImpl.fireNotification(Unknown Source)
	at net.refractions.udig.project.internal.render.impl.ViewportModelImpl.setBounds(Unknown Source)
	at net.refractions.udig.project.internal.render.impl.ViewportModelImpl.zoomToBox(Unknown Source)
	at net.refractions.udig.project.internal.render.impl.ViewportModelImpl.sizeChanged(Unknown Source)
	at net.refractions.udig.project.ui.internal.render.displayAdapter.impl.EventJob.sendResized(Unknown Source)
	at net.refractions.udig.project.ui.internal.render.displayAdapter.impl.EventJob.runEvent(Unknown Source)
	at net.refractions.udig.project.ui.internal.render.displayAdapter.impl.EventJob.fire(Unknown Source)
	at net.refractions.udig.project.ui.internal.render.displayAdapter.impl.EventHandler$1.run(Unknown Source)
	at org.eclipse.swt.widgets.Display.runTimer(Display.java:3167)
	at org.eclipse.swt.widgets.Display.messageProc(Display.java:2503)
	at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
	at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:1656)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2756)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1699)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1663)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:367)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
	at net.refractions.udig.internal.ui.UDIGApplication.run(Unknown Source)
	at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:278)
	at org.eclipse.core.launcher.Main.run(Main.java:973)
	at org.eclipse.core.launcher.Main.main(Main.java:948)
Caused by: java.lang.AssertionError: Infinate loop detected, thread that is loading GeoResources is attempting to call getGeoResources()
	at net.refractions.udig.project.internal.impl.LayerImpl.getLock(Unknown Source)
	at net.refractions.udig.project.internal.impl.LayerImpl.getGeoResources(Unknown Source)
	at net.refractions.udig.project.internal.impl.LayerImpl.getGeoResource(Unknown Source)
	at net.refractions.udig.project.internal.provider.LayerItemProvider.getText(Unknown Source)
	at org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider.getText(AdapterFactoryLabelProvider.java:200)
	at org.eclipse.jface.viewers.DecoratingLabelProvider.getText(DecoratingLabelProvider.java:118)
	at net.refractions.udig.project.ui.AdapterFactoryLabelProviderDecorator.getText(Unknown Source)
	at org.eclipse.jface.viewers.DecoratingLabelProvider.updateLabel(DecoratingLabelProvider.java:208)
	at org.eclipse.jface.viewers.StructuredViewer.buildLabel(StructuredViewer.java:1855)
	at org.eclipse.jface.viewers.TreeViewer.doUpdateItem(TreeViewer.java:228)
	at org.eclipse.jface.viewers.AbstractTreeViewer$UpdateItemSafeRunnable.run(AbstractTreeViewer.java:85)
	at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1044)
	at org.eclipse.core.runtime.Platform.run(Platform.java:783)
	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44)
	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:148)
	at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:621)
	at org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:434)
	at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1044)
	at org.eclipse.core.runtime.Platform.run(Platform.java:783)
	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44)
	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:148)
	at org.eclipse.jface.viewers.StructuredViewer.updateItem(StructuredViewer.java:1763)
	at org.eclipse.jface.viewers.AbstractTreeViewer.updateChildren(AbstractTreeViewer.java:1782)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefreshStruct(AbstractTreeViewer.java:1268)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1245)
	at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1201)
	at org.eclipse.jface.viewers.StructuredViewer$8.run(StructuredViewer.java:1291)
	at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1201)
	at org.eclipse.jface.viewers.CheckboxTreeViewer.preservingSelection(CheckboxTreeViewer.java:364)
	at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1289)
	at org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider$ViewerRefresh.run(AdapterFactoryContentProvider.java:305)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
	... 49 more



More information about the udig-devel mailing list