From:
wtp-dev-bounces@xxxxxxxxxxx [mailto:wtp-dev-bounces@xxxxxxxxxxx] On Behalf Of Chuck Bridgham
Sent: Thursday, June 30, 2005 2:56
PM
To: General
discussion of project-wide or architectural issues.
Subject: Re: [wtp-dev] M5 --
Manual Test -- Client Access Exception oftype 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