Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[wtp-dev] M5 -- Manual Test -- Client Access Exception of type DANGLING_REFERENCE

I got a good number of

   org.eclipse.wst.common.internal.emfworkbench.edit.ClientAccessRegistryException

   This exception was generated to indicate an invalid usage of reference counts. Please examine the stack trace.

   Client Access Exception of type DANGLING_REFERENCE

 

If I do enough project creation and publishing was done.

After I got the first one, most modules related operations failed (like creating new WebModule, publish existing module, etc.)

 

So, it can be a critical bug, unless I am proved doing something wrong.

 

 

 

Unlike Konstantin, I do not use EARArtifactEdit directly.

 

Seem like EnterpriseApplicationDeployable.getModules() indirectly use it.

 

            at org.eclipse.jst.j2ee.internal.deployables.EnterpriseApplicationDeployable.getModules(EnterpriseApplicationDeployable.java:54)

            at com.bea.wlw.server.internal.core.WeblogicServer.getChildModules(WeblogicServer.java:466)

 

 

 

Please advise!

 

 

 

Thanks,

 

 

Thomas

 

 

 

 

----------- Affected code: -------------

 

    public IModule[] getChildModules(IModule[] modulePath) {

        IModule module = modulePath[modulePath.length-1];

        String moduleTypeId = module.getModuleType().getId();

 

        // return itself for top level module

        IEnterpriseApplication ea = (IEnterpriseApplication)module.loadAdapter(IEnterpriseApplication.class, null);

                        if (ea==null)

            return EMPTY_MODULES;

       

        IModule[] nested = ea.getModules();

        if (nested==null || nested.length==0)

            return EMPTY_MODULES;

       

        ArrayList list = new ArrayList();

        for (IModule mod: nested) {

            list.add(mod);

        }

        return (IModule[])list.toArray(new IModule[list.size()]);

    }

 

 


From: wtp-dev-bounces@xxxxxxxxxxx [mailto:wtp-dev-bounces@xxxxxxxxxxx] On Behalf Of Konstantin Komissarchik
Sent: Wednesday, June 29, 2005 1:39 PM
To: General discussion of project-wide or architectural issues.
Subject: RE: [wtp-dev] Client Access Exception of type DANGLING_REFERENCE

 

Thanks! That was it. Maybe the error could be made more descriptive? Something like…

 

 “Attempted to open an already open artifact edit. Make sure to call the dispose method when done editing.”

 

As it stands right now, it wasn’t clear to me what was going on despite the fact that I knew about the dispose method.

 

Just a thought…

 

- Konstantin

 


From: wtp-dev-bounces@xxxxxxxxxxx [mailto:wtp-dev-bounces@xxxxxxxxxxx] On Behalf Of John Lanuti
Sent: Wednesday, June 29, 2005 11:53 AM
To: General discussion of project-wide or architectural issues.
Subject: Re: [wtp-dev] Client Access Exception of type DANGLING_REFERENCE

 


Konstantin,

When you access an artifact edit, you must release it.  So, anytime you want to get an artifact edit, you want a try finally block
like the following:

ArtifactEdit edit= null
try  {
edit = EARArtifactEdit.getEARArtifactEditForWrite( earhandle );
//do stuff
} finally {
   if (edit !=null)
       edit.dipose()
}

That will prevent the client access exception.

Hope that helps,

John Lanuti
Software Engineer, IBM Rational
jlanuti@xxxxxxxxxx
t/l 441-7861

"You see this wandering soul, he's never gonna stop, because he loves and he feels this world can grow.
He's not afraid of feeling, he loves what he believes, he feels, and he grows."  - Of A Revolution

"Konstantin Komissarchik" <kosta@xxxxxxx>
Sent by: wtp-dev-bounces@xxxxxxxxxxx

06/29/2005 01:40 PM

Please respond to
"General discussion of project-wide or architectural issues."

To

"General discussion of project-wide or architectural issues." <wtp-dev@xxxxxxxxxxx>

cc

 

Subject

[wtp-dev] Client Access Exception of type DANGLING_REFERENCE

 

 

 




Hi,
 
I keep getting this:
 
org.eclipse.wst.common.internal.emfworkbench.edit.ClientAccessRegistryException
This exception was generated to indicate an invalid usage of reference counts. Please examine the stack trace.
 Client Access Exception of type DANGLING_REFERENCE
 
When I make the following call:
 
EARArtifactEdit.getEARArtifactEditForWrite( earhandle );
 
Am I doing something wrong? I am using the 6/17 i-build. Is this something that was fixed in a later i-build?
 
Thanks,
 
- Konstantin_______________________________________________
wtp-dev mailing list
wtp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/wtp-dev

org.eclipse.wst.common.internal.emfworkbench.edit.ClientAccessRegistryException
This exception was generated to indicate an invalid usage of reference counts. Please examine the stack trace.
 Client Access Exception of type DANGLING_REFERENCE 

org.eclipse.wst.common.internal.emfworkbench.edit.ClientAccessRegistryException
This exception was generated to indicate an invalid usage of reference counts. Please examine the stack trace.
 Client Access Exception of type DANGLING_REFERENCE 

	at org.eclipse.wst.common.internal.emfworkbench.edit.ClientAccessRegistry.complain(ClientAccessRegistry.java:86)
	at org.eclipse.wst.common.internal.emfworkbench.edit.ClientAccessRegistry.complain(ClientAccessRegistry.java:81)
	at org.eclipse.wst.common.internal.emfworkbench.edit.ClientAccessRegistry.access(ClientAccessRegistry.java:42)
	at org.eclipse.wst.common.internal.emfworkbench.integration.EditModel.access(EditModel.java:926)
	at org.eclipse.wst.common.internal.emfworkbench.EMFWorkbenchContext.getEditModelForRead(EMFWorkbenchContext.java:124)
	at org.eclipse.wst.common.internal.emfworkbench.integration.EditModelNature.getEditModelForRead(EditModelNature.java:49)
	at org.eclipse.wst.common.internal.emfworkbench.integration.EditModelNature.getEditModelForRead(EditModelNature.java:39)
	at org.eclipse.wst.common.componentcore.ModuleCoreNature.getModuleStructuralModelForRead(ModuleCoreNature.java:228)
	at org.eclipse.wst.common.componentcore.internal.StructureEdit.<init>(StructureEdit.java:360)
	at org.eclipse.wst.common.componentcore.internal.StructureEdit.getStructureEditForRead(StructureEdit.java:113)
	at org.eclipse.wst.common.componentcore.internal.resources.FlexibleProject.getComponents(FlexibleProject.java:37)
	at org.eclipse.jst.j2ee.application.internal.operations.J2EEComponentCreationDataModelProvider.getEARPropertyDescriptor(J2EEComponentCreationDataModelProvider.java:342)
	at org.eclipse.jst.j2ee.application.internal.operations.J2EEComponentCreationDataModelProvider.getValidPropertyDescriptors(J2EEComponentCreationDataModelProvider.java:170)
	at org.eclipse.jst.j2ee.internal.web.archive.operations.WebComponentCreationDataModelProvider.getValidPropertyDescriptors(WebComponentCreationDataModelProvider.java:299)
	at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelImpl.getValidPropertyDescriptors(DataModelImpl.java:314)
	at org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelSynchHelper.setWidgetValue(DataModelSynchHelper.java:291)
	at org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelSynchHelper.synchUIWithModel(DataModelSynchHelper.java:210)
	at org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelSynchHelper.synchComposite(DataModelSynchHelper.java:428)
	at org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelSynchHelper.synchCombo(DataModelSynchHelper.java:465)
	at org.eclipse.jst.j2ee.internal.wizard.ServerEarAndStandaloneGroup.createEarAndStandaloneComposite(ServerEarAndStandaloneGroup.java:107)
	at org.eclipse.jst.j2ee.internal.wizard.ServerEarAndStandaloneGroup.buildComposites(ServerEarAndStandaloneGroup.java:59)
	at org.eclipse.jst.j2ee.internal.wizard.ServerEarAndStandaloneGroup.<init>(ServerEarAndStandaloneGroup.java:51)
	at org.eclipse.jst.j2ee.internal.wizard.J2EEComponentCreationWizardPage.createServerEarAndStandaloneGroup(J2EEComponentCreationWizardPage.java:312)
	at org.eclipse.jst.j2ee.internal.wizard.J2EEComponentCreationWizardPage.addToAdvancedComposite(J2EEComponentCreationWizardPage.java:288)
	at org.eclipse.jst.servlet.ui.internal.wizard.WebComponentCreationWizardPage.addToAdvancedComposite(WebComponentCreationWizardPage.java:57)
	at org.eclipse.jst.j2ee.internal.wizard.J2EEComponentCreationWizardPage.createAdvancedComposite(J2EEComponentCreationWizardPage.java:206)
	at org.eclipse.jst.j2ee.internal.wizard.J2EEComponentCreationWizardPage.createTopLevelComposite(J2EEComponentCreationWizardPage.java:171)
	at org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelWizardPage.createControl(DataModelWizardPage.java:91)
	at org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelWizard.createPageControls(DataModelWizard.java:83)
	at org.eclipse.jface.wizard.WizardDialog.createPageControls(WizardDialog.java:611)
	at org.eclipse.jface.wizard.WizardDialog.createContents(WizardDialog.java:502)
	at org.eclipse.jface.window.Window.create(Window.java:418)
!!
org.eclipse.wst.common.internal.emfworkbench.edit.Snapshot: IWAE0016E Locking Insurance Stack Trace
	at org.eclipse.wst.common.internal.emfworkbench.edit.ClientAccessRegistry.access(ClientAccessRegistry.java:34)
	at org.eclipse.wst.common.internal.emfworkbench.integration.EditModel.access(EditModel.java:926)
	at org.eclipse.wst.common.internal.emfworkbench.EMFWorkbenchContext.getEditModelForRead(EMFWorkbenchContext.java:124)
	at org.eclipse.wst.common.internal.emfworkbench.integration.EditModelNature.getEditModelForRead(EditModelNature.java:49)
	at org.eclipse.wst.common.internal.emfworkbench.integration.EditModelNature.getEditModelForRead(EditModelNature.java:39)
	at org.eclipse.wst.common.componentcore.ModuleCoreNature.getModuleStructuralModelForRead(ModuleCoreNature.java:228)
	at org.eclipse.wst.common.componentcore.internal.StructureEdit.<init>(StructureEdit.java:360)
	at org.eclipse.wst.common.componentcore.internal.StructureEdit.getStructureEditForRead(StructureEdit.java:113)
	at org.eclipse.wst.common.componentcore.internal.resources.VirtualComponent.getComponentTypeId(VirtualComponent.java:89)
	at org.eclipse.jst.j2ee.internal.deployables.EnterpriseApplicationDeployableFactory.createModuleDelegates(EnterpriseApplicationDeployableFactory.java:65)
	at org.eclipse.jst.j2ee.internal.deployables.J2EEDeployableFactory.createModules(J2EEDeployableFactory.java:104)
	at org.eclipse.jst.j2ee.internal.deployables.J2EEDeployableFactory.createModules(J2EEDeployableFactory.java:89)
	at org.eclipse.wst.server.core.util.ProjectModuleFactoryDelegate.addModules(ProjectModuleFactoryDelegate.java:297)
	at org.eclipse.wst.server.core.util.ProjectModuleFactoryDelegate.cacheModules(ProjectModuleFactoryDelegate.java:83)
	at org.eclipse.jst.j2ee.internal.deployables.EnterpriseApplicationDeployableFactory.getModules(EnterpriseApplicationDeployableFactory.java:86)
	at org.eclipse.wst.server.core.internal.ModuleFactory.getModules(ModuleFactory.java:129)
	at org.eclipse.wst.server.core.ServerUtil.getModules(ServerUtil.java:255)
	at org.eclipse.wst.server.core.ServerUtil.getModules(ServerUtil.java:53)
	at org.eclipse.jst.j2ee.internal.deployables.FlexibleProjectServerUtil.getModules(FlexibleProjectServerUtil.java:72)
	at org.eclipse.jst.j2ee.internal.deployables.FlexibleProjectServerUtil.getModule(FlexibleProjectServerUtil.java:34)
	at org.eclipse.jst.j2ee.internal.deployables.EnterpriseApplicationDeployable.getModules(EnterpriseApplicationDeployable.java:58)
	at com.bea.wlw.server.internal.core.WeblogicServer.getChildModules(WeblogicServer.java:466)
	at org.eclipse.wst.server.core.internal.Server.getChildModules(Server.java:1757)
	at org.eclipse.wst.server.core.internal.Server.visitModule(Server.java:1911)
	at org.eclipse.wst.server.core.internal.Server.visit(Server.java:1892)
	at org.eclipse.wst.server.core.internal.Server.getAllModules(Server.java:745)




org.eclipse.wst.common.internal.emfworkbench.edit.ClientAccessRegistryException
This exception was generated to indicate an invalid usage of reference counts. Please examine the stack trace.
 Client Access Exception of type DANGLING_REFERENCE 

org.eclipse.wst.common.internal.emfworkbench.edit.ClientAccessRegistryException
This exception was generated to indicate an invalid usage of reference counts. Please examine the stack trace.
 Client Access Exception of type DANGLING_REFERENCE 

	at org.eclipse.wst.common.internal.emfworkbench.edit.ClientAccessRegistry.complain(ClientAccessRegistry.java:86)
	at org.eclipse.wst.common.internal.emfworkbench.edit.ClientAccessRegistry.complain(ClientAccessRegistry.java:81)
	at org.eclipse.wst.common.internal.emfworkbench.edit.ClientAccessRegistry.access(ClientAccessRegistry.java:42)
	at org.eclipse.wst.common.internal.emfworkbench.integration.EditModel.access(EditModel.java:926)
	at org.eclipse.wst.common.internal.emfworkbench.EMFWorkbenchContext.getEditModelForRead(EMFWorkbenchContext.java:124)
	at org.eclipse.wst.common.internal.emfworkbench.integration.EditModelNature.getEditModelForRead(EditModelNature.java:49)
	at org.eclipse.wst.common.internal.emfworkbench.integration.EditModelNature.getEditModelForRead(EditModelNature.java:39)
	at org.eclipse.wst.common.componentcore.ModuleCoreNature.getModuleStructuralModelForRead(ModuleCoreNature.java:228)
	at org.eclipse.wst.common.componentcore.internal.StructureEdit.<init>(StructureEdit.java:360)
	at org.eclipse.wst.common.componentcore.internal.StructureEdit.getStructureEditForRead(StructureEdit.java:113)
	at org.eclipse.wst.common.componentcore.internal.builder.ComponentStructuralBuilderDependencyResolver.build(ComponentStructuralBuilderDependencyResolver.java:51)
	at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:593)
	at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1044)
	at org.eclipse.core.runtime.Platform.run(Platform.java:783)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:168)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:202)
	at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:231)
	at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1044)
	at org.eclipse.core.runtime.Platform.run(Platform.java:783)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:234)
	at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:253)
	at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:282)
	at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:139)
	at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:200)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:76)
!!
org.eclipse.wst.common.internal.emfworkbench.edit.Snapshot: IWAE0016E Locking Insurance Stack Trace
	at org.eclipse.wst.common.internal.emfworkbench.edit.ClientAccessRegistry.access(ClientAccessRegistry.java:34)
	at org.eclipse.wst.common.internal.emfworkbench.integration.EditModel.access(EditModel.java:926)
	at org.eclipse.wst.common.internal.emfworkbench.EMFWorkbenchContext.getEditModelForRead(EMFWorkbenchContext.java:124)
	at org.eclipse.wst.common.internal.emfworkbench.integration.EditModelNature.getEditModelForRead(EditModelNature.java:49)
	at org.eclipse.wst.common.internal.emfworkbench.integration.EditModelNature.getEditModelForRead(EditModelNature.java:39)
	at org.eclipse.wst.common.componentcore.ModuleCoreNature.getModuleStructuralModelForRead(ModuleCoreNature.java:228)
	at org.eclipse.wst.common.componentcore.internal.StructureEdit.<init>(StructureEdit.java:360)
	at org.eclipse.wst.common.componentcore.internal.StructureEdit.getStructureEditForRead(StructureEdit.java:113)
	at org.eclipse.wst.common.componentcore.internal.resources.VirtualComponent.getComponentTypeId(VirtualComponent.java:89)
	at org.eclipse.jst.j2ee.internal.deployables.EnterpriseApplicationDeployableFactory.createModuleDelegates(EnterpriseApplicationDeployableFactory.java:65)
	at org.eclipse.jst.j2ee.internal.deployables.J2EEDeployableFactory.createModules(J2EEDeployableFactory.java:104)
	at org.eclipse.jst.j2ee.internal.deployables.J2EEDeployableFactory.createModules(J2EEDeployableFactory.java:89)
	at org.eclipse.wst.server.core.util.ProjectModuleFactoryDelegate.addModules(ProjectModuleFactoryDelegate.java:297)
	at org.eclipse.wst.server.core.util.ProjectModuleFactoryDelegate.cacheModules(ProjectModuleFactoryDelegate.java:83)
	at org.eclipse.jst.j2ee.internal.deployables.EnterpriseApplicationDeployableFactory.getModules(EnterpriseApplicationDeployableFactory.java:86)
	at org.eclipse.wst.server.core.internal.ModuleFactory.getModules(ModuleFactory.java:129)
	at org.eclipse.wst.server.core.ServerUtil.getModules(ServerUtil.java:255)
	at org.eclipse.wst.server.core.ServerUtil.getModules(ServerUtil.java:53)
	at org.eclipse.jst.j2ee.internal.deployables.FlexibleProjectServerUtil.getModules(FlexibleProjectServerUtil.java:72)
	at org.eclipse.jst.j2ee.internal.deployables.FlexibleProjectServerUtil.getModule(FlexibleProjectServerUtil.java:34)
	at org.eclipse.jst.j2ee.internal.deployables.EnterpriseApplicationDeployable.getModules(EnterpriseApplicationDeployable.java:58)
	at com.bea.wlw.server.internal.core.WeblogicServer.getChildModules(WeblogicServer.java:466)
	at org.eclipse.wst.server.core.internal.Server.getChildModules(Server.java:1757)
	at org.eclipse.wst.server.core.internal.Server.visitModule(Server.java:1911)
	at org.eclipse.wst.server.core.internal.Server.visit(Server.java:1892)
	at org.eclipse.wst.server.core.internal.Server.getAllModules(Server.java:745)


Back to the top