[udig-devel] AssertionError from LayerImpl - solution
Nils Liebelt
Nils.Liebelt at web.de
Tue Aug 29 15:15:44 PDT 2006
Hi,
I finally figured out what's happening. Udig does not really stick to the contract. In order to not get those ugly Exceptions. The service needed not only to be identified with a java.net.URL but rather with a java.net.URL ending on a slash or slashsomething:
dbUrl = new URL("http://" + host); //exceptions from LayerImpl
dbUrl = new URL("http://" + host + "/"); //all good
Don't ask how long it takes to get so desperate when the original error looks like a concurrency issue. ;-)
There was nothing wrong with the GeoResource, ServiceExtension and ConnectionFactory as suggested?!
However thanks for your support. Hope I can help you this time.
Regards,
Nils
> -----Ursprüngliche Nachricht-----
> Von: User-friendly Desktop Internet GIS <udig-devel at lists.refractions.net>
> Gesendet: 29.08.06 22:32:04
> An: User-friendly Desktop Internet GIS <udig-devel at lists.refractions.net>
> Betreff: Re: [udig-devel] AssertionError from LayerImpl
> I am using the SDK.
>
>
> > -----Ursprüngliche Nachricht-----
> > Von: User-friendly Desktop Internet GIS <udig-devel at lists.refractions.net>
> > Gesendet: 29.08.06 22:29:27
> > An: User-friendly Desktop Internet GIS <udig-devel at lists.refractions.net>
> > Betreff: Re: [udig-devel] AssertionError from LayerImpl
>
>
> > Are you using an sdk or are you working against trunk?
> >
> > Jesse
> >
> > On 29-Aug-06, at 1:20 PM, Nils Liebelt wrote:
> >
> > > 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.initRend
> > > erCreator(Unknown Source)
> > > at
> > > net.refractions.udig.project.ui.internal.RenderManagerDynamic.initRend
> > > erExecutor(Unknown Source)
> > > at
> > > net.refractions.udig.project.ui.internal.RenderManagerDynamic.validate
> > > RendererConfiguration(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.fi
> > > reNotification(Unknown Source)
> > > at
> > > net.refractions.udig.project.internal.render.impl.ViewportModelImpl.se
> > > tBounds(Unknown Source)
> > > at
> > > net.refractions.udig.project.internal.render.impl.ViewportModelImpl.zo
> > > omToBox(Unknown Source)
> > > at
> > > net.refractions.udig.project.internal.render.impl.ViewportModelImpl.si
> > > zeChanged(Unknown Source)
> > > at
> > > net.refractions.udig.project.ui.internal.render.displayAdapter.impl.Ev
> > > entJob.sendResized(Unknown Source)
> > > at
> > > net.refractions.udig.project.ui.internal.render.displayAdapter.impl.Ev
> > > entJob.runEvent(Unknown Source)
> > > at
> > > net.refractions.udig.project.ui.internal.render.displayAdapter.impl.Ev
> > > entJob.fire(Unknown Source)
> > > at
> > > net.refractions.udig.project.ui.internal.render.displayAdapter.impl.Ev
> > > entHandler$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.getTe
> > > xt(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.g
> > > etText(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
> > >
> > > _______________________________________________
> > > User-friendly Desktop Internet GIS (uDig)
> > > http://udig.refractions.net
> > > http://lists.refractions.net/mailman/listinfo/udig-devel
> >
> > _______________________________________________
> > User-friendly Desktop Internet GIS (uDig)
> > http://udig.refractions.net
> > http://lists.refractions.net/mailman/listinfo/udig-devel
>
>
> _______________________________________________
> User-friendly Desktop Internet GIS (uDig)
> http://udig.refractions.net
> http://lists.refractions.net/mailman/listinfo/udig-devel
More information about the udig-devel
mailing list