D8B3 - Standalone WLS memory leaks

I have a standalone WLS with FMWTOOLS_MAIN.D8B3_GENERIC_100218.1734.D08B03
Created with wlsconfig.sh
observing the following message in the log very frequently..almost for every request or so..
[2010-05-12T07:58:10.548-06:00] [AdminServer] [WARNING] [] [oracle.adf.share.ADFContext] [tid: Timer-18] [userId: SCMOPERATIONS] [ecid: 0000IYClSEJAPPB5JZd9if1BuLjB0000mq,1:21250] [APP: EarFscmAnalytics] Automatically initializing a DefaultContext for getCurrent.[[
Caller should ensure that a DefaultContext is proper for this use.
Memory leaks and/or unexpected behaviour may occur if the automatic initialization is performed improperly.
This message may be avoided by performing initADFContext before using getCurrent().
Any idea on what this means? How to fix it?
Thanks, -Ram

Did you get a resolution for this? I am seeing the same issue. Thx.

Similar Messages

  • OPMN vs Standalone OC4j (memory leak)

    I run the same servlet application using standalone OC4J instance on solaris without any problem.
    Trying to run the same application deployed in oracle enterprise (opmn) console causes memory leak. I see a lot of new classes allocated on each servlet invocation related to oracle.xml.* package and org.apache.axis.* (servlet uses axis to download attachment).
    Did anybody see similar issues. Any thought are welcome.
    thanks
    Roman

    To answer myself in case somebody was interested how to resolve this issue :
    Using different xml parser (for ex. crimson, but most likely any other would be fine too) eleminated the problem.
    i.e. adding the followning java system property
    -Djavax.xml.parsers.SAXParserFactory=org.apache.crimson.jaxp.SAXParserFactoryImpl

  • Possible Memory Leak in WLS6.1-SP2

    Hello,
    I need your help in getting to the bottom of a memory issue we are facing.
    We are running EJB based applications on Web Logic Server (WLS) 6.1 SP2 on Solaris
    8 servers using 1.3.1_03 JDK. There are several applications running, but lets
    use one of them as example.
    I am using the following JDK parameters:
    -XX:NewSize=96m -XX:MaxNewSize=96m -Xms384m -Xmx384m -XX:SurvivorRatio=2
    The memory values on Solaris, before the application is started, are as follows:
    Real memory = 4096M, Free memory = 2415M, Swap in use = 1059M, Swap free = 2322M
    When I start the applications, I can see the memory foot print for this application
    at around 540 Meg. Since JVM pre-allocates heap space, I expect this number to
    remain constant as the application is stressed. But this does not happen, and
    it puzzles me. I see the memory footprint of application go up, and that makes
    me believe that is a memory leak somewhere. Since heap space remains below the
    selected limit (384M), and the application does not over-run heap, it makes me
    believe that the memory leak is not happening in application code; rather it is
    Web Logic Server that is leaking memory.
    As the application runs, the memory footprint increase from 540M to almost 900M,
    to the point the system is left with very low free swap space, and the application
    (not necessarily this particular one) starts throwing OutOfMemoryError.
    At this point, it becomes impossible to recover and the only way out is to bounce
    WLS.
    Does it sound like a memory leak issue to you ? Do you agree that it look like
    a WLS memory leak?
    If anybody had similar experience, please help me with your advice. I would be
    very interested in knowing how you diagnosed the problem and what solution did
    you apply.
    Thanks,
    Asad Faizi

    The native OCI driver is not allocating out of the Java heap, but rather
    from the OS (or the c rtl) so the Java heap parameters do not affect it. I
    don't know if it is a problem that you see or just normal behavior.
    Peace,
    Cameron Purdy
    Tangosol, Inc.
    http://www.tangosol.com/coherence.jsp
    Tangosol Coherence: Clustered Replicated Cache for Weblogic
    "Asad Faizi" <[email protected]> wrote in message
    news:[email protected]...
    >
    Cameron,
    We are using Oracle-8.1.7r3 driver. Can you give me some more informationas to
    why do you suspect Oracle JDBC driver? Have you had similar experience ?How did
    you diagnose this and what did you do to fix it?
    Thanks,
    Asad Faizi
    "Cameron Purdy" <[email protected]> wrote:
    Probably a JDBC driver (Oracle OCI?).
    Peace,
    Cameron Purdy
    Tangosol, Inc.
    http://www.tangosol.com/coherence.jsp
    Tangosol Coherence: Clustered Replicated Cache for Weblogic
    "Asad Faizi" <[email protected]> wrote in message
    news:[email protected]...
    Hello,
    I need your help in getting to the bottom of a memory issue we arefacing.
    We are running EJB based applications on Web Logic Server (WLS) 6.1SP2 on
    Solaris
    8 servers using 1.3.1_03 JDK. There are several applications running,but
    lets
    use one of them as example.
    I am using the following JDK parameters:
    -XX:NewSize=96m -XX:MaxNewSize=96m -Xms384m -Xmx384m -XX:SurvivorRatio=2
    The memory values on Solaris, before the application is started, areas
    follows:
    Real memory = 4096M, Free memory = 2415M, Swap in use = 1059M, Swapfree =
    2322M
    When I start the applications, I can see the memory foot print forthis
    application
    at around 540 Meg. Since JVM pre-allocates heap space, I expect thisnumber to
    remain constant as the application is stressed. But this does not
    happen,
    and
    it puzzles me. I see the memory footprint of application go up, andthat
    makes
    me believe that is a memory leak somewhere. Since heap space remainsbelow
    the
    selected limit (384M), and the application does not over-run heap,it
    makes me
    believe that the memory leak is not happening in application code;rather
    it is
    Web Logic Server that is leaking memory.
    As the application runs, the memory footprint increase from 540M toalmost
    900M,
    to the point the system is left with very low free swap space, andthe
    application
    (not necessarily this particular one) starts throwing OutOfMemoryError.
    At this point, it becomes impossible to recover and the only way outis to
    bounce
    WLS.
    Does it sound like a memory leak issue to you ? Do you agree that itlook
    like
    a WLS memory leak?
    If anybody had similar experience, please help me with your advice.I
    would be
    very interested in knowing how you diagnosed the problem and what
    solution
    did
    you apply.
    Thanks,
    Asad Faizi

  • Memory leak in WLS6.1 sp3 on Solaris?

    We are running WLS 6.1 sp3 on Solaris 8 using Sun's 1.3.1 JVM with BEA's
    JDriver to connect to Oracle (8.1.7). We have set the JVM to a maximum heap
    of 512M (-Xms256m -Xmx512m).
    The issue is that we are now seeing (via pmap) the resident memory growing
    to ~1GB. Yet, the WLS management console is reporting memory usage of ~200M.
    So, if we are to believe WLS, then the JVM (or some native library) is
    chewing up the extra memory.
    Having examined the results of "pmap -x <pid>", I see the heap (and some
    anon) mem/file are quite large.
    Address Kbytes Resident Shared Private Permissions Mapped File
    00026000 418912 416096 - 416096 read/write/exec [ heap ]
    D8C00000 524288 447928 - 447928 read/write/exec [ anon ]
    total Kb 1083832 981136 37960 943176
    Questions:
    - Are there any known memory leaks with 6.1 sp3 on Solaris?
    - Should it be possible for pmap's value of "heap" to grow larger than the
    "Xms" setting? We have observed this recently, but the numbers above don't
    reflect this.
    - Any idea what the "anon" is or how to determine what it is?
    - Do you know of any tools that might help me determine what is using that
    memory or what is in it?
    Any suggestions will be greatly appreciated...
    Thanks in advance,
    Erik

    If you set -Xmx512m then the java heap will grow no larger than 512MB.
    WLS is reporting the size of the java heap. (It is a java program after
    all and doesn't know a lot about what native code might be doing.)
    My first thought is try running with Oracle's thin (type-4) driver.
    Since this is java code, it will use the java heap. If the memory usage
    drastically changes, then you can point the finger at the jDriver.
    Are you using any other native code / libraries?
    -- Rob
    Erik Westland wrote:
    We are running WLS 6.1 sp3 on Solaris 8 using Sun's 1.3.1 JVM with BEA's
    JDriver to connect to Oracle (8.1.7). We have set the JVM to a maximum
    heap
    of 512M (-Xms256m -Xmx512m).
    The issue is that we are now seeing (via pmap) the resident memory growing
    to ~1GB. Yet, the WLS management console is reporting memory usage of
    ~200M.
    So, if we are to believe WLS, then the JVM (or some native library) is
    chewing up the extra memory.
    Having examined the results of "pmap -x ", I see the heap (and some
    anon) mem/file are quite large.
    Address Kbytes Resident Shared Private Permissions Mapped File
    00026000 418912 416096 - 416096 read/write/exec [ heap ]
    D8C00000 524288 447928 - 447928 read/write/exec [ anon ]
    total Kb 1083832 981136 37960 943176
    Questions:
    - Are there any known memory leaks with 6.1 sp3 on Solaris?
    - Should it be possible for pmap's value of "heap" to grow larger than the
    "Xms" setting? We have observed this recently, but the numbers above don't
    reflect this.
    - Any idea what the "anon" is or how to determine what it is?
    - Do you know of any tools that might help me determine what is using that
    memory or what is in it?
    Any suggestions will be greatly appreciated...
    Thanks in advance,
    Erik

  • Memory leak in redeploy

    I am doing some memory profiling for an application running inside OC4J standalone. When the application is redeployed to OC4J, OC4J does not release memory for servlets and all the instances that's defined as class variables, e.g. private static Object s_instace. So if the application is redeployed 5 times, I saw 5 instances in the memory while gabarge collection can not collect them, and eventually the application runs out of memory if redeployed multiple times without restarting OC4J. I am wondering if anyone has encountered this issue before?

    Hello cguo:
    Thanks for reporting the problem.
    This is a recognized minor problem in oc4j standalone (and hence also in application server.) It is believed that the memory leak is not big enough to be a serious concern, unless an application is redeployed many times in a production environment, which is an unlikely. In any case, this bug should be fixed in the next oc4j production. Please try the next oc4j production release when it comes (when? I am not sure) and tell me if the problem still persists.

  • 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 Oracle thin driver on wls6.1...

    Hi, I've been attempting to find a memory leak in an application that
    runs on WLS 6.1 SP2, on Solaris 8 and accessing an Oracle 9i db. We
    are using the Type 4 (Thin) driver and JProbe reports that hundreds of
    oracle.jdbc.* objects are left on the heap after my test case
    completes. Specifically oracle.jdbc.ttc7.TTCItem is the most common
    loiterer on the heap. I have verified that after each database access
    the resources are release correctly (i.e. ResultSet, Connection,
    PreparedStatement, etc.)
    Has anyone encountered similar problems? or does anyone know how to
    fix this?
    Thanks,
    Tim Watson

    Hi Tim!
    We have seen problem using oracle 817 client that has been resolved using
    901 client for type2(oci) driver, But i am not aware of thin driver
    problem. You should check with oracle if they have find any customer's
    with this problem.
    Thanks,
    Mitesh
    Tim Watson wrote:
    Hi, I've been attempting to find a memory leak in an application that
    runs on WLS 6.1 SP2, on Solaris 8 and accessing an Oracle 9i db. We
    are using the Type 4 (Thin) driver and JProbe reports that hundreds of
    oracle.jdbc.* objects are left on the heap after my test case
    completes. Specifically oracle.jdbc.ttc7.TTCItem is the most common
    loiterer on the heap. I have verified that after each database access
    the resources are release correctly (i.e. ResultSet, Connection,
    PreparedStatement, etc.)
    Has anyone encountered similar problems? or does anyone know how to
    fix this?
    Thanks,
    Tim Watson

  • Maximize server uptime - memory leak?

    Since we stabilized the newly introduced WLI 8.1 application we are now fine tuning the JVM. We are facing some kind of memory leak which forces us to reboot the WLS instances daily.
    I'm now asked to identify some strategies how we could let the WLI instances run for longer than 1 day. My goal is 7 days, so that the machines must only be touched once a week. The relevant JVM settings are like this:
    -Xms2048m -Xmx2048m -Xmanagement -Djrockit.managementserver.port=30011 -XgcPrio:throughput
    I've choosen the "throughput" strategy as we have here a systems which acts asynchronously most of the time (WLI). I have attached two JRA records. The first ("1day") shows a system which has an uptime of now 16 hours. The heap utilization is almost all the time between 90%-100%. Things get worse after a while. In the consequence we are rebooting the server when we see more and more timeout-exceptions in our WLI layer and heavy GC activity ("average time spent in GC")
    The other record ("leakdetector") shows a system which is now running for almost 3 hours. Here I connected the memory leak detector. The graph looks a bit better / more balanced. Means, that after 3 hours the avg heap util remains between the margins of 40-50 %. The trend of the bottom margin however clearly indicates an increasing memory footprint.
    To understand this in more detail I started using the memory leak analyzer. So far I got no benefit from using the tool, though it looks very impressive. However, when I connect the memory leak analyzer I can observe some strange heap graph changes. I suppose the memory leak detector has some impact onto the GC strategies, doesn't it? My heap graph looks totally different with no leak detector attached. What can be the reason on this?
    Also I'm quite a bit confused why the "Growth" indicator always stays at 0 bytes/sec, even when I can see that objects are getting bigger and bigger. What is the secret here?
    i appreciate every comment you have on my case,
    thanks a lot

    You might also look at approaching the problem for a different perspective. Which transactions, requests, components are creating the most amount of memory? What concurrent requests where active when the memory jumped or an OOME was thrown. I have found this approach effective in getting a good idea on where to focus memory diagnostics after ruling of course a resource capacity issue.
    The following article discusses the difference between a leak and a capacity problem.
    http://www.jinspired.com/products/jxinsight/outofmemoryexceptions.html
    Also you should try high level monitoring to see whether there are global patterns in metric data that provides clues. This blog entry shows what is possible with professional performance management tools with visualizations going beyond pie charts and table views.
    Beautiful Evidence: Metric Monitoring
    http://blog.jinspired.com/?p=33
    There are also many low level memory inspection tools on the market that might help quickly navigate the heap and identify the problem though I think the JRA tool has probably most of the same features.
    Regards,
    William Louth
    JXInsight Product Architect
    CTO, JInspired
    "Java EE tuning, testing, tracing, and monitoring with JXInsight"
    http://www.jinspired.com

  • Memory leak in Callable Statement

    We are using Weblogic 6.1 and Oracle 8.1.7 for an application we are developing.
    Usage of callable statement seems to be resulting an a memory leak. The program runs
    in a loop and after processing 200 records, java.lang.outofMemory Exception is thrown
    We are unable to figure out a reason for the same.
    The code snippet is as below
    try
    //dbConn = ImportPODBConnect.getDBConnection(dsJNDIName, dsURL); //connect
    to DB <br>
    dbConn = DBConnect.getDBConnection(dsJNDIName, dsURL);
    //query = POQueries.selectPO(poId); //get the required
    query statement from the POQueries utility class
                             Print.log(" in getPO() ----> ********* before 1st stmt " + System.currentTimeMillis());
                        cstmt = dbConn.prepareCall("{ ? = call PO_HEADER_PROC(?)}");
                        cstmt.registerOutParameter(1, OracleTypes.CURSOR);
                   cstmt.setFloat(2, poId);
                   // execute and retrieve the result set
                   cstmt.execute();
                   getPORs = (ResultSet)cstmt.getObject(1);
                             Print.log(" in getPO() ----> ********* after 1st stmt " + System.currentTimeMillis());
                             if (!getPORs.next()) //if nothing returned then
    throw an exception
                                  Print.log("Unable to get the required PO:" + poId);
                                  throw new Exception("Unable to get the required PO:" + poId);
                             else //set all the variables
    of the PO header objects from the result set
                                  pohSl = new POHeaderSl();
                                  pohSl.setOvUserName(getPORs.getString("OVA_USER_NAME"));
                                  pohSl.setOvCompanyName(getPORs.getString("OVA_COMPANY_NAME"));
                                  pohSl.setAgent(getPORs.getString("AGENT"));
                                  pohSl.setApprovalCode(getPORs.getString("APPROVAL_CODE"));
                                  pohSl.setBrand(getPORs.getString("BRAND"));
                                  pohSl.setBusinessSegment(getPORs.getString("BUSINESS_SEGMENT"));
                                  pohSl.setBusinessSubSegment(getPORs.getString("BUSINESS_SUB_SEGMENT"));
                                  pohSl.setBuyDate(getPORs.getString("BUY_DATE"));
                                  pohSl.setCareContentLabel(getPORs.getString("CARE_CONTENT_LABEL"));
                                  pohSl.setCartonMarkings1(getPORs.getString("CARTON_MARKINGS_1"));
                                  pohSl.setCartonMarkings2(getPORs.getString("CARTON_MARKINGS_2"));
                                  pohSl.setCartonMarkings3(getPORs.getString("CARTON_MARKINGS_3"));
                                  pohSl.setCartonMarkings4(getPORs.getString("CARTON_MARKINGS_4"));
                                  pohSl.setComments(getPORs.getString("COMMENTS"));
                                  pohSl.setCommissionPerUnit(getPORs.getString("COMMISSION_PER_UNIT"));
                                  pohSl.setCompanyId(getPORs.getString("COMPANY_ID"));
                                  pohSl.setCompulsoryString(getPORs.getString("COMPULSORY_STRING"));
                                  pohSl.setConTimestamp(getPORs.getString("CON_TIMESTAMP"));
                                  pohSl.setCurrency(getPORs.getString("CURRENCY"));
                                  pohSl.setCustomerBillToNumber(getPORs.getString("CUSTOMER_BILL_TO_NUMBER"));
                                  pohSl.setCustomerLcBank(getPORs.getString("CUSTOMER_LC_BANK"));;
                                  pohSl.setCustomerLcDate(getPORs.getString("CUSTOMER_LC_DATE"));
                                  pohSl.setCustomerLcExpiryDate(getPORs.getString("CUSTOMER_LC_EXPIRY_DATE"));
                                  pohSl.setCustomerLcNumber(getPORs.getString("CUSTOMER_LC_NUMBER"));
                                  pohSl.setCustomerPoNumber(getPORs.getString("CUSTOMER_PO_NUMBER"));
                                  pohSl.setCustomerSaleDept(getPORs.getString("CUSTOMER_SALE_DEPT"));
                                  pohSl.setCustomerShipToNumber(getPORs.getString("CUSTOMER_SHIP_TO_NUMBER"));
                                  pohSl.setCustomerSo(getPORs.getString("CUSTOMER_SO"));
                                  pohSl.setDateLastModifiedErp(getPORs.getString("DATE_LAST_MODIFIED_ERP"));
                                  pohSl.setDateLastModifiedOv(getPORs.getString("DATE_LAST_MODIFIED_OV"));
                                  pohSl.setDateOfActivation(getPORs.getString("DATE_OF_ACTIVATION"));
                                  Print.log(" ******** inside getPO() ----- > ****** built Header" + System.currentTimeMillis()
                                  if(getPORs != null)
                                       getPORs.close();
                                       getPORs = null;
                                  if(cstmt != null)
                                       Print.log("In the close");
                                       cstmt.close();
                                       cstmt = null;
                        catch (Exception e)
                             System.out.println(" in dataAccess.getPO() ----- > " + e.toString());
                             throw new Exception(e.toString()); //if there are any exceptions
    then throw back the exceptions
                        finally //finally block to release any connections
    and statement objects
                             if(getPORs != null)
                                  getPORs.close();
                                  getPORs = null;
                             if (pstmt!=null)
                                  pstmt.close();
                                  pstmt = null;
                             if (cstmt!=null)
                                  cstmt.close();
                                  cstmt = null;
                             if (dbConn!=null)
                                  dbConn.close();
                                  dbConn = null;
                        return poSl; //return the PO object
    Can anyone help with this?

    hi
    This may happen when you open resultset objects and not close them properly.
    Try to ensure that, you should close the objects in individual try catch
    blocks so that one failure will not cause other close's to be skipped.
    You can try one more thing, I don't see you are using any LONG/ LONG
    RAW/BLOB/CLOB columns from your code here. If the table which you are trying
    to retrieve data from has this type of data you will benefit from using some
    tuning parameters here and may be able to avoid out of memory exceptions,
    take a look at the url,
    http://e-docs.bea.com/wls/docs61/oracle/advanced.html#1158561
    especially, try using,
    weblobic.oci.selectBlobChunkSize and set it to something low. you can set
    these properties on the connection pool.
    sree
    "Murali" <[email protected]> wrote in message
    news:[email protected]...
    >
    >
    We are using Weblogic 6.1 and Oracle 8.1.7 for an application we aredeveloping.
    Usage of callable statement seems to be resulting an a memory leak. Theprogram runs
    in a loop and after processing 200 records, java.lang.outofMemoryException is thrown
    >
    We are unable to figure out a reason for the same.
    The code snippet is as below
    try
    //dbConn = ImportPODBConnect.getDBConnection(dsJNDIName, dsURL);//connect
    to DB <br>
    dbConn = DBConnect.getDBConnection(dsJNDIName, dsURL);
    //query = POQueries.selectPO(poId); //getthe required
    query statement from the POQueries utility class
    Print.log(" in getPO() ----> ********* before 1st stmt " +System.currentTimeMillis());
    >
    cstmt = dbConn.prepareCall("{ ? = call PO_HEADER_PROC(?)}");
    cstmt.registerOutParameter(1, OracleTypes.CURSOR);
    cstmt.setFloat(2, poId);
    // execute and retrieve the result set
    cstmt.execute();
    getPORs = (ResultSet)cstmt.getObject(1);
    Print.log(" in getPO() ----> ********* after 1st stmt " +System.currentTimeMillis());
    >
    if (!getPORs.next()) //if nothing returnedthen
    throw an exception
    Print.log("Unable to get the required PO:" + poId);
    throw new Exception("Unable to get the required PO:" + poId);
    else //set all thevariables
    of the PO header objects from the result set
    pohSl = new POHeaderSl();
    pohSl.setOvUserName(getPORs.getString("OVA_USER_NAME"));
    pohSl.setOvCompanyName(getPORs.getString("OVA_COMPANY_NAME"));
    pohSl.setAgent(getPORs.getString("AGENT"));
    pohSl.setApprovalCode(getPORs.getString("APPROVAL_CODE"));
    pohSl.setBrand(getPORs.getString("BRAND"));
    pohSl.setBusinessSegment(getPORs.getString("BUSINESS_SEGMENT"));
    pohSl.setBusinessSubSegment(getPORs.getString("BUSINESS_SUB_SEGMENT"));
    pohSl.setBuyDate(getPORs.getString("BUY_DATE"));
    pohSl.setCareContentLabel(getPORs.getString("CARE_CONTENT_LABEL"));
    pohSl.setCartonMarkings1(getPORs.getString("CARTON_MARKINGS_1"));
    pohSl.setCartonMarkings2(getPORs.getString("CARTON_MARKINGS_2"));
    pohSl.setCartonMarkings3(getPORs.getString("CARTON_MARKINGS_3"));
    pohSl.setCartonMarkings4(getPORs.getString("CARTON_MARKINGS_4"));
    pohSl.setComments(getPORs.getString("COMMENTS"));
    pohSl.setCommissionPerUnit(getPORs.getString("COMMISSION_PER_UNIT"));
    pohSl.setCompanyId(getPORs.getString("COMPANY_ID"));
    pohSl.setCompulsoryString(getPORs.getString("COMPULSORY_STRING"));
    pohSl.setConTimestamp(getPORs.getString("CON_TIMESTAMP"));
    pohSl.setCurrency(getPORs.getString("CURRENCY"));
    pohSl.setCustomerBillToNumber(getPORs.getString("CUSTOMER_BILL_TO_NUMBER"));
    pohSl.setCustomerLcBank(getPORs.getString("CUSTOMER_LC_BANK"));;
    pohSl.setCustomerLcDate(getPORs.getString("CUSTOMER_LC_DATE"));
    pohSl.setCustomerLcExpiryDate(getPORs.getString("CUSTOMER_LC_EXPIRY_DATE"));
    pohSl.setCustomerLcNumber(getPORs.getString("CUSTOMER_LC_NUMBER"));
    pohSl.setCustomerPoNumber(getPORs.getString("CUSTOMER_PO_NUMBER"));
    pohSl.setCustomerSaleDept(getPORs.getString("CUSTOMER_SALE_DEPT"));
    pohSl.setCustomerShipToNumber(getPORs.getString("CUSTOMER_SHIP_TO_NUMBER"));
    pohSl.setCustomerSo(getPORs.getString("CUSTOMER_SO"));
    pohSl.setDateLastModifiedErp(getPORs.getString("DATE_LAST_MODIFIED_ERP"));
    pohSl.setDateLastModifiedOv(getPORs.getString("DATE_LAST_MODIFIED_OV"));
    pohSl.setDateOfActivation(getPORs.getString("DATE_OF_ACTIVATION"));
    Print.log(" ******** inside getPO() ----- > ****** built Header" +System.currentTimeMillis()
    if(getPORs != null)
    getPORs.close();
    getPORs = null;
    if(cstmt != null)
    Print.log("In the close");
    cstmt.close();
    cstmt = null;
    catch (Exception e)
    System.out.println(" in dataAccess.getPO() ----- > " + e.toString());
    throw new Exception(e.toString()); //if there are anyexceptions
    then throw back the exceptions
    finally //finally block to release anyconnections
    and statement objects
    if(getPORs != null)
    getPORs.close();
    getPORs = null;
    if (pstmt!=null)
    pstmt.close();
    pstmt = null;
    if (cstmt!=null)
    cstmt.close();
    cstmt = null;
    if (dbConn!=null)
    dbConn.close();
    dbConn = null;
    return poSl; //return the PO object
    Can anyone help with this?

  • JDBC memory leak in 11.2.0.2.0 driver ?

    Hi,
    my customer on WLS 9.2.1 have just upgraded to new database and to a new JDBC Oracle 11.2.0.2.0 driver and it seems there is a memory leak. Based on heap dump it seem that leek i near oracle.jdbc.xa.OracleXAResource$XidListEntry. Admins are missing about 200MB on each server after 3 days.
    Class Name | Objects | Shallow Heap | Retained Heap
    oracle.jdbc.xa.OracleXAResource$XidListEntry| 2,378,575 | 57,085,800 | 171,257,016
    Class Name | Objects | Shallow Heap | Retained Heap
    weblogic.transaction.internal.XidImpl| 2,378,605 | 57,086,520 | 114,172,880
    2,378,605 objects are really a lot :) and it about 114 MB of weblogic.transaction.internal.XidImpl objects
    I found patch 8423655 but it is for older driver version. Does anybody have a similar experience? Any solution?
    Thanks
    Patrik

    After a discussion with support we have found patch for the problem:
         Document Titleoracle.jdbc.xa.OracleXAResource$XidListEntry Objects Leaking in JDBC Driver for WebLogic Server (WLS) (Doc ID 872258.1)
    You were right the problem was on Weblogic site and also on driver side. In last JDBC driver it is already fixed so we have to upgrade just WLS part.
    Thanks
    Patrik

  • 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

  • Memory leak? & ie7 partial triggers

    Hi all,
    I'm running Jdev 11.1.1.0.3 against a 10.3 WLS
    I've made a few try with adf faces & I'm running now against a problem looking like memory leak.
    I'm working with a parent/child tables in separate showdetailitems container having about 5/6 columns on the child table.
    When I run the application it works perfeclty.
    If I put 10/12 columns on the child table the application stalled when I go in the child showdetailitem (Retrieving data)
    Except if the child table doesn't have more than 3-4 rows (then it works great)
    I have another problem with IE7 making objectRequired error on any adf page with partialtrigger.
    IE7 say the error is located arround the lines
    this.headers= new Object();
    this.xmlhttp= new XMLHttpRequest();}
    AdfXMLRequest.prototype.toString=function()
    in _all-11.1.1.0.0.js file
    Any hint on any of the two would be appreciated, I'll try re-installing ie7 meanwhile. ^_^

    hi Frank (great tutorials!), Peter.
    Frank, Regarding ie7 I've noticed we're not a lot to have this problem, I use firefix meanwhile hoping ie8 fixes the issue. Still I'm ready to fill a SR if you think it's worthwhile.
    Peter, Thx for the idea, i've set contentdelivery to immediate & get further errors ^_^
    When I clic on the ShowdetailItem (third one) It goes back to the first one with this error (sorry you'll guess I'm french)
    30 janv. 2009 13:59:01 org.apache.myfaces.trinidad.component.UIXShowDetail broadcast
    ATTENTION: L'événement org.apache.myfaces.trinidad.event.DisclosureEvent[phaseId=INVOKE_APPLICATION 5,component=RichShowDetailItem[UINodeFacesBean, id=ShowDetailCorrecteurEpreuve],expanded=true] a été transmis à un showDetail déjà dans cet état de publication.
    (roughly: Event ... has been transmitted to a showDetail allready in this publication state)
    When I don't have too much rows, it's still working perfectly

  • Media Encoder is a memory leak - windows

    Applies to: Version 5.5.1.12 - 64 bit, Windows (Most likely earlier versions too)
    Reproducing the problem:
    Start Media Encoder as a standalone application by double clicking the icon.
    Close the window (by clicking the 'x' in the top-right corner) of Media Encoder.
    It does just that: closes the window. It does not close the process.
    The process now has no window-handle, thus the user can not access it.
    When user starts the application again, another process is created.
    Thus the previous process becomes a memory leak.
    Workaround:
    Open Windows Task Manager by pressing Ctrl-Alt-Del keys simultaniously then selecting Task Manager
    Click the 'Processes' tab
    Highlight 'Adobe Media Encoder.exe'
    Click 'End Process'
    Ignore the warning and kill the process

    Bill, Sometimes it takes AME and related components up to 30 seconds to close various processes.  If you close the app and immediately start a new instance, the old process sees that AME is still running and may not shut down it's process until you shut down your computer.  So give it a little time after shutdown to see if that helps.  That said, there are situations that I have seen myself that AME would not close all processes in background.  In many of those cases, it had to do with dynamic link and what type of files or assets you opend up and what application launches AME.  Sometimes when AME is launched by other applications like Premiere Pro, it leaves a process alive in case PPro is using it. but if you close all Adobe apps, it should close your process as well. Over the past few cycles, we have worked on improving processes. Let me know if the above info doesn't help.

  • CVI dll to read XML file causes memory leak

    Hello,
    I am facing a memory leak issue when I execute a dll created using CVI to read a XML file.
    Each iteration of the step is taking around 200k of memory.
    Short description of the code:
    Basically I am using a function created in CVI to read from an XML file by tag which 2 attributes: command and the response;
    int GetCmdAndRsp(char XML_File[MAX_STR_SIZE], char tag[MAX_STR_SIZE], char Command[MAX_STR_SIZE], char Response[MAX_STR_SIZE], char ErrorDescription[MAX_STR_SIZE]) 
    inputs:  
    - XML_File_path;
    - tagToFind;
    ouputs:
    - Command;
    - Response;
    - Error;
    Example:
    XMLFile:
    <WriteParameter Command="0x9 %i %i %i %i %i" Response = "0x8 V %i %i %i %i"/>
    Execution:
    error = GetCmdAndRsp("c:\\temp\\ACS_Messages.xml" ,"WriteParameter", cmd, rsp, errStr) 
    output:
    error = 0
    cmd = "0x9 %i %i %i %i %i"
    rsp = "0x8 V %i %i %i %i"
    errStr = "Unkown Error"
    Everything is working correctly but I have this memory leak issue. Why am I having such memory consumption?? Is it a TestStand or CVI issue??
    Each iteration I am loading the file, reading the file and discarding the file.
    Attached you can find the CVI project, a TestStand sequence to test (ReadXML_test2.seq) and an example of a XML file I am using.
    Please help me here.
    Thaks in advance.
    Regards,
    Pedro Moreira
    Attachments:
    ReadXML_Prj.zip ‏1826 KB

    Pedro,
    When a TestStand step executes, its result will be stored by TestStand which will be later used for generating reports or logging data into database.
    You are looking at the memory (private bytes) when the sequence file has not finished execution. So, the memory you are looking at, includes the memory used by TestStand to store result of the step. The memory used for storing results will be de-allocated after finishing the sequence file execution.
    Hence, we dont know if there is actual memory leak or not. You should look at the memory, before and after executing sequence file instead of looking in between execution.
    Also, here are some pointers that will be helpful for checking memory leak in an application:
    1. TestStand is based on COM and uses BSTR in many function. BSTR caches the memory and because of the behavior, sometime you might get false notion of having memory leak. Hence, you need to use SetOaNoCache function OR set the OANOCACHE=1 environment variable to disable caching.
    2. Execute the sequence file atleast once before doing the actual memory leak test. The dry run will make sure all static variables are initialized before doing memory leak test.
    3. Make sure that the state of system or application is same when considering the Private bytes. Ex: Lets say ReportViewControl is not visible before you start executing sequence file. Then you note down the private bytes and then execute the sequence file. After finishing execution, make sure you close the ReportViewControl and then note down the private bytes once again to check if memory is leaked or not.
    4. If there exists memory leak as you specified, it is possible that the leak is either in TestStand, or in your code. Make sure that your code doesn't leak by creating a small standalone application (probably a console application) which calls your code.
    Detecting memory leaks in CVI is better explained in
    http://www.ni.com/white-paper/10785/en/
    http://www.ni.com/white-paper/7959/en/
    - Shashidhar

  • Memory Leaks In Transforms?

    I was wanting to find out if anyone has experienced having mucho string not being
    garbage collected after performing the transform process?
    In our setup, we are using xsl files compiled into Template objects. We then use
    these templates to do the transform process on runtime generated XML. I have been
    using Optimize-It and find that after going from one page to the next in our app,
    there are about 1000+ strings which don't get garbage collected. 96+% of these
    strings are created during the transform call.
    Any ideas?
    Thanks,
    Rich

    Have you looked at the Xerces doc?
    http://xml.apache.org/
    Peace,
    Cameron Purdy
    Tangosol, Inc.
    Clustering Weblogic? You're either using Coherence, or you should be!
    Download a Tangosol Coherence eval today at http://www.tangosol.com/
    "Rich Llaca" <[email protected]> wrote in message
    news:3c7c0128$[email protected]..
    >
    After furthur inspections with OptimizeIt, here's what we found. First,after we
    use a compiled Templates' transform it seems good to run the transform'sclearParameters()
    method.
    This didn't completely alleviate the problem of our String object countincreasing...it
    just didn't increase as dramatically. I finally found a couple of objectsnamed
    weblogic.apache.xerces.utils.StringPool. I inspected them and foundstrings which
    a product of our XML output in the StringPool objects.
    In our application, we will have literally thousands of possibly uniquestrings
    getting stuffed into XML. How can we eliminate the continual growth ofhaving
    strings stuffed into this StringPool object?
    Rich
    "Rich Llaca" <[email protected]> wrote:
    Thanks for the reply Daniel,
    I was a little sparse on our runtime environment.
    We're using WLS 6.1 SP2. As far as the XSL, we're using the SAX
    processors
    which
    are built into Weblogic. From what I've read, we are stuck with those
    unless we
    use some other processors/parsers which are not built on Apache'sXalan/Xerces
    packages. Is this right?
    Thanks,
    Rich
    Daniel Hoppe <[email protected]> wrote:
    Hi,
    which XSLT-Processor are you using? We use Saxon and we did not step
    into memory leaks although we use Templates as well.
    Cheers,
    Daniel

Maybe you are looking for

  • Multiple Users for Call Assistant

    Does any know how multiple users can sign onto the Verizon Call Assistant desktop client?  Right now, when one user signs on, the other gets logged out.

  • Directory Structure in 9.0.2

    Is it possible to have 'sub' page groups ie. page groups within page groups? If not how could one implement a deep content directory structure such as is possible with content areas and folders in portal 3.0.9?

  • HT1933 Says I need to authorize computer to play a song I purchased, I did and message keeps coming up.

    I purchased a song on I tunes and when I try to play it message said need to authorize the computer,I did and message still appears.

  • Timesten user defined function problem

    create or replace FUNCTION FACTORIAL   n IN NUMBER          RETURN NUMBER IS val NUMBER :=1; tem number :=n; BEGIN     while tem>1 LOOP     val:=val*tem;     tem:=tem-1;   END LOOP;   RETURN val; END FACTORIAL; I create a function like this. And I  t

  • Urgent..!! Financial Reporting Issue

    Hi All, I've an issue about Financial Reporting.. First, i cannot connect FR through Workspace, and then I tried to reconfigure my FR. But then, Financial Reporting Java RMI service is disabled suddenly. Then, i tried to delete all registry that rela