[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [wtp-dev] M5 -- Manual Test -- Client Access Exception of type DANGLING_REFERENCE
|
Hi Thomas,
Thanks for the trace - this is good
information (the second dump) that includes the original access from the
application deployable.
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)
Do you have a repeatable scenario? It
does seem to be random, and possibly a threading issue - We already have
a defect open regarding the use of a WeakHashMap especially in the case
for read-only model access.
It may be worth adding this support
sooner, rather than chasing down this issue.
Thanks - Chuck
Rational J2EE Tooling Team Lead
IBM Software Lab - Research Triangle Park, NC
Email: cbridgha@xxxxxxxxxx
Phone: 919-254-1848 (T/L: 444)
"Thomas Yip"
<tyip@xxxxxxx>
Sent by: wtp-dev-bounces@xxxxxxxxxxx
06/30/2005 05:25 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] 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_______________________________________________
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)