JBoss EAP 6 On JRockit - Memory Leak

hello team.
I have memory leak problem on jboss and jrockit.
My Environment :
1. OS :          
CentOS release 6.4 (Final)
2. JRockit :     
java version "1.6.0_45"
     Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
     Oracle JRockit(R) (build R28.2.7-7-155314-1.6.0_45-20130329-0641-linux-x86_64, compiled mode)
3. Application Server:
JBoss EAP 6.2.0.GA
4. Application
Large EJB Application (100 and more EJB Beans (Stateless, Stateful,  MDB, Timers and so on)
Everything works fine on older application server versions (4.3 , 4.2)
But now I have Problem
Of course I know that problem is new version - and i have discussion on JBoss forums.
but guys I have question about jrockit with you:
What is the option "Other" in memory ??
[jboss@jboss-new bin]$ jrcmd 17114  print_memusage
17114:
Total mapped                       8457864KB           (reserved=2983100KB)
-              Java heap              3145728KB           (reserved=0KB)
-              GC tables            105232KB         
-          Thread stacks       46412KB           (#threads=138)
-          Compiled code       1048576KB           (used=12257KB)
-               Internal                   1480KB         
-                     OS       170324KB         
-                  Other       3639056KB         
-            Classblocks         10496KB           (malloced=9631KB #28393)
-        Java class data       289536KB           (malloced=192391KB #133697 in 28393 classes)
- Native memory tracking     1024KB           (malloced=294KB #10)
[jboss@jboss-new bin]$
This size increases every time - and took entire amount of RAM.
Thank in Advance.
Regards,
Paata Lominadze

Not sure what the 'other' is, but it is probably best shown by using an example. By using displayMap we can display a memory map of various JVM subsystems and libraries that are loaded, including third-party libraries.
./jrcmd 4523 print_memusage displayMap
Total mapped                  3984796KB           (reserved=2978740KB)
-              Java heap       524288KB           (reserved=0KB)
-              GC tables        17548KB         
-          Thread stacks        20276KB           (#threads=39)
-          Compiled code      1048576KB           (used=14224KB)
-               Internal         1672KB         
-                     OS       146924KB         
-                  Other      2092648KB         
-            Classblocks         7424KB           (malloced=7381KB #20064)
-        Java class data       124416KB           (malloced=124411KB #91048 in 20064 classes)
- Native memory tracking         1024KB           (malloced=118KB #10)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    OS                          *java    r x 0x0000000000400000.(     76KB)
    OS                          *java    rw  0x0000000000612000.(      4KB)
    OS                        *[heap]    rw  0x00000000007c1000.(    132KB)
   INT                           Poll    r   0x000000007fffe000 (      4KB)
   INT                         Membar    rw  0x000000007ffff000.(      4KB)
   MSP              Classblocks (1/2)    rw  0x00000000df8c0000 (   6912KB)
   MSP              Classblocks (2/2)    rw  0x00000000dff80000 (    512KB)
  HEAP                      Java heap    rw  0x00000000e0000000.( 524288KB)
    OS                    *ld-2.12.so    r x 0x0000003664400000.(    128KB)
    OS                    *ld-2.12.so    r   0x000000366461f000 (      4KB)
    OS                    *ld-2.12.so    rw  0x0000003664620000 (      4KB)
    OS                   **ld-2.12.so    rw  0x0000003664621000.(      4KB)
   OS           *gconv-modules.cache    r   0x00007f8f2e4a0000 (     28KB)
THREAD                     Stack 4630    rwx 0x00007f8f2e4a7000 (      8KB)
THREAD                     Stack 4630        0x00007f8f2e4a9000 (     12KB)
THREAD                     Stack 4630    rwx 0x00007f8f2e4ac000 (    244KB)
   MSP         Java class data (5/37)    rw  0x00007f8f2e4e9000 (  14336KB)
   MSP         Java class data (9/37)    rw  0x00007f8f2fa40000 (   5888KB)
                                         rw  0x00007f8f30000000 (    188KB)
                                             0x00007f8f3002f000 (  65348KB)
                                         rw  0x00007f8f34000000 (    132KB)
                                             0x00007f8f34021000 (  65404KB)
                                         rw  0x00007f8f38000000 (    412KB)
                                             0x00007f8f38067000.(  65124KB)
   MSP        Java class data (10/37)    rw  0x00007f8f3c034000 (  34048KB)
                                         rw  0x00007f8f3e174000 (   8200KB)
   MSP        Java class data (11/37)    rw  0x00007f8f3e976000 (    256KB)
    OS                     *libhpi.so    rw  0x00007f8fb37fc000 (      8KB)
    OS                    **libhpi.so    rw  0x00007f8fb37fe000 (      4KB)
  CODE                  Compiled code    rwx 0x00007f8fb37ff000 (     64KB)
  CODE                  Compiled code    rwx 0x00007f8fb380f000 (    128KB)
  CODE                  Compiled code    rwx 0x00007f8fb382f000 (     64KB)
  MSP        Java class data (37/37)    rw  0x00007f8ff83a1000 (    512KB)
    GC Modified Union Set (committed)    rw  0x00007f8ff8421000 (    132KB)
    GC                     Card table    rw  0x00007f8ff8442000 (   1024KB)
    GC        Object bits (committed)    rw  0x00007f8ff8542000 (   8196KB)
Here
- thread is thread related (such as thread stacks)
- int, internal use (such as pointer pages)
- heap, chunk used by JRockit for the Java heap
- os, mapped directly from the operating system, such as third party DLLs or shared objects
- msp, memory space. a memory space is a native heap with a specific purpose, for example native memory allocation inside the JVM
- gc, garbage collection related, for example live bits
- code, compiled code
The 'other' memory space looks to me (from the blank entries in the above print-out) like they are a memory pages to are still not used. When the JVM starts it mappes an amount of memory. To my knowledge JRockit uses mmap (mmap(2) - Linux manual page), which creates a new mapping in the virtual address space. JRockit reserves an amount of memory (Java Heap (heap where your object instances go) + its own runtime (all the others)).
To see where the growth is in the various memory spaces, you can use 'print_memusage baseline', after which you can execute print_memusage again, for example,
./jrcmd 4523 print_memusage scale=M
4523:
Total mapped                     3896MB      +4MB (reserved=2905MB -3MB)
-              Java heap          512MB           (reserved=0MB)
-              GC tables           17MB         
-          Thread stacks           19MB           (#threads=39)
-          Compiled code         1024MB           (used=14MB +1MB)
-               Internal            1MB         
-                     OS          143MB         
-                  Other         2043MB         
-            Classblocks            7MB           (malloced=7MB #20596 +532)
-        Java class data          126MB      +4MB (malloced=125MB +4MB #93640 +2592 in 20596 classes)
- Native memory tracking            1MB           (malloced=0MB #20 +10)
Note the additional column that prints out the difference in memory usage in relation to the baseline. You can also monitor native allocations by using trace_alloc_sites, memory allocations can then be displayed with different levels of detail using the level argument.
./jrcmd 4523 print_memusage trace_alloc_sites=true
4523:
Total mapped                  3989660KB   +4864KB (reserved=2974732KB -4008KB)
-              Java heap       524288KB           (reserved=0KB)
-              GC tables        17548KB         
-          Thread stacks        20276KB           (#threads=39)
-          Compiled code      1048576KB           (used=15265KB +1040KB)
-               Internal         1672KB         
-                     OS       146924KB         
-                  Other      2092648KB         
-            Classblocks         7680KB    +256KB (malloced=7669KB +287KB #20596 +532)
-        Java class data       129024KB   +4608KB (malloced=128967KB +4555KB #93640 +2592 in 20596 classes)
- Native memory tracking         1024KB           (malloced=236KB +118KB #20 +10)
./jrcmd 4523 print_memusage level=3
4523:
Total mapped                  3989660KB   +4864KB (reserved=2974732KB -4008KB)
-              Java heap       524288KB           (reserved=0KB)
-              GC tables        17548KB         
-          Thread stacks        20276KB           (#threads=39)
-          Compiled code      1048576KB           (used=15265KB +1040KB)
-               Internal         1672KB         
-                     OS       146924KB         
-                  Other      2092648KB         
-            Classblocks         7680KB    +256KB (malloced=2KB -7379KB #4 -20060) Not fully traced
-        Java class data       129024KB   +4608KB (malloced=26KB -124385KB #16 -91032 in 20596 classes) Not fully traced.
- Native memory tracking         1024KB           (malloced=118KB #10) Not fully traced.
     gather_memorymap_database                     memtrace.c: 206         91KB     +91KB (#1 +1)
           gather_memory_usage                  osal_mspace.c:5142          7KB      +7KB (#4 +4)
  msGatherMSpacesUsageDatabase                  osal_mspace.c:6128          2KB      +2KB (#1 +1)
  msGatherMSpacesUsageDatabase                  osal_mspace.c:6134         16KB     +16KB (#1 +1)
Note this is more on the JVM level, in your case in might be beneficial to investigate what is happening on the java heap. By using print_object_summary you can get insight how memory on the heap is used on a per-class basis. To get to the bottom of where the memory leak is you can use the memory-leak-detector (an example of its use can be found here Middleware Snippets: Fast, Faster, JRockit). You can also obtain a heapdump that can be analyzed by using for example MAT (see for an example here Middleware Snippets: Visualizing Class Loading). To obtain a heapdump you can run the command, for example,
[weblogic@machine1 bin]$ ./jrcmd 4523 runsystemgc full=true fullcompact=true
4523:
[weblogic@machine1 bin]$ ./jrcmd 4523 hprofdump filename=/home/weblogic/dump.hprof
4523:
Wrote dump to /home/weblogic/dump.hprof
Note that this first issues a full GC by using the runsystemgc command.

Similar Messages

  • JBoss... Memory leak

    Hi All,
    We are observing memory leak while running our application on JBoss 4.0.2. We attached the profiling tool - JProfiler to trace the memory leak and we found that the class[] (Proxy classes) is increasing drastically which is not getting garbage collected.
    The "HeapWalker" shows that EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run() has allocated some memory which is not being freed.
    The application uses MDBs extensively and the JMS server is configured to NullPersistance. We are closing all the Queue connection, session and sender properly.
    What could be the possible cause for this leak?
    Thanks in advance,
    Nirav.

    Nirav...
    I am new to jboss. Our application has a memory leak on the similar issue. some UIL2 threads keep openning another copy of themselves about every minute. An example of such thread follows on the bottom of my message.
    My question is this: Where do i change the connection factory type to "java:/ConnectionFactory"? I searched all of my jboss config files for "RMIConnection" and did not fing any references.
    If you can offer any advice, it would be really appreciated.
    thanks
    julia
    Name: UIL2(SocketManager.MsgPool@f34a08 client=192.168.30.237:8093)#1
    State: TIMED_WAITING on EDU.oswego.cs.dl.util.concurrent.LinkedNode@eaabad
    Total blocked: 0 Total waited: 2
    Stack trace:
    java.lang.Object.wait(Native Method)
    EDU.oswego.cs.dl.util.concurrent.SynchronousChannel.poll(SynchronousChannel.java:353)
    EDU.oswego.cs.dl.util.concurrent.PooledExecutor.getTask(PooledExecutor.java:723)
    EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:747)
    java.lang.Thread.run(Thread.java:619)

  • How to configure license file for Memory Leak tool and WL Server 9.2?

    (I posted to general JRockit forum before realizing existence of this forum which is probably more applicable.)
    Here's our problem:
    Running latest version of WL 9.2 MP3 and JRockit Mission Control 3.0.1
    Able to run Mission Control, and connect to the WL Server and to run View Console with no problems.
    I can't get Memory Leak tool to run because it complains about needing a license file.
    First I tried with off the shelf WL 9.2 MP3.
    Get error:
    A license for Memory Leak Detector could not be found on the JRockit at (1.5) weblogic.Server (192).
    Error: Can not find component Memory Leak Detector for JRockit * in the license file. Please check http://www.jrockit.com/license for license updates.
    So I downloaded license file from JRockit download site - wls92.zip. It contains several files, but no clear instructions on what to do with these files. I copied one of these files "LIC-WLSP92.txt" to my JRockit home as C:\bea\JROCKI~1\jre\license.bea
    Tried again. Restarted WL server. Restarted JRockit Mission Control.
    Get error: A license for Memory Leak Detector could not be found on the JRockit at (1.5) weblogic.Server (3052).
    The license file does not exist at: C:\bea\JROCKI~1\jre\license.bea
    Any advise on how to install license or who to contact for help?

    Installed Mission Control 3.0.3.
    Got following message when I attempted to run Memory Leak:
    A license for Memory Leak Detector could not be found on the JRockit at (1.5) weblogic.Server (192).
    Error: Can not find component Memory Leak Detector for JRockit * in the license file.
    Please check http://www.jrockit.com/license for license updates.
    I believe that we're using the latest downloads of WebLogic 9.2.x and JRockit.
    WebLogic is running using 9.2.3 and JRockit build R27.4.0-90_CR358515-94243-1.5.0_12-20080118-1154-windows-ia2
    Contents of C:\bea\jrockit_150_12\jre\license.bea:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <bea-licenses>
    <license-group format="1.0" product="JRockit" release="*">
    </license-group>
    </bea-licenses>
    Could WebLogic be misconfigured?
    Any diagnostics to help figure out the licensing?
    Any other ideas?

  • Memory Leak In DataService

    Hi All,
          I had posted this query to couple of other groups ..I am still struglling with this issue..Hope someone  will  help me out here
          I have  very basic application which uses  DataSerives over RTMP channel  to populate dataGrid , I have not used any  user defined component.
    This application has got LOAD data and Remove data  Button just to simulate the actual application
    What happens , when I click on LOAD data , It  loads the data from server(JBOSS) then I Remove all the data and force the GC to run
    If I continuously keep loading and removing the  data ,  memory goes up every time and after some times It reaches to threshold and  finally crashes the Browser.
    In actual application as soon as user logs in a dedicated DS destination is created..
        private function createDestination(destName:String):void{
                 var remoteService:RemoteObject = new RemoteObject("DestinationManager");
                 remoteService.addEventListener(ResultEvent.RESULT, resultHandler,false,0,true);
                 var operation:AbstractOperation = remoteService.getOperation("createDestination");
                 operation.send(destName);
                 var cs:ChannelSet = new ChannelSet();
                 var rtmpChannel:RTMPChannel = ServerConfig.getChannel("my-rtmp") as  RTMPChannel;
                 cs.addChannel(rtmpChannel);
                 tradeService = new DataService() ;
                 tradeService.destination=destName;
                 tradeService.channelSet = cs;  
    Now when user hits on Load data button to load the trade data ...
       public function loadData():void
             var remoteService:RemoteObject  = new RemoteObject("filterRemoteVO");
             var operation:AbstractOperation = remoteService.getOperation("loadData");
             tradeService.fill(tradeCollection);
             operation.send(rowData.text ,GUIID);
             tradeList.dataProvider = tradeCollection;
    Remove Data  hit I clean all the resource and released collection :-
          public  function  removeAll():void{
             if(tradeList.dataProvider){
                  tradeCollection.source = new Array();
                  tradeList.dataProvider.source = new Array();
                  tradeList.dataProvider = null;
                tradeService.release();
               tradeService.releaseCollection(tradeCollection);
              tradeService.channelSet.disconnectAll();
              tradeService.disconnect();
               tradeService.logout();
               System.gc();
    Except these 3 function I don't have any code which could cause memory leak.
    I m using
    LCDS 2.5
    Flex 3.0
    JBoss4.2
    Please see the mxml file below   , If  possible please have a look at it , I might  not be using dataSerice API correctly.
    I have been trying to solve this leak for last two week , I really need help from you guys.
    My client has already evaluating other contemporary technology because of this memory issue.
    I have also created scalled down war file which can be deployed on any  java application server.
    Any help will greatly be appreciated
    Regards,
    Dam
    ######################## MXML##########################
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
          creationComplete="init();" height="100%" width="100%"
         >
         <mx:Script >
         <![CDATA[
             import mx.containers.GridRow;
               import mx.utils.Base64Decoder;
             import mx.utils.StringUtil;
                import mx.events.CollectionEvent;
             import mx.formatters.Formatter;
             import mx.events.ResizeEvent;
             import mx.controls.DataGrid;
             import mx.effects.Fade;
             import mx.events.DataGridEvent;
             import mx.utils.ObjectUtil;
             import mx.events.ScrollEvent;
           import mx.formatters.DateFormatter;
           import mx.events.ListEvent;
           import mx.data.mxml.DataService;
           import mx.messaging.config.ServerConfig;
           import mx.messaging.channels.RTMPChannel;
           import mx.messaging.ChannelSet;
           import mx.rpc.AbstractOperation;
           import mx.rpc.remoting.RemoteObject;
           import mx.collections.ArrayCollection;
           import mx.controls.Alert;
           import mx.rpc.events.ResultEvent;
           import mx.messaging.messages.*;
           import mx.messaging.events.*;
           import mx.controls.Alert;
            private var GUIID:String;
            private var lastRollOverIndex:Number;
            public var tradeService:DataService=null;
            public var tradeCollection:ArrayCollection = new ArrayCollection();
           public var flag:Boolean = false;
            private function init():void {
               var guiId:String ="TEST";
                createDestination(GUIID);
            public function getData():void{
                 // memory.text =""+ ((System.totalMemory / 1024)/1024);
            public function releaseDataServices():void {
               //  tradeService.fill(null);
                    tradeService.release();
                   // tradeService.releaseCollection(tradeCollection);
                   tradeService.channelSet.disconnectAll();
                    tradeService.disconnect();
                    tradeService.logout();
                    //tradeService.dataStore = null;
                    /*Function for creating destination*/
              private function createDestination(destName:String):void{
                 var remoteService:RemoteObject = new RemoteObject("DestinationManager");
                 remoteService.addEventListener(ResultEvent.RESULT, resultHandler,false,0,true);
                 var operation:AbstractOperation = remoteService.getOperation("createDestination");
                 operation.send(destName);
                 var cs:ChannelSet = new ChannelSet();
                 var rtmpChannel:RTMPChannel = ServerConfig.getChannel("my-rtmp") as RTMPChannel;
                 cs.addChannel(rtmpChannel);
                 tradeService = new DataService() ;
                 tradeService.destination=destName;
                 tradeService.channelSet = cs;  
             //This function calls dataservice fill method depending on wheather destination is created or not
            private function resultHandler(event:ResultEvent):void{
               //call data service as destination is created successfully
                var status:Boolean = event.result as Boolean
               // Alert.show("status="+status);
                if(status){
                 getData();
               else{
                   //TODO report error to MATS app  
          public  function  removeAll():void{
             if(tradeList.dataProvider){
                  tradeCollection.source = new Array();
                  tradeList.dataProvider.source = new Array();
                  tradeList.dataProvider = null;
                tradeService.release();
               // tradeService.releaseCollection(tradeCollection);
              tradeService.channelSet.disconnectAll();
              tradeService.disconnect();
               tradeService.logout();
               System.gc();
           public function loadData():void
             var remoteService:RemoteObject  = new RemoteObject("filterRemoteVO");
             var operation:AbstractOperation = remoteService.getOperation("loadData");
             tradeService.fill(tradeCollection);
             operation.send(rowData.text ,GUIID);
             tradeList.dataProvider = tradeCollection;
       ]]>
    </mx:Script>
          <mx:DataGrid   id="tradeList"
                 initialize="tradeList.dataProvider = tradeCollection" horizontalScrollPolicy="auto"
                   height="659" x="0" y="84">
                <mx:columns>
                     <mx:DataGridColumn  headerText="Security Description" dataField="securityDesc"
                      />
                     <mx:DataGridColumn  headerText="B/S" dataField="transactionType"
                     />
                     <mx:DataGridColumn  headerText="Amount" dataField="amount"
                     />
                     <mx:DataGridColumn  headerText="Price Text" dataField="priceText"
                     />
                     <mx:DataGridColumn  headerText="Counterparty" dataField="counterParty"
                     />
                     <mx:DataGridColumn  headerText="Trade Date" dataField="tradeDate"
                     />
                     <mx:DataGridColumn  headerText="Settle Date" dataField="settleDate"
                     />
                     <mx:DataGridColumn  headerText="Trade Status" dataField="tradeStatusId"
                     />
                     <mx:DataGridColumn  headerText="Trader" dataField="trader"
                     />
                     <mx:DataGridColumn  headerText="Salesperson" dataField="salesperson"
                     />
                     <mx:DataGridColumn  headerText="Ticket Number" dataField="tradeNumber"
                     />
                     <mx:DataGridColumn  headerText="Entry Date" dataField="tradeTime"
                     />
                     <mx:DataGridColumn  headerText="Cancel Date" dataField="cancelDate"
                     />
                     <mx:DataGridColumn  headerText="Cancel Time" dataField="cancelTime"
                     />
                 </mx:columns>
              </mx:DataGrid >
             <mx:Grid x="149" y="23" width="995">
                     <mx:GridRow width="100%" height="100%">
                                <mx:GridItem width="100%" height="100%">
                                     <mx:Label text="Enter No of obejcts"   width="111"/>
                             </mx:GridItem>
                             <mx:GridItem width="100%" height="100%">
                                     <mx:TextInput name="row" id="rowData"   width="97"/>
                             </mx:GridItem>
                             <mx:GridItem width="100%" height="100%">
                                     <mx:Button  label="Load Data" click='loadData()'/>
                             </mx:GridItem>
                             <mx:GridItem width="100%" height="100%">
                                     <mx:Button  label="removeAll" click='removeAll()'/>
                             </mx:GridItem>
                             <mx:GridItem width="100%" height="100%">
                                     <mx:Label text="Total Memory"/>
                             </mx:GridItem>
                             <mx:GridItem width="100%" height="100%">
                                     <mx:TextInput text="Total Memory" id="memory"   width="97"/>
                             </mx:GridItem>
                             <mx:GridItem width="100%" height="100%">
                                     <mx:Label text="Grid Row Count"/>
                             </mx:GridItem>
                             <mx:GridItem width="100%" height="100%">
                                     <mx:TextInput name="GridRowCountN" id="GridRowCount"   width="97"/>
                             </mx:GridItem>
                     </mx:GridRow>
             </mx:Grid>
    </mx:Application>

    Hi Natasha,
    Sorry for late reply.
          I tried your suggestion but It did not help to release memory. Actully,this app contains only one event handler which is for remote method call , I dont think this could cause any memory leak.
    Profiling session reveals that It is the issue of DataService class.I dont know How do I convince  Adobe to investigate this issue.
    Regards,
    Dharmendra

  • Memory leak and char[] ?

    Hello all,
    I'm not sure whether this post should be here or in WebLogic section, so correct me if I'm wrong.
    I'm working on JDeveloper 11.1.1.3 while deployments are made on standalone WebLogic 10.3.3. This thing occurred in previous versions also.
    With every deployment WebLogic increases it's used memory until the famous PermGen space error, which is after about 5-6 deployments.
    I'm doing my best to understand how to use memleak detection tools. I've switched JDev and WL from Sun jdk which was used before to JRockit, same thing happens. Both JDev's memory profiler and JRockit mission control show something that I really do not understand. char[] uses around 30% of heap space and keeps growing with deployments, next is String with 8%. I never use char in app.
    Am I looking at the wrong thing? Is it normal for char[] to increase on WebLogic on deployments? Does anyone know how to check other things and what to check? Someone on other forums mentioned it would be useful to check if ApplicationContext keeps initializing over again on deployments. Does anyone know how to check this?
    One more thing, I have successfully deployed app on Tomcat, and Tomcat said there is a memory leak in app, but could not tell anything specific.
    I'm kinda lost in this :(

    It is normal for the PermGen space of the Sun's JVM to get filled after several re-deployments. PermGen stands for "permanent generational". This space is used by classes that is unlikely to need to be garbage-collected, so they are placed in this memory space that is never garbage-collected (for example, the Class instances). When you redeploy an application, a new class loader instance is used and it instantiates new Class instances that fill up the PermGen space. But why this happens on JRockit either, I could not explain.
    We have experienced memory leaks related to classes and components that use native memory. For example, we have had significant memory leak when using Oracle's JDBC OCI driver. We were not able to solve this problem, so we switched to JDBC Thin driver (which is very performant and stable today comparing to some years ago). If you are using Oracle JRockit, you can monitor the overall memory usage by the following JRockit command executed at OS command line:
    jrcmd <jrockit_pid> print_memusage>where <jrockit_pid> should be replaced by the JVM process ID.
    If you suspect existence of native memory leaks, then have a look at the article Thanks for the memory for explanations about how Java uses native memory.
    Dimitar

  • Memory leak using GWT 1.4 and JDK 1.5

    We are running the following:
    OS : Solaris 5.10
    WebLogic version: 10.0
    JDK : Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_14-b03)
    Java HotSpot(TM) Server VM (build 1.5.0_14-b03, mixed mode)
    GWT : 1.4
    Oracle : 10g
    We have found memory leak with the above configuration.
    After running 1 session we are facing memory leak. The used Java heap is 4% higher than the one used after we conduct
    our memory tests for 1 user.
    Similarly, after running 5 concurrent sessions we are also facing memory leak where Java heap memory is utilised more
    by about 4%.
    I have used JRockit JDK 1.5 for figuring out memory leak. I have not found a memory leak in any of the modules
    developed by us.
    The memory leak issue is we think concerned with the version of JDK, Weblogic, Sun OS.
    Can somebody please suggest whether we can use the version as mentioned above?
    Any help on this front will be appreciated.

    gc log:
    #log information
    JAVA_OPTS="$JAVA_OPTS -verbose:gc "
    JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCDetails "
    JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCTimeStamps "
    JAVA_OPTS="$JAVA_OPTS -XX:+DisableExplicitGC "
    JAVA_OPTS="$JAVA_OPTS -Xloggc:/path/to/gclog`date +%Y.%m.%d-%H:%M:%S`.log "Check sun papers for garbage collecting tips.
    >
    Is there any other way we can detect memory leak?
    >
    You have to profile your Application Server like you did with your own code.
    regards
    slowfly

  • Memory leak within FOProcessor class

    Hi all,
    I'm trying to use the XML Publisher API (5.6.2 and 5.6.3) to generate PDF documents from XSL templates and XML data in a J2EE environment (Jboss 4.0.5) with Struts but a memory leak occurs.
    It seems not to be a multithreading issue because the leak is there even if the PDF documents are generated one by one.
    I made many tests to isolate the leak and I have simplified my code as much as possible: it seems to happen within the FOProcessor class.
    One of the tests generates 4,500 PDF documents (one at a time) from an XML file (3 KB) and an XSL file (74 KB with blanks). Nothing else is done with the Jboss server during this test. The XSL file was created before the test from a RTF file with XML Publisher. The memory leak is around 70 KB for each PDF document (around 300 MB for the whole test).
    As you can see below from the heap histogram (taken at end of test after a full garbage collection) it seems that the XSL and XML elements/attributes are not released (and thus never garbage collected).
    Did I miss something or is there an actual problem with the XML/XSL parsing within the XML Publisher API?
    Thanks for your help.

    Object Histogram:
    Size    Count     Class description
    131376968 2353450 java.lang.Object[]
    60389464 937300  char[]
    48260304 335141  oracle.xml.parser.v2.XSLResultElement
    35690000 2230625 oracle.xml.util.FastVector
    24127104 1005296 java.lang.String
    16539120 413478  oracle.xml.parser.v2.XSLNode$AttrValueTmpl
    14757064 128058  int[]
    13348768 417149  java.lang.ref.Finalizer
    12701776 102220  * ConstMethodKlass
    12544808 23433   byte[]
    12204080 108965  oracle.xml.parser.v2.XSLText
    8344600 86584   java.util.Hashtable$Entry[]
    7363768 102220  * MethodKlass
    5592784 138700  * SymbolKlass
    5362256 335141  oracle.xml.parser.v2.XSLAttributeSet[]
    5267336 8135    * ConstantPoolKlass
    5234016 163563  java.util.TreeMap$Entry
    5121744 213406  java.util.Hashtable$Entry
    4900480 61256   oracle.xml.parser.v2.XPathStep
    4087120 51089   java.lang.reflect.Method
    3823216 40276   java.util.HashMap$Entry[]
    3524696 8135    * InstanceKlassKlass
    3378000 84450   java.util.Hashtable
    3064872 127703  java.util.HashMap$Entry
    2971904 6880    * ConstantPoolCacheKlass
    2968560 26505   oracle.xml.parser.v2.XSLValueOf
    2770656 24738   oracle.xml.parser.v2.XSLVariable
    2167520 27094   oracle.xml.parser.v2.XPathFunctionCall
    1880088 33573   oracle.xml.parser.v2.PathExpr
    1726360 61482   java.lang.String[]
    1573720 39343   java.util.HashMap
    1476576 30762   oracle.xml.parser.v2.XSLExprValue
    1460840 36521   java.util.TreeMap
    1319360 23560   oracle.xml.parser.v2.XPathConstantExpr
    1054976 16484   org.jboss.mx.server.InvocationContext
    1001264 3546    * MethodDataKlass
    887424  11049   short[]
    835680  8705    java.lang.Class
    830208  25944   oracle.xml.util.NSNameImpl
    705816  29409   java.util.ArrayList
    684152  4501    org.jboss.web.tomcat.tc5.session.SessionBasedClusteredSession
    670288  14071   java.lang.Object[]
    640832  10013   oracle.xml.parser.v2.XPathVarReference
    561056  35066   javax.management.modelmbean.DescriptorSupport
    556272  23178   EDU.oswego.cs.dl.util.concurrent.ConcurrentReaderHashMap$Entry
    552984  30451   java.lang.Class[]
    494760  2945    oracle.xml.parser.v2.XSLTemplate
    480792  20033   antlr.ANTLRHashString
    442576  27661   java.lang.Integer
    432096  4501    org.jboss.web.tomcat.statistics.ReplicationStatistics$TimeStatistic
    429040  10726   org.hibernate.hql.ast.tree.Node
    369880  9247    javax.management.modelmbean.ModelMBeanOperationInfo
    312384  19524   java.util.TreeMap$3
    305368  5453    java.net.URL
    287392  8981    org.jboss.mx.interceptor.ReflectedDispatcher
    259264  338     EDU.oswego.cs.dl.util.concurrent.ConcurrentReaderHashMap$Entry[]
    252280  4505    org.jboss.cache.lock.ReadWriteLockWithUpgrade
    238600  5965    org.jboss.mx.interceptor.PersistenceInterceptor
    238600  5965    org.jboss.mx.interceptor.AttributeDispatcher
    236616  9859    org.jboss.mx.server.AbstractMBeanInvoker$OperationKey
    219776  3434    java.lang.reflect.Constructor
    206880  6465    javax.management.modelmbean.ModelMBeanAttributeInfo
    193168  2259    java.lang.reflect.Method[]
    173184  5412    java.lang.ref.SoftReference
    164920  589     oracle.xml.parser.v2.XSLStylesheet
    164464  541     * ObjArrayKlassKlass
    152832  6368    org.dom4j.tree.DefaultAttribute
    149472  2076    java.lang.reflect.Field
    144160  4505    org.jboss.cache.Node
    143160  5965    org.jboss.mx.interceptor.ModelMBeanAttributeInterceptor
    140600  3515    org.apache.xerces.dom.DeferredTextImpl
    140224  2740    javax.management.modelmbean.ModelMBeanAttributeInfo[]
    139056  7658    boolean[]
    134664  3359    java.lang.String[][]
    131936  1178    oracle.xml.parser.v2.XSLCondition
    131936  1178    oracle.xml.parser.v2.XSLForEach
    129072  2668    javax.management.modelmbean.ModelMBeanOperationInfo[]
    128952  5373    EDU.oswego.cs.dl.util.concurrent.ConcurrentHashMap$Entry
    124776  1733    org.hibernate.hql.ast.tree.IdentNode
    115200  1800    javax.management.modelmbean.ModelMBeanInfoSupport
    113088  2356    oracle.xml.parser.v2.AdditiveExpr
    109416  4559    java.beans.PropertyChangeSupport
    108960  1135    java.io.ObjectStreamClass
    108120  4505    org.jboss.cache.lock.IdentityLock
    105864  345     long[]
    98752   3086    java.io.ObjectStreamClass$WeakClassKey
    97968   4082    java.util.Vector
    96672   2014    java.util.Properties
    94240   589     oracle.xml.parser.v2.XSLOutput
    90072   3753    javax.management.ObjectName$Property
    87432   3643    javax.management.MBeanParameterInfo
    82368   858     org.hibernate.hql.ast.tree.DotNode
    81248   5078    java.lang.Long
    78656   1229    org.hibernate.mapping.Column
    77664   4854    java.util.Collections$SynchronizedSet
    77448   3227    java.util.LinkedList$Entry
    73824   769     org.jboss.mx.modelmbean.XMBean
    73536   4596    java.util.Hashtable$KeySet
    72144   4509    EDU.oswego.cs.dl.util.concurrent.CopyOnWriteArraySet
    72144   4509    EDU.oswego.cs.dl.util.concurrent.CopyOnWriteArrayList
    72144   4509    org.jboss.cache.Fqn
    72080   4505    org.jboss.cache.lock.ReadWriteLockWithUpgrade$WriterLock
    72080   4505    org.jboss.cache.lock.LockStrategyRepeatableRead
    72080   4505    org.jboss.cache.lock.ReadWriteLockWithUpgrade$ReaderLock
    72080   4505    org.jboss.cache.lock.LockMap
    72016   4501    org.apache.catalina.session.StandardSessionFacade
    71776   4486    java.io.FileDescriptor
    70680   589     oracle.xml.parser.v2.XSLCallTemplate
    70680   589     oracle.xml.parser.v2.XSLApplyTemplates
    70224   154     org.hibernate.persister.entity.SingleTableEntityPersister
    68296   2774    javax.management.ObjectName$Property[]
    68160   1065    org.apache.xerces.dom.DeferredElementNSImpl
    67760   770     org.hibernate.loader.entity.EntityLoader
    66992   19      EDU.oswego.cs.dl.util.concurrent.ConcurrentHashMap$Entry[]
    65968   1178    oracle.xml.parser.v2.XPathFilterExpr
    65968   589     oracle.xml.parser.v2.XMLUTF8Reader
    64432   4027    java.util.HashSet
    63648   1326    oracle.xml.parser.v2.XMLNode[]
    63440   1586    org.hibernate.loader.DefaultEntityAliases
    61256   589     oracle.xml.parser.v2.XSLNode
    61256   589     oracle.xml.parser.v2.XMLReader
    60816   2534    org.apache.xerces.xni.QName
    57360   478     org.hibernate.hql.ast.tree.FromElement
    56976   1187    org.hibernate.mapping.Property
    56544   1178    oracle.xml.parser.v2.XSLNodeSetExpr
    56544   1178    oracle.xml.parser.v2.MultiplicativeExpr
    56544   1178    oracle.xml.parser.v2.EqualExpr
    54384   618     oracle.xml.parser.v2.XMLError
    49392   2783    javax.management.MBeanParameterInfo[]
    47648   1489    java.util.LinkedHashMap$Entry
    47120   589     oracle.xml.parser.v2.XMLByteReader[]
    ...

  • Memory Leak in Linux OS

    Using JNI1.2 for C++ and JAVA communication. And the Java application is a multithread application and monitoring JBoss application server using JMX. In each 5 minute interval the C++ application is invoking a method of java class and for each method call its creating a thread and retrieving the value from JBoss.
    the Code in run method of thread is as follows
    Object obj = context.lookup( "ejb/mgmt/MEJB" );
              ManagementHome home = (ManagementHome) PortableRemoteObject.narrow(obj,ManagementHome.class);
              server = home.create();
    //after that am retrieving the value
    But for each iteration the memory is increasing by 2MB of JVM . Its looks like a memory leak in JVM. The JVM version am using is 1.4.2.6.
    Could any one suggest me what may be the problem. THis problem is not occuring in Window OS.
    Thanks in advance.

    The JVM version am using is 1.4.2.6.Give it a try with 1.4.2_08.

  • New Memory Leak Detector released

    This week we released an updated version of the Memory Leak Detector. It now features a much improved graphical user interface as well as more powerful ways to track down memory leaks.
    The tool is designed to help you find memory leaks in production type environments without causing much overhead. It allows you to attach to a running JRockit process, analyze the heap, and detach, leaving the process running at full speed again.
    There is an article on dev2dev which describes the tool in more detail: http://dev2dev.bea.com/pub/a/2005/06/memory_leaks.html
    Download the free tool today at: http://dev2dev.bea.com/wljrockit/tools.html
    Comments are always welcome here in the forum.
    Regards,
    /Staffan Larsen

    FYI, the console ist providing this stack trace in the details window:
    java.io.IOException: Unsupported JVM on host 'localhost' at port 7090.
    Make sure you are running the correct version of JRockit.
         at com.jrockit.memleak.model_impl.MemleakUtil.handleConnectionException(Unknown Source)
         at com.jrockit.memleak.model_impl.MemleakUtil.doConnect(Unknown Source)
         at com.jrockit.memleak.model_impl.MemleakUtil.access$000(Unknown Source)
         at com.jrockit.memleak.model_impl.MemleakUtil$1.run(Unknown Source)
         at foxtrot.AbstractWorkerThread$2.run(AbstractWorkerThread.java:49)
         at java.security.AccessController.doPrivileged(Native Method)
         at foxtrot.AbstractWorkerThread.runTask(AbstractWorkerThread.java:45)
         at foxtrot.workers.DefaultWorkerThread.run(DefaultWorkerThread.java:153)
         at java.lang.Thread.run(Unknown Source)
    Caused by: javax.naming.CommunicationException [Root exception is java.rmi.ConnectIOException: error during JRMP connection establishment; nested exception is:
         java.io.EOFException]
         at com.sun.jndi.rmi.registry.RegistryContext.lookup(Unknown Source)
         at com.sun.jndi.toolkit.url.GenericURLContext.lookup(Unknown Source)
         at javax.naming.InitialContext.lookup(Unknown Source)
         at javax.management.remote.rmi.RMIConnector.findRMIServerJNDI(Unknown Source)
         at javax.management.remote.rmi.RMIConnector.findRMIServer(Unknown Source)
         at javax.management.remote.rmi.RMIConnector.connect(Unknown Source)
         at javax.management.remote.rmi.RMIConnector.connect(Unknown Source)
         at com.jrockit.memleak.comm.RemoteMLSController.getServerConnection(RemoteMLSController.java:152)

  • Memory Leak WSEndpointImpl

    Hi all,
    using R28.1.3-11-141760-1.6.0_24-20110301-1432-linux-x86_64 of jrockit we experience a memory leak in production. So far I only got to obtain an hprof dump, which I analyzed with eclipse MAT. I'm trying to obtain a flight recording as well but I'm not sure if this will shed more light on the problem. The MAT result is pretty clear but I'm not sure what the cause is. There's one object of com.sun.xml.ws.server.WSEndpointImpl with a growing retained heap, at the moment of the memory dump it was 929 MB. Here's the import part of the dominator tree:
    Class Name | Shallow Heap | Retained Heap | Percentage
    com.sun.xml.ws.server.WSEndpointImpl @ 0xafaf0f70 | 176 | 929.780.784 | 69,61%
    |- com.sun.xml.ws.binding.SOAPBindingImpl @ 0xafaf1160 | 72 | 929.046.360 | 69,56%
    | |- com.sun.xml.ws.binding.WebServiceFeatureList @ 0xafaf13e0 | 56 | 929.044.320 | 69,56%
    | | '- java.util.HashMap @ 0xafaf1e58 | 80 | 929.044.264 | 69,56%
    | | |- java.util.HashMap$Entry[16] @ 0xafaf3058 | 152 | 929.044.160 | 69,56%
    | | | |- java.util.HashMap$Entry @ 0xaf9b8f48 | 48 | 928.998.912 | 69,55%
    | | | | '- weblogic.wsee.jaxws.EndpointCreationInterceptorFeature @ 0xaf9b8f80| 32 | 928.998.864 | 69,55%
    | | | | '- java.util.HashSet @ 0xaf9b92f8 | 24 | 928.998.832 | 69,55%
    | | | | '- java.util.HashMap @ 0xaf9b9528 | 80 | 928.998.808 | 69,55%
    | | | | |- java.util.HashMap$Entry[32768] @ 0x9462cb88 | 262.168 | 928.998.704 | 69,55%
    | | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0x9b672ae8 | 40 | 152.104 | 0,01%
    | | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0xad2a9360 | 40 | 152.104 | 0,01%
    | | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0xa3949490 | 40 | 152.104 | 0,01%
    | | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0xa3a332c8 | 40 | 152.104 | 0,01%
    | | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0x954ef698 | 40 | 151.440 | 0,01%
    | | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0xb3acff18 | 40 | 148.256 | 0,01%
    | | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0xa1db8a38 | 40 | 148.000 | 0,01%
    | | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0xb9d18ee8 | 40 | 148.000 | 0,01%
    | | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0xbe6bf4d0 | 40 | 147.896 | 0,01%
    | | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0xa0397080 | 40 | 147.896 | 0,01%
    | | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0xbf6693f0 | 40 | 147.896 | 0,01%
    | | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0xc3c4ddb0 | 40 | 143.792 | 0,01%
    | | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0x82714140 | 40 | 143.792 | 0,01%
    | | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0xa0347178 | 40 | 143.792 | 0,01%
    | | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0x919c9948 | 40 | 143.688 | 0,01%
    | | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0xbb1f6d28 | 40 | 135.960 | 0,01%
    | | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0x8c3cd118 | 40 | 135.488 | 0,01%
    | | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0x91d6e950 | 40 | 134.936 | 0,01%
    | | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0x8abefe80 | 40 | 134.936 | 0,01%
    | | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0x89f0aaa8 | 40 | 134.736 | 0,01%
    | | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0xb0f116a8 | 40 | 134.600 | 0,01%
    | | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0x9da69938 | 40 | 134.392 | 0,01%
    | | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0x96cae018 | 40 | 134.392 | 0,01%
    | | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0x88691950 | 40 | 134.040 | 0,01%
    | | | | | |- weblogic.wsee.jaxws.ServerLateInitTube @ 0xc201f268 | 40 | 134.040 | 0,01%
    | | | | | '- Total: 25 of 36.803 entries | | |
    I would appreciate any hints on how to proceed as these are standard java / weblogic classes. If I drill down into the objects I see some ErrorHandler objects, so these objects might accumulate with erroneus requests, but I'm not positive on this since I only checked a few instances. Before I start to try to reproduce this on a test environment I would like to ask for your help.
    Kind regards,
    Thomas
    PS: Sorry, this is probably not really jrockit related, but I know here are some java experts ;)

    Hi Marcus,
    thanks. The FlightRecording did not help, the allocation pressure is not high enough. I eventually fired up memleak and found the following allocation trace, which doesn't help me a lot. I will post in WLS forums.
    Trace     Type     Type ID     Class Loader     Class Loader ID     Percent(%)     Count
    weblogic.wsee.jaxws.ServerLateInitTube.copy(TubeCloner)     weblogic.wsee.jaxws.ServerLateInitTube     98     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    weblogic.wsee.jaxws.ServerLateInitTube.copy(TubeCloner)     weblogic.wsee.jaxws.ServerLateInitTube     98     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    com.sun.xml.ws.api.pipe.PipeClonerImpl.copy(Tube)     com.sun.xml.ws.api.pipe.PipeClonerImpl     15773     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    weblogic.wsee.jaxws.ServerLateInitTube.<init>(ServerLateInitTube, TubeCloner)     weblogic.wsee.jaxws.ServerLateInitTube     98     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    weblogic.wsee.jaxws.ServerLateInitTube.copy(TubeCloner)     weblogic.wsee.jaxws.ServerLateInitTube     98     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    weblogic.wsee.jaxws.ServerLateInitTube.copy(TubeCloner)     weblogic.wsee.jaxws.ServerLateInitTube     98     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    com.sun.xml.ws.api.pipe.PipeClonerImpl.copy(Tube)     com.sun.xml.ws.api.pipe.PipeClonerImpl     15773     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    com.sun.xml.ws.api.pipe.helper.AbstractFilterTubeImpl.<init>(AbstractFilterTubeImpl, TubeCloner)     com.sun.xml.ws.api.pipe.helper.AbstractFilterTubeImpl     15774     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    weblogic.wsee.jaxws.tubeline.standard.WseeServerTube.<init>(WseeServerTube, TubeCloner)     weblogic.wsee.jaxws.tubeline.standard.WseeServerTube     2450     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    weblogic.wsee.jaxws.tubeline.standard.WseeServerTube.copy(TubeCloner)     weblogic.wsee.jaxws.tubeline.standard.WseeServerTube     2450     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    weblogic.wsee.jaxws.tubeline.standard.WseeServerTube.copy(TubeCloner)     weblogic.wsee.jaxws.tubeline.standard.WseeServerTube     2450     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    com.sun.xml.ws.api.pipe.PipeClonerImpl.copy(Tube)     com.sun.xml.ws.api.pipe.PipeClonerImpl     15773     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    com.sun.xml.ws.api.pipe.TubeCloner.clone(Tube)     com.sun.xml.ws.api.pipe.TubeCloner     15776     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    com.sun.xml.ws.server.WSEndpointImpl$2.<init>(WSEndpointImpl)     com.sun.xml.ws.server.WSEndpointImpl$2     15319     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    com.sun.xml.ws.server.WSEndpointImpl.createPipeHead()     com.sun.xml.ws.server.WSEndpointImpl     2523     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    com.sun.xml.ws.api.server.Adapter$Toolkit.<init>(Adapter)     com.sun.xml.ws.api.server.Adapter$Toolkit     15770     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.<init>(HttpAdapter)     com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit     15306     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    com.sun.xml.ws.transport.http.HttpAdapter.createToolkit()     com.sun.xml.ws.transport.http.HttpAdapter     15467     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    com.sun.xml.ws.transport.http.HttpAdapter.createToolkit()     com.sun.xml.ws.transport.http.HttpAdapter     15467     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    com.sun.xml.ws.api.server.Adapter$1.create()     com.sun.xml.ws.api.server.Adapter$1     2807     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    com.sun.xml.ws.api.server.Adapter$1.create()     com.sun.xml.ws.api.server.Adapter$1     2807     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    com.sun.xml.ws.util.Pool.take()     com.sun.xml.ws.util.Pool     15771     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    com.sun.xml.ws.transport.http.HttpAdapter.handle(WSHTTPConnection)     com.sun.xml.ws.transport.http.HttpAdapter     15467     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletContext, HttpServletRequest, HttpServletResponse)     com.sun.xml.ws.transport.http.servlet.ServletAdapter     3251     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doGet(HttpServletRequest, HttpServletResponse, ServletContext)     com.sun.xml.ws.transport.http.servlet.WSServletDelegate     4388     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doPost(HttpServletRequest, HttpServletResponse, ServletContext)     com.sun.xml.ws.transport.http.servlet.WSServletDelegate     4388     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    com.sun.xml.ws.transport.http.servlet.WSServlet.doPost(HttpServletRequest, HttpServletResponse)     com.sun.xml.ws.transport.http.servlet.WSServlet     4743     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    javax.servlet.http.HttpServlet.service(HttpServletRequest, HttpServletResponse)     javax.servlet.http.HttpServlet     15468     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    javax.servlet.http.HttpServlet.service(ServletRequest, ServletResponse)     javax.servlet.http.HttpServlet     15468     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run()     weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction     15469     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    weblogic.servlet.internal.StubSecurityHelper.invokeServlet(ServletRequest, HttpServletRequest, ServletRequestImpl, ServletResponse, HttpServletResponse, Servlet)     weblogic.servlet.internal.StubSecurityHelper     1044     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    weblogic.servlet.internal.ServletStubImpl.execute(ServletRequest, ServletResponse, FilterChainImpl)     weblogic.servlet.internal.ServletStubImpl     907     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    weblogic.servlet.internal.ServletStubImpl.execute(ServletRequest, ServletResponse)     weblogic.servlet.internal.ServletStubImpl     907     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(ServletStubImpl, HttpServletRequest, HttpServletResponse)     weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction     15310     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run()     weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction     15310     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    weblogic.security.acl.internal.AuthenticatedSubject.doAs(AbstractSubject, PrivilegedAction)     weblogic.security.acl.internal.AuthenticatedSubject     2125     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    weblogic.security.service.SecurityManager.runAs(AuthenticatedSubject, AuthenticatedSubject, PrivilegedAction)     weblogic.security.service.SecurityManager     15464     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    weblogic.servlet.internal.WebAppServletContext.securedExecute(HttpServletRequest, HttpServletResponse, boolean)     weblogic.servlet.internal.WebAppServletContext     1108     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    weblogic.servlet.internal.WebAppServletContext.execute(ServletRequestImpl, ServletResponseImpl)     weblogic.servlet.internal.WebAppServletContext     1108     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    weblogic.servlet.internal.ServletRequestImpl.run()     weblogic.servlet.internal.ServletRequestImpl     67     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    weblogic.work.ExecuteThread.execute(Runnable)     weblogic.work.ExecuteThread     1085     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    weblogic.work.ExecuteThread.run()     weblogic.work.ExecuteThread     1085     sun.misc.Launcher$AppClassLoader<0>     0     100     17
    Kind regards,
    Thomas

  • JSF (RI) app hot-deploy memory leak

    I have a standard JSF (RI) based web app that appears to be working just fine in terms of functionality. However, I believe that there is a memory leak associated with the sort of frequent hot-deploy cycles that are typical during a normal development cycle. I have been monitoring the app via the jvmstat 3.0 tools and have witnessed NO memory growth in the young or old generation areas - regardless of useage pattern. All of the growth seems to happen in the perm area of memory and be directly coincidental with the occurence of a deploy. Eventually, continued hot-deply cycles will result in an OutOfMemory error on the container - please note that continued and extensive use of the app WITHOUT the aforementioned hot-deploys does NOT result in the OutOfMemory error.
    From my research so far, I have discovered the following thread:
    http://forum.hibernate.org/viewtopic.php?t=935948&postdays=0&postorder=asc&start=75
    It refers to a similar problem with hiberate (which I am NOT using) as well as a commons-logging and several others. From the looks of it, I strongly suspect that there may be an issue with JSF when it's implementation is bundled inside the WEB-INF/lib dir - i.e. inside the specific web app's ClassLoader.
    Based on the above, I have implemented a SessionContextListener that invokes the org.apache.commons.logging.LogFactory.release() inside the contextDestroyed( ServletContextEvent e ) method. This does appear to free up some perm memory but there is still large growth that appears to be directly related to the FacesServlet initialization (navigation handlers, etc). I looked into calling the FacesContext.release() method which seems to have purpose similar to that of the LogFactory.release() method. However, at the time of the contextDestroyed() invocation, FacesContext.getCurrentInstance() always returns null, so I do not ever have an opportunity to invoke the release method that I am aware of. If my suspicions are correct, than I would likely be able to avoid this problem entirely by simply placing the JSF implementation jars in the conatiner's shared lib dir - instead of bundling it inside WEB-INF/lib. However, this is not an option for this container as multiple web apps (which require the flexibility to use differing JSF implementations and versions - i.e. RI vs MyFaces, etc) will run on this container.
    I don't believe it is at all related to the problem at hand, but my container is JBoss 4.0.2.
    Any and all assistance and suggestion will be greatly appreciated! Has anyone else seen this sort of behavior? Are there any work arounds or corrective actions?
    TIA

    Has anyone else run into this? I'd greatly appreciate any assistance as I cannot seem to resolve this hot-deploy related leak.

  • Memory Leak: Do I need to explicitly free memory reference for collection?

    Hi,
    My web application uses JRockit JDK 1.4.2, Java Servlet, JSP &Struts. It is a clustered environment using WL 8.1 sp 4. I am investigating whether there are any memory leaks in the application & what are best practices to avoid leaks.
    A specific scenario is as follows:
    For an incoming request, the struts action class creates object �O� (of class A) and set �O� as a request attribute. This request attribute is used to display values on the JSP.
    Now, class A has a heavily nested structure: Class A has object of class B, where B has a HashSet of objects of type C and where C has an object of type D and E.
    Though I set this object �O� in request scope, do I need to explicitly nullify any of the references within object �O�? Can �not doing this� result in a memory leak?
    Thanks in advance,
    sjaiprakash

    jEnv->ReleaseStringUTFChars((jstring) jStr, str);free(str); //Is this line valid or outright wrong?Outright wrong.
    Another question is if ReleaseStringUTFChars actually frees str then will it set str to NULL?No, that's impossible by the semantics of C and C++.
    I guess not as we are not sending this pointer by reference.Exactly, so what you described is impossible. No need to ask really.
    My last question is if str is NULL then calling ReleaseStringUTFChars over it can cause any problem?How could it be null? If it comes from GetStringUTFChars that's impossible, and if it doesn't you don't have any business calling ReleaseStringUTFChars() on it, whatever its value.

  • How to configure JProfiler6 to monitor tomcat6.0 for memory leak

    Hello,
    Can anyone help. I am tring to work out the memory leak of my Web Application running on the local server. I have been told that jprofiler is a good tool for monitoring memory. I have dowloaded jprofiler6, but I dont know how to config the setting.
    what i have done is:
    1.from the Quickstart window->An application server, locally or remotely
    2.follow the wizard step by step
    1)choose application server Apache Tomcat 6.x
    2)application is located "on this computer"
    3) Chose JVM vendor
    4) wait for a connection from the JProfiler GUI
    5) Locate the start script :C:\Program Files\Apache Software Foundation\apache-tomcat-6.0.20\bin\startup.bat
    6) port:8849
    7)finished
    After i done these, a error message came out said:
    "Could not connect ot 127.0.0.1:8849.Please make sure that the remote address is correct, the remote program is started properly and the netword route allows socket connections."

    Hi,
    The recommended solution is to download Oracle JRockit Mission Control (available here: http://www.oracle.com/technology/software/products/jrockit/index.html) and install on your server. The installers include Oracle JRockit JVM as well as Mission Control, and are free of license checks.
    If that solution for some reason is unfeasible you can download legacy development license files from here (http://download2.bea.com/pub/license/All%20Products/BEA_WebLogic.zip).
    The license you are looking for is named “LIC-WLRT20.txt”. Rename it to license.bea, and follow the instructions at http://edocs.bea.com/jrockit/geninfo/diagnos/conf_run.html#wp1077371

  • Error while loading a 10.1.3 ADF application login page on JBoss EAP 6.0.1

    I have a 10.1.3 ADF application that runs well on Web Sphere and OC4J. I'm trying to run it on JBoss EAP 6.0.1. The ear file was deployed successfully to JBOSS and according to ADF logging the connection to Oracle database is established.
    But when I try to load the application login page, I obtain the following exception
    ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/cv].[Faces Servlet]] (http-/0.0.0.0:8080-1) Servlet.service() for servlet Faces Servlet threw exception: oracle.jbo.common.ampool.ApplicationPoolException:
    JBO-30003: The application pool (com.claimvantage.adf.root.Oracle) failed to checkout an application module due to the following exception:
            at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:2002) [bc4jct.jar:]
            at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:2793) [bc4jct.jar:]
            at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:453) [bc4jct.jar:]
            at oracle.jbo.http.HttpSessionCookieImpl.useApplicationModule(HttpSessionCookieImpl.java:233) [adfmweb.jar:]
            at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:424) [bc4jct.jar:]
            at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:419) [bc4jct.jar:]
            at oracle.adf.model.bc4j.DCJboDataControl.rebuildApplicationModule(DCJboDataControl.java:1536) [adfm.jar:]
            at oracle.adf.model.bc4j.DCJboDataControl.beginRequest(DCJboDataControl.java:1396) [adfm.jar:]
            at oracle.adf.model.binding.DCDataControlReference.getDataControl(DCDataControlReference.java:99) [adfm.jar:]
            at oracle.adf.model.BindingContext.get(BindingContext.java:457) [adfm.jar:]
            at oracle.adf.model.BindingContext.findDataControl(BindingContext.java:308) [adfm.jar:]
            at com.claimvantage.web.bean.jsf.JhsPageLifecycle.getMessageHolder(JhsPageLifecycle.java:220) [cv-model.jar:]
            at com.claimvantage.web.bean.jsf.JhsPageLifecycle.reportErrors(JhsPageLifecycle.java:203) [cv-model.jar:]
            at oracle.adf.controller.v2.lifecycle.PageLifecycleImpl.prepareRender(PageLifecycleImpl.java:548) [adf-controller.jar:]
            at oracle.adf.controller.faces.lifecycle.FacesPageLifecycle.prepareRender(FacesPageLifecycle.java:99) [adf-controller.jar:]
            at oracle.jheadstart.controller.jsf.lifecycle.JhsPageLifecycle.prepareRender(JhsPageLifecycle.java:1080) [jhsadfrt-10.1.3.jar:]
            at oracle.adf.controller.v2.lifecycle.Lifecycle$1.execute(Lifecycle.java:297) [adf-controller.jar:]
            at oracle.adf.controller.v2.lifecycle.Lifecycle.executePhase(Lifecycle.java:116) [adf-controller.jar:]
            at oracle.adf.controller.faces.lifecycle.ADFPhaseListener.mav$executePhase(ADFPhaseListener.java:29) [adf-controller.jar:]
            at oracle.adf.controller.faces.lifecycle.ADFPhaseListener$1.before(ADFPhaseListener.java:426) [adf-controller.jar:]
            at oracle.adf.controller.faces.lifecycle.ADFPhaseListener.beforePhase(ADFPhaseListener.java:77) [adf-controller.jar:]
            at com.sun.faces.lifecycle.Phase.handleBeforePhase(Phase.java:228) [jsf-impl-2.1.13-redhat-1.jar:2.1.13-redhat-1]
            at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:99) [jsf-impl-2.1.13-redhat-1.jar:2.1.13-redhat-1]
            at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) [jsf-impl-2.1.13-redhat-1.jar:2.1.13-redhat-1]
            at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594) [jboss-jsf-api_2.1_spec-2.0.7.Final-redhat-1.jar:2.0.7.Final-redhat-1]
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.17.Final-redhat-1.jar:]
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.17.Final-redhat-1.jar:]
            at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:162) [adfm.jar:]
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.17.Final-redhat-1.jar:]
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.17.Final-redhat-1.jar:]
            at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:228) [adf-faces-impl-no-oracle-desktop-xss.jar:10_1_3_2_0]
            at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:197) [adf-faces-impl-no-oracle-desktop-xss.jar:10_1_3_2_0]
            at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:123) [adf-faces-impl-no-oracle-desktop-xss.jar:10_1_3_2_0]
            at oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:103) [adf-faces-api.jar:10_1_3_2_0]
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.17.Final-redhat-1.jar:]
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.17.Final-redhat-1.jar:]
            at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:840) [jbossweb-7.0.17.Final-redhat-1.jar:]
            at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:622) [jbossweb-7.0.17.Final-redhat-1.jar:]
            at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:560) [jbossweb-7.0.17.Final-redhat-1.jar:]
            at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:488) [jbossweb-7.0.17.Final-redhat-1.jar:]
            at com.claimvantage.web.sso.AuthenticationFilter.doFilter(AuthenticationFilter.java:272) [cv-model.jar:]
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.17.Final-redhat-1.jar:]
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.17.Final-redhat-1.jar:]
            at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:162) [adfm.jar:]
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.17.Final-redhat-1.jar:]
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.17.Final-redhat-1.jar:]
            at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:228) [adf-faces-impl-no-oracle-desktop-xss.jar:10_1_3_2_0]
            at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:197) [adf-faces-impl-no-oracle-desktop-xss.jar:10_1_3_2_0]
            at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:123) [adf-faces-impl-no-oracle-desktop-xss.jar:10_1_3_2_0]
            at oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:103) [adf-faces-api.jar:10_1_3_2_0]
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.17.Final-redhat-1.jar:]
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.17.Final-redhat-1.jar:]
            at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.17.Final-redhat-1.jar:]
            at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.17.Final-redhat-1.jar:]
            at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web-7.1.3.Final-redhat-4.jar:7.1.3.Final-redhat-4]
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.17.Final-redhat-1.jar:]
            at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.17.Final-redhat-1.jar:]
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.17.Final-redhat-1.jar:]
            at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:372) [jbossweb-7.0.17.Final-redhat-1.jar:]
            at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.17.Final-redhat-1.jar:]
            at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:679) [jbossweb-7.0.17.Final-redhat-1.jar:]
            at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:931) [jbossweb-7.0.17.Final-redhat-1.jar:]
            at java.lang.Thread.run(Unknown Source) [rt.jar:1.6.0_16]
    Any help would be really appreciated.
    Thanks

    Thanks Frank for your answer.
    I can't see where the exception states that DB connection was not established!
    In the log, I have:
    21:49:06,874 INFO  [stdout] (http-/0.0.0.0:8080-1) [3011] Created root application module: 'com.claimvantage.adf.root.RootAppModule'
    21:49:06,874 INFO  [stdout] (http-/0.0.0.0:8080-1) [3012] Locale is: 'en_US'
    21:49:06,874 INFO  [stdout] (http-/0.0.0.0:8080-1) [3013] ApplicationPoolImpl.resourceStateChanged wasn't release related. No notify invoked.
    21:49:06,890 INFO  [stdout] (http-/0.0.0.0:8080-1) [3014] Oracle SQLBuilder: Registered driver: oracle.jdbc.driver.OracleDriver
    21:49:06,890 INFO  [stdout] (http-/0.0.0.0:8080-1) [3015] import java.util.*;  // JBO-JDBC-INTERACT
    21:49:06,890 INFO  [stdout] (http-/0.0.0.0:8080-1) [3016] import java.sql.*;  // JBO-JDBC-INTERACT
    21:49:06,890 INFO  [stdout] (http-/0.0.0.0:8080-1) [3017] import java.io.*;  // JBO-JDBC-INTERACT
    21:49:06,890 INFO  [stdout] (http-/0.0.0.0:8080-1) [3018] public class JDBCCalls  // JBO-JDBC-INTERACT
    21:49:06,890 INFO  [stdout] (http-/0.0.0.0:8080-1) [3019] {  // JBO-JDBC-INTERACT
    21:49:06,890 INFO  [stdout] (http-/0.0.0.0:8080-1) [3020]    public Connection conn = null;  // JBO-JDBC-INTERACT
    21:49:06,890 INFO  [stdout] (http-/0.0.0.0:8080-1) [3021]    public CallableStatement cStmt = null;  // JBO-JDBC-INTERACT
    21:49:06,890 INFO  [stdout] (http-/0.0.0.0:8080-1) [3022]    public PreparedStatement pStmt = null;  // JBO-JDBC-INTERACT
    21:49:06,890 INFO  [stdout] (http-/0.0.0.0:8080-1) [3023]    public Statement stmt = null;  // JBO-JDBC-INTERACT
    21:49:06,890 INFO  [stdout] (http-/0.0.0.0:8080-1) [3024]    public ResultSet rslt = null;  // JBO-JDBC-INTERACT
    21:49:06,890 INFO  [stdout] (http-/0.0.0.0:8080-1) [3025]    public static void main(String argv[])  // JBO-JDBC-INTERACT
    21:49:06,890 INFO  [stdout] (http-/0.0.0.0:8080-1) [3026]    {  // JBO-JDBC-INTERACT
    21:49:06,890 INFO  [stdout] (http-/0.0.0.0:8080-1) [3027]       DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());  // JBO-JDBC-INTERACT
    21:49:06,890 INFO  [stdout] (http-/0.0.0.0:8080-1) [3028] Creating a new pool resource
    21:49:06,890 INFO  [stdout] (http-/0.0.0.0:8080-1) [3029] Trying connection/2: url='jdbc:oracle:thin:@s1ora01s:1521:s1ora01a' ...
    21:49:07,093 INFO  [stdout] (http-/0.0.0.0:8080-1) [3030]       conn = DriverManager.getConnection("jdbc:oracle:thin:@s1ora01s:1521:s1ora01a", /*properties*/);  // JBO-JDBC-INTERACT
    21:49:07,093 INFO  [stdout] (http-/0.0.0.0:8080-1) [3031]       conn.setAutoCommit(false);  // JBO-JDBC-INTERACT
    21:49:07,093 INFO  [stdout] (http-/0.0.0.0:8080-1) [3032] Successfully logged in
    21:49:07,093 INFO  [stdout] (http-/0.0.0.0:8080-1) [3033] JDBCDriverVersion: 10.2.0.1.0XE
    21:49:07,093 INFO  [stdout] (http-/0.0.0.0:8080-1) [3034] DatabaseProductName: Oracle
    21:49:07,093 INFO  [stdout] (http-/0.0.0.0:8080-1) [3035] DatabaseProductVersion: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options
    Don't you think that it indicates that DB connection is well established?
    MBen

  • How to determine memory leaks?

    I tried in XCODE, the RUN/ Start with Performance TOol / and tried out the various options. I was running my app and looking to see if it would report increasing memory use but it seemed to be looking at my total system (i was running under the simulator). In general what is the recommended procedure for determining memory leaks, which tool to use, and what tracing can i use?
    How does one look at the retain count of an object? are there system routines that have knonw leaks?

    You took the right path. Once instruments comes up select the Leaks tool. Turn off automatic leak detection. In your app, start off at some known state, do something, and come back to the known state and check for leaks. For instance start off in a view, do something that brings up another view then come back to the original view and check for leaks. Leaks will show you if you leaked. Since you took a very deterministic path then checked it should be straight forward to go to the code and find / fix the leaks. Leaks shows you where the code where the leak was generated.

Maybe you are looking for

  • Problem faced in viewing SVG elements in IE 7 in windows 2003 server machine

    Hi All, We are using SVG to use graphics elements in web page for our product. The web page contains HTML+SVG elements. If we use an HTML Image element in our web page display and if we draw or configure SVG elements like rectangle or circle over the

  • Why do the upgrades from OS X 10.3.6 to OS X 10.6.8 keep my computer freezing?

    Hi, I understand that I should get some Apple Hardware Tests to solve freezing applications problems I already had before upgrading to Lion to Leopard to mountain lion. I do not succeed to follow the directions I've been provided i.e. turn off the co

  • I can't print from TextEdit

    I can't print anything from TextEdit. I can print using other applications just fine, but when I try to print a TextEdit document, it seems to send the job to my printer, but then my printer status program says that the printer is idle, and it stops

  • Crashing: Loading ExporterQuickTimeHost.pm

    I'm using the trial of Premiere Pro 5.5 and having lots of problems with it crashing while working on a short (5 minutes) full HD video. I'm on a new HP (1 week old) Win 7 with 12 GB RAM, 2 HD's, quad core i7, with a big Gforce GPU, 64 bit of course.

  • Problem while opening an excel file

    Hi I am trying to open an excel file by clicking a link where it goes to action class and then sets the content type to excel and I am opning it from there�but the strange thing is that a file download opens with open/save/cancel but in the same wind