problem solved, it was caused by the debugger that was attached. Kirk
On May 5, 2011, at 6:51 AM, phm wrote: > I think this is something more to do with your code rather than JVM > bug. working with hibernate and session/transaction management can get > tricky. I suspect when you have entire code inline somehow your entity > objects are setting a reference in Session and that's being hold on to > untill entire loop finishes. when you move code to different method, > that might be coming under different transaction management hence your > session and Entity objects are getting cleared. > > On May 3, 12:44 pm, Kirk <[email protected]> wrote: >> On May 3, 2011, at 9:29 PM, Jan Goyvaerts wrote: >> >>> I was really wondering whether I missed something about garbage collection. >>> Thanks guys ! >> >>> It's the windows JVM it's working on. It's happily ploughing through all >>> the data and regularly collecting. The Linux version doesn't. :-) >> >>> Tomorrow I'll double-check the setup to make sure they're as similar as >>> possible. And have a go with Kirk's advice. Didn't though about allocation >>> stack traces indeed... >> >> You always want a profiler to provide you with a casual execution path. In >> this case you want to know how the leaking objects are being created. >> >>> But I'm positive I had a memory leak on windows with the code in the loop. >>> And no more leak when it was put into a method. So whether it's on Linux or >>> windows - in both cases there's something weird. >> >> weird.. my sense is not to trust anything you're saying and perform the >> memory leak analysis as I've outlined. If the leak is technical, it will >> show as that. If it's application, it will show up as that. >> >> >> >>> I've been trying on Linux with JDK 1.6 builds 23-25, the latest JDK7 and G1 >>> garbage collection. Same result. >> >>> I agree the JDBC driver will contain native code - but how on earth can it >>> get a reference to an entity class ? >> >> The JDBC driver will use native code but a type IV driver doesn't contain >> native code. >> >> Regards, >> Kirk >> >> >> >> >> >> >> >> >> >>> 2011/5/3 Cédric Beust ♔ <[email protected]> >>> On Tue, May 3, 2011 at 9:44 AM, Kirk <[email protected]> wrote: >> >>> On May 3, 2011, at 6:13 PM, Cédric Beust ♔ wrote: >> >>>> Hi Jan, >> >>>> Nice job trimming down the list of potential suspects! >> >>>> I think that focusing on locals is a red herring. Locals do get collected >>>> and I can't imagine a JVM bug in that area, regardless of the OS, but I >>>> have a suspicion your loop is doing some side effects which are causing >>>> some other bigger objects to be retained. Sadly, this hypothesis seems to >>>> be invalidated by the fact that your code works properly on non-Windows >>>> JVM's, but it's not a 100% certainty yet. >> >>> Well, having the same code leak in Windows and not in Linux is very much >>> smells like a bug. >> >>> Yes, but I was going with Occam's razor here: the bug is more likely to be >>> in applicative code (e.g. native JDBC drivers, like you suggested) than in >>> the JVM. >> >>> Obviously, you need to keep both in mind until you've ruled one out. >> >>> -- >>> Cédric >> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "The Java Posse" group. >>> To post to this group, send email to [email protected]. >>> To unsubscribe from this group, send email to >>> [email protected]. >>> For more options, visit this group >>> athttp://groups.google.com/group/javaposse?hl=en. >> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "The Java Posse" group. >>> To post to this group, send email to [email protected]. >>> To unsubscribe from this group, send email to >>> [email protected]. >>> For more options, visit this group >>> athttp://groups.google.com/group/javaposse?hl=en. > > -- > You received this message because you are subscribed to the Google Groups > "The Java Posse" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/javaposse?hl=en. > -- You received this message because you are subscribed to the Google Groups "The Java Posse" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.
