[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. |