1 2 Previous Next 18 Replies Latest reply on Sep 8, 2008 4:06 PM by brian.stansberry Go to original post
      • 15. Re: Classloading problem in proxy factories
        brian.stansberry

         

        "ALRubinger" wrote:

        I also tried running the test on my Win32 partition using JBossProfiler, which can force a GC via its JMVTIInterface. However, this resulted in lots of:

        [JVMTIInterface] 4069000 references received


        ...followed by OutOfMemoryErrors.


        I guess there's a reason my writing those tests turned into my debugging all the leaks they found. Until you didn't run away from the tarbaby fast enough. Not very easy; requires a fair bit of black art, like w/ AS 5 you have to increase the heap. :(


        Anyway, re: the transient failures, one thing that's odd here is it's the same test that fails, but others don't in the same test class don't. The other tests are basically doing the same things, it's just that the EJB they invoke upon is packaged differently (in an ear, in an ear with a scoped classloader, etc.) But the way the remoting layer handles the calls should be identical between the tests. So why is testSimpleEjb the only one that fails?

        • 16. Re: Classloading problem in proxy factories

           

          "bstansberry@jboss.com" wrote:
          "ALRubinger" wrote:

          I also tried running the test on my Win32 partition using JBossProfiler, which can force a GC via its JMVTIInterface. However, this resulted in lots of:

          [JVMTIInterface] 4069000 references received


          ...followed by OutOfMemoryErrors.


          I guess there's a reason my writing those tests turned into my debugging all the leaks they found. Until you didn't run away from the tarbaby fast enough. Not very easy; requires a fair bit of black art, like w/ AS 5 you have to increase the heap. :(


          No, the OOMEs are deliberate and are what forces the GC. :-)
          http://viewcvs.labs.jboss.com/cgi-bin/viewvc.cgi/jbossprofiler/trunk/jvmti-lib/java-src/org/jboss/profiler/jvmti/JVMTIInterface.java?view=markup&sortby=log&sortdir=down&pathrev=433
          Nothing else will guarantee that all non-hard references have been removed.

          • 17. Re: Classloading problem in proxy factories
            alrubinger

            Adrian, "forceGC" is native...why would it require OOME to push out the references?

            Anyway, when I get the OOME along with the logging I mentioned earlier, the test simply won't finish for me on Win32. I'll try Brian's suggestion of increasing the heap and re-running.

            S,
            ALR

            • 18. Re: Classloading problem in proxy factories
              brian.stansberry

              Adrian, I assume you are referring to the "forceReleaseOnSoftReferences()" method in JVMTIInterface? Yes, that does deliberately fill memory until OOME if necessary, and then forces a GC to try to recover.

              The "[JVMTIInterface] 4069000 references received" logging Andrew reported occurs later in the process when JVMTIInterface is trying to analyze the heap snapshot it took after having returned from forceReleaseOnSoftReferences(). All of the heap analysis data is being kept in the heap as well; I've found that that standard heap size isn't adequate to do the full analysis w/ AS 5.

              1 2 Previous Next