[tcljava-user] Help with Jacl 1.3
Brought to you by:
mdejong
|
From: Blankenship, D. <Dav...@kl...> - 2001-05-15 22:05:20
|
OS: Windows 2000
JDK: Sun JDK 1.3
JACL: pulled from CVS May 14, 2001
I have been using Jacl 1.2.6. The other day I ran into a problem with the
reflect object table and hash codes. I noticed that this problem had been
fixed last July, so I decided to get the latest source from CVS.
I built the source using Jakarta ORO 2.0.1. I went to run my application and
got the following exception:
java.lang.IllegalAccessError: try to access method
tcl.lang.Interp.dispose()V from class
com.klatencor.catalyst.gap.control.JaclStrategyAction
I noticed that dispose is now part of EventuallyFreed, and the dispose
method is declared at package scope.
To work around this problem, I did two things. First, I added a dispose
method to Interp that called super.dispose(). When I did this, I got the
following exception.
java.lang.NullPointerException
at tcl.lang.NamespaceCmd.findCommand(NamespaceCmd.java:1775)
at tcl.lang.Interp.deleteCommand(Interp.java:1546)
at tcl.lang.ReflectObject.dispose(ReflectObject.java:612)
at tcl.lang.TclObject.release(TclObject.java:211)
at tcl.lang.Interp.resetResult(Interp.java:2088)
at tcl.lang.Interp.eventuallyDispose(Interp.java:564)
at tcl.lang.EventuallyFreed.dispose(EventuallyFreed.java:130)
at tcl.lang.Interp.dispose(Interp.java:432)
Second, I removed the call to Interp.dispose from my application. When I ran
the application, noticed that the memory of the application seems to
continue to grow. My application normally hovers around 29 Meg. When run
with Jacl 1.3 without the Interp.dispose call, I have let it grow to over 50
Meg without slowing down on the memory growth.
What's the status of the Interp.dispose call? Is it still user callable? Did
I just build the wrong code, or build it incorrectly? If I manage to get rid
of the NullPointerException should that solve my problem?
Thanks,
David Blankenship
KLA-Tencor Control Solutions.
|