2014/1/20 Lauri Kotilainen <[email protected]> > > > On Saturday, January 18, 2014 11:44:53 PM UTC+2, Oskar Berggren wrote: >> >> >> Unfortunately, even with that patch applied, the unit test in my other >>> post fails -- even though a heap inspection with WinDBG confirms that the >>> session is no longer rooted and is eligible for collection. >>> >> >> My attempts with dubious knowledge of Windbg seems to confirm that the >> test itself did indeed maintain a reference to the SessionImpl instance, as >> a local variable in the stack fram of IsGarbageCollected<TObject>(ref >> TObject @object, Action<TObject> useObject). I don't know how to explain >> that, given that the test code attempted to nullify the reference. >> > > The second GC.Collect() pass fixed that for me, like Gunnar suggested. > I'll take another look at it soon-ish to see if your modified test still > behaves the way I think it should. >
I added a bunch more, plus some other GC.xxx() methods, didn't help. > My first attempt at a fix actually was to discard the _expression > reference. However, that didn't work -- IIRC because the results of the > translation maintained another reference to the expression. Changing that > would have had a considerably bigger change footprint, one that I wasn't > comfortable with. > I later tried that too and discovered that Translate() is actually called twice and apparently produces different output on the second go. I haven't yet figured out what input data (or how) is modified to achieve this effect. /Oskar -- --- You received this message because you are subscribed to the Google Groups "nhibernate-development" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
