Hello, I too was hit by this bug. Fix looks simple but it lay month without any activity. Can I somehow help with this merge request?
2013/12/16 Lauri Kotilainen <[email protected]> > Yeah... an actual case of "select is broken". Who would have thought. > > Jira issue: > https://nhibernate.jira.com/browse/NH-3579 > > Pull request: > https://github.com/nhibernate/nhibernate-core/pull/244 > > I based the patch off the master branch -- figured that someone else will > be a better judge of what to backport to earlier versions. > > -Lauri > > > On Monday, December 16, 2013 1:15:21 PM UTC+2, Gunnar Liljas wrote: > >> It's troubling that the leak occurred in the first place. >> >> /G >> >> >> 2013/12/15 Lauri Kotilainen <[email protected]> >> >> Which part is troubling? The part about the leak or the part about >>> having the query plan cache end up constructing the expression? >>> >>> If it's the latter, I did try other approaches too. I don't really like >>> heavy ctors either, but the QPC and NhLinqExpressions are used in a variety >>> of ways, and all the alternatives I could think of ended up causing >>> breakage all over the place. This might be due to the fact that I don't >>> have a very good mental map of the dependencies yet, though. >>> >>> I'll file an issue soon-ish with the changes you proposed to the test. >>> >>> -Lauri >>> >>> On Friday, December 13, 2013 2:41:36 PM UTC+2, Gunnar Liljas wrote: >>> >>>> So far it looks OK, although it's a bit troubling that the query plan >>>> cache does this. I'm not a big fan of heavy constructors, but in this case >>>> it makes some sense. >>>> >>>> I think you can make your test behave correctly (i.e fail when it >>>> should) by adding a second pass of GC.Collect() >>>> >>>> A JIRA issue and an accompanying unit test (for now, remove the >>>> dependency on SQLite) would be nice. >>>> >>>> /G >>>> >>>> >>>> 2013/12/12 Gunnar Liljas <[email protected]> >>>> >>>>> Great work, Lauri! >>>>> >>>>> I'll do some tests tomorrow, just to give you feedback. >>>>> >>>>> /G >>>>> >>>>> >>>>> >>>>> 2013/12/11 Lauri Kotilainen <[email protected]> >>>>> >>>>> Hi, >>>>>> >>>>>> I originally posted the description of this issue to the nhusers list: >>>>>> >>>>>> https://groups.google.com/d/topic/nhusers/v_6WCod79XE/discussion >>>>>> >>>>>> and I won't waste bits by pasting the entire description here unless >>>>>> it's deemed necessary. Anyway, I think I have a patch that fixes the >>>>>> session leak, but I don't understand the big picture well enough to >>>>>> evaluate whether or not it's a safe change. Essentially, what I did was >>>>>> move most of the code from NhLinqExpression.Translate to the >>>>>> NhLinqExpression constructor and eliminated the _expression field, making >>>>>> it a local variable in the ctor. It didn't cause any test failures in the >>>>>> master branch, and after I backported it to the 3.4.x branch and tested >>>>>> with the problematic application, the leak is gone (according to ANTS >>>>>> profiler). >>>>>> >>>>>> Here's the patch: >>>>>> https://gist.github.com/rytmis/3735cfc274e135aae753 >>>>>> >>>>>> 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. >>>>>> >>>>>> What I would like to know at this point is whether the change is >>>>>> likely to cause performance regressions or other unexpected side effects. >>>>>> >>>>>> Thanks, >>>>>> >>>>>> -Lauri >>>>>> >>>>>> -- >>>>>> >>>>>> --- >>>>>> 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. >>>>>> >>>>> >>>>> >>>> -- >>> >>> --- >>> 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. >>> >> >> -- > > --- > 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. > -- --- 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.
