[rdnzl-devel] Re: Problem/crash with RDNZL under ECL
Edi Weitz
edi at agharta.de
Tue Sep 26 21:29:44 UTC 2006
On Tue, 26 Sep 2006 16:33:50 +0200, "Goffioul Michael" <goffioul at imec.be> wrote:
> Can you trace whether your .NET objects referenced in LISP get
> collected or not? In the case of the apropos example, it appears
> that the KeyPressEventHandler object never got collected in the LISP
> world.
I tried with LW 5.0, the most recent version of RDNZL (0.10.6) and the
corresponding DLL (created with VS 2003). If I run the apropos
example and then call (HCL:MARK-AND-SWEEP 3), the KeyPressEventHandler
is clearly collected on the Lisp side.
Methodology: I simply added a PRINT statement to
MAYBE-FREE-CONTAINER-POINTER, so I could see which objects are about
to be handed over to freeDotNetContainer. Below is the list I got.
But wait - you're talking about ECL, right? FLAG-FOR-FINALIZATION
isn't yet implemented for ECL, so you can't expect freeDotNetContainer
to be called in this case, can you?
#<RDNZL::CONTAINER System.Type #x1094540>
#<RDNZL::CONTAINER System.Type #x1094500>
#<RDNZL::CONTAINER System.Boolean #x10944C0>
#<RDNZL::CONTAINER AproposGUI.AproposControl #x10944A0>
#<RDNZL::CONTAINER System.Type #x10944D0>
#<RDNZL::CONTAINER System.Type #x1094310>
#<RDNZL::CONTAINER System.Boolean #x10942D0>
#<RDNZL::CONTAINER System.Windows.Forms.Form #x10940E8>
#<RDNZL::CONTAINER System.Type #x10942E0>
#<RDNZL::CONTAINER System.Windows.Forms.DockStyle #x10940B8>
#<RDNZL::CONTAINER System.Drawing.Size #x1094088>
#<RDNZL::CONTAINER System.Windows.Forms.Label #x10940C8>
#<RDNZL::CONTAINER System.Windows.Forms.TextBox #x1094008>
#<RDNZL::CONTAINER System.Type #x1093F90>
#<RDNZL::CONTAINER System.Type #x1093FC0>
#<RDNZL::CONTAINER System.Boolean #x1093E80>
#<RDNZL::CONTAINER System.Reflection.MethodInfo #x1093EC0>
#<RDNZL::CONTAINER System.Type #x1093F60>
#<RDNZL::CONTAINER System.Reflection.ParameterInfo[] #x1093DF0>
#<RDNZL::CONTAINER System.Int32 #x1093E90>
#<RDNZL::CONTAINER System.Reflection.ParameterInfo #x1093E30>
#<RDNZL::CONTAINER System.Reflection.ParameterInfo #x1093D60>
#<RDNZL::CONTAINER System.Type #x1093E00>
#<RDNZL::CONTAINER System.Type #x1093DA0>
#<RDNZL::CONTAINER System.Type #x1093F30>
#<RDNZL::CONTAINER System.String #x1093D70>
#<RDNZL::CONTAINER System.Type #x1093D50>
#<RDNZL::CONTAINER System.Type[] #x1093CE0>
#<RDNZL::CONTAINER System.String #x1093CA0>
#<RDNZL::CONTAINER System.String #x1093CB0>
#<RDNZL::CONTAINER System.String #x1092CE8>
#<RDNZL::CONTAINER System.Type #x1093D20>
#<RDNZL::CONTAINER System.Boolean #x10956F8>
#<RDNZL::CONTAINER RDNZLPrivateAssembly._LispCallback_1 #x1094520>
#<RDNZL::CONTAINER System.String #x1095718>
#<RDNZL::CONTAINER System.String #x10954E8>
#<RDNZL::CONTAINER System.Type #x10954D8>
#<RDNZL::CONTAINER System.Boolean #x1095268>
#<RDNZL::CONTAINER System.Type #x1095128>
#<RDNZL::CONTAINER System.Reflection.MethodInfo #x1094E90>
#<RDNZL::CONTAINER System.RuntimeMethodHandle #x1095258>
#<RDNZL::CONTAINER System.IntPtr #x1094D50>
#<RDNZL::CONTAINER System.Windows.Forms.KeyPressEventHandler #x1095488>
#<RDNZL::CONTAINER System.Windows.Forms.Control+ControlCollection #x10953C8>
#<RDNZL::CONTAINER System.Type #x1094E80>
#<RDNZL::CONTAINER System.Object[] #x1095418>
#<RDNZL::CONTAINER System.Int32 #x1095508>
#<RDNZL::CONTAINER System.Object #x1095538>
#<RDNZL::CONTAINER System.Windows.Forms.KeyPressEventArgs #x1095578>
#<RDNZL::CONTAINER System.Char #x1094920>
#<RDNZL::CONTAINER NULL #x1094910>
#<RDNZL::CONTAINER System.Object[] #x1094970>
#<RDNZL::CONTAINER System.Int32 #x10949B0>
#<RDNZL::CONTAINER System.Object #x1095298>
#<RDNZL::CONTAINER System.Windows.Forms.KeyPressEventArgs #x10952D8>
#<RDNZL::CONTAINER System.Char #x1095318>
#<RDNZL::CONTAINER NULL #x1095308>
#<RDNZL::CONTAINER System.Object[] #x1095368>
#<RDNZL::CONTAINER System.Int32 #x1095178>
#<RDNZL::CONTAINER System.Object #x10951A8>
#<RDNZL::CONTAINER System.Windows.Forms.KeyPressEventArgs #x10951E8>
#<RDNZL::CONTAINER System.Char #x1095228>
#<RDNZL::CONTAINER NULL #x1095218>
#<RDNZL::CONTAINER System.Object[] #x1095048>
#<RDNZL::CONTAINER System.Int32 #x1095088>
#<RDNZL::CONTAINER System.Windows.Forms.TextBox #x10950B8>
#<RDNZL::CONTAINER System.Windows.Forms.KeyPressEventArgs #x1094EB0>
#<RDNZL::CONTAINER System.Char #x1094EF0>
#<RDNZL::CONTAINER System.String #x1094F30>
#<RDNZL::CONTAINER AproposGUI.AproposControl #x1094F60>
#<RDNZL::CONTAINER System.Windows.Forms.TextBox #x1094D70>
#<RDNZL::CONTAINER System.Int32 #x1094F90>
#<RDNZL::CONTAINER System.Int32 #x1094DD0>
#<RDNZL::CONTAINER System.String #x1094E00>
#<RDNZL::CONTAINER System.String #x1094DC0>
#<RDNZL::CONTAINER System.Int32 #x10955B8>
#<RDNZL::CONTAINER NULL #x1094E50>
More information about the rdnzl-devel
mailing list