Leaking instances of NonPlsqlTTCDataSet ?

I am memory profiling our application and getting some suspicious results. It may or may not be ok - please advise.
We use connection pooling and it looks like OracleConnection keeps storing NonPlsqlTTCDataSet classes without releasing them. They seem to be getting accumulated. I am using NuMega DevPartner Java edition.
I am properly closing all resultsets and statements. I also disabled caching, but it did not have any effect:
((OracleConnection)conn).setExplicitCachingEnabled(false);
((OracleConnection)conn).setImplicitCachingEnabled(false);
Any ideas?
Thanks!

Thanks a lot...
It works perfect...
I want to load the same bitmap in three instances of
UILoader...
So I make some changes to your code and ... BINGO!!..
Thanks again.

Similar Messages

  • Possible Memory Leak, many instances of macromedia.jdbc.oracle.OracleConnection, serviceFactory

    I'm using a plug-in for Eclipse to help identify possible memory leaks however we are having trouble interpreting the results.  The top, and pretty much the only, suspect is this...
    7,874 instances of "macromedia.jdbc.oracle.OracleConnection", loaded by "coldfusion.bootstrap.BootstrapClassLoader @ 0xf935218" occupy 604,781,904 (71.02%) bytes. These instances are referenced from one instance of "java.util.HashMap$Entry[]", loaded by "<system class loader>"
    Any ideas what could cause this many instances?  How do we track this back to a particular cfm or cfc?  Do these number seem high or is that normal?  The system in question normally only has 30-60 concurrent users.
    The one item I'm a little skeptical of is the use of the "coldfusion.server.ServiceFactory" and "coldfusion.sql.QueryTable" objects.  We use them for 1000s of different queries, even queries within large loops.  Could these be the problem?  Each time we need to execute a query we do a createObject for each of these objects, when done we close the connection.  I recently found a similar example where they close the recordSet first and then close the connection, we are not closing the recordSet.  Any help at all is much appreciated.

    It could simply be caused by the obvious: a query or queries making a large number of connections and/or consuming large resources on the Oracle database. Use Eclipse to search your application folder for queries. Can you identify any queries that could be the culprit? Is there a loop containing a method or an instance of a component that queries an Oracle database?
    What's your Coldfusion  version? If you're on CF8 or CF9 then the server monitor (in the Coldfusion Administrator) might tell you the process responsible for the high consumption.

  • 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.

  • Memory Leak, Receiver Got Null Message & Consumer limit exceeded on destina

    When running program that adds an Object message to a JMS queue and then recieves it. I get the following.
    1) interminitent NULL messages recieved.
    2) jms.JMSException: [C4073]: Consumer limit exceeded on destination interactionQueueDest. Even though only one receiver can be receiving via the supplied program.
    3) After many message are added to the queue 1000's the Message Queue goes to Out Of Memory exception. It should swap to disk!!
    STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
    RUN this program via a JSP call in the application server.
    JSP
    <%@ page language="java" import="jms.*"%>
    <html>
    <head>
    <title>Leak Memory</title>
    </head>
    <body>
    <hr/>
    <h1>Leak Memory</h1>
    <%
       LeakMemory leakMemory = new LeakMemory();
       leakMemory.runTest(10000,1000);
      // NOTE will brake but slower with setting leakMemory.runTest(10000,100);
    %>JMS resources must be created:
    jms/queueConnectionFactory
    jms/interactionQueue
    must be created first.
    Class:
    package jms;
    import javax.naming.*;
    import javax.jms.*;
    public class LeakMemory implements Runnable {
      private QueueConnectionFactory queueConnectionFactory = null;
      private Queue interactionQueue = null;
      private boolean receiverRun = true;
      private QueueConnection queueConnection;
      private int totalMessageInQueue = 0;
      public LeakMemory() {
        init();
       * initialize queues
      public void init(){
        try {
          InitialContext context = new InitialContext();
          this.queueConnectionFactory = (QueueConnectionFactory)context.lookup("jms/queueConnectionFactory");
          this.interactionQueue = (Queue) context.lookup("jms/interactionQueue");
        catch (NamingException ex) {
          printerError(ex);
      public void runTest(int messageCount, int messageSize){
        this.receiverRun = true;
        Thread receiverThread = new Thread(this);
        receiverThread.start();
        for (int i = 0; i < messageCount; i++) {
            StringBuffer messageToSend = new StringBuffer();
            for (int ii = 0; ii < messageSize; ii++) {
              messageToSend.append("0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789\n");
            QueueConnection queueConnectionAdder = null;
            QueueSession queueInteractionSession = null;
            QueueSender interactionQueueSender = null;
            try {
                //Get a queue connection
                queueConnectionAdder = this.getQueueConnection();
                queueInteractionSession = queueConnectionAdder.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
                interactionQueueSender = queueInteractionSession.createSender(this.interactionQueue);
                ObjectMessage objectMessage = queueInteractionSession.createObjectMessage(messageToSend);
                objectMessage.setStringProperty("PROPERTY", "" + System.currentTimeMillis());
                //Send object
                interactionQueueSender.send(objectMessage,DeliveryMode.PERSISTENT,5,0);
                totalMessageInQueue++;
                //Close Resources
                interactionQueueSender.close();
                queueInteractionSession.close();
                interactionQueueSender = null;
                queueInteractionSession = null;
            } catch (JMSException ex) {
               printerError(ex);
       * run
      public void run()  {
        while(this.receiverRun){
                try {
                  QueueSession interactionQueueSession = this.getQueueConnection().createQueueSession(false, Session.CLIENT_ACKNOWLEDGE);
                  QueueReceiver queueReceiver = interactionQueueSession.createReceiver(this.interactionQueue);
                  ObjectMessage message = (ObjectMessage)queueReceiver.receive(100);
                  if(message != null){
                    StringBuffer messageRecived = (StringBuffer)message.getObject();
                    //Simulate Doing Something
                    synchronized (this) {
                      try {
                        Thread.sleep(400);
                      catch (InterruptedException ex1) {
                        //Can Safely be ignored
                    message.acknowledge();
                    totalMessageInQueue--;
                  } else {
                    printerError(new Exception("Receiver Got Null Message"));
                  queueReceiver.close();
                  interactionQueueSession.close();
                  queueReceiver = null;
                  interactionQueueSession = null;
                catch (JMSException ex) {
                  printerError(ex);
        * Get's the queue Connection and starts it
        * @return QueueConnection The queueConnection
       public synchronized QueueConnection getQueueConnection(){
           if (this.queueConnection == null) {
             try {
               this.queueConnection = this.queueConnectionFactory.createQueueConnection();
               this.queueConnection.start();
             catch (JMSException ex) {
               printerError(ex);
         return this.queueConnection;
       private void printerError(Exception ex){
         System.err.print("ERROR Exception totalMessageInQueue = " + this.totalMessageInQueue + "\n");
         ex.printStackTrace();
    }Is there something wrong with the way I'm working with JMS or is it just this unreliable in Sun App Server 7 Update 3 on windows?

    1) interminitent NULL messages recieved.Thanks that explains the behavior. It was wierd getting null messages when I know there is messages in the queue.
    2) jms.JMSException: [C4073]: Consumer limit exceeded
    on destination interactionQueueDest. Even though only
    one receiver can be receiving via the supplied
    program. No other instances, Only this program. Try it yourself!! It works everytime on Sun Application Server 7 update 2 & 3
    heres the broker dump at that error point
    [14/Apr/2004:12:51:47 BST] [B1065]: Accepting: [email protected]:3211->admin:3205. Count=1
    [14/Apr/2004:12:51:47 BST] [B1066]:   Closing: [email protected]:3211->admin:3205. Count=0
    [14/Apr/2004:12:52:20 BST] [B1065]: Accepting: [email protected]:3231->jms:3204. Count=1 [14/Apr/2004:12:53:31 BST] WARNING [B2009]: Creation of consumer  from connection [email protected]:3231 on destination interactionQueueDest failed:
    B4006: com.sun.messaging.jmq.jmsserver.util.BrokerException: [B4006]: Unable to attach to queue queue:single:interactionQueueDest: a primary queue is already active
    3) After many message are added to the queue 1000's
    the Message Queue goes to Out Of Memory exception. It
    should swap to disk!!The broker runs out of memory. Version in use
    Sun ONE Message Queue                   Copyright 2002
    Version:  3.0.1 SP2 (Build 4-a)              Sun Microsystems, Inc.
    Compile:  Fri 07/11/2003         All Rights ReservedOut of memory snippet
    [14/Apr/2004:13:08:28 BST] [B1089]: In low memory condition, Broker is attempting to free up resources
    [14/Apr/2004:13:08:28 BST] [B1088]: Entering Memory State [B0022]: YELLOW from previous state [B0021]: GREEN  - current memory is 118657K, 60% of total memory
    [14/Apr/2004:13:08:38 BST] WARNING [B2075]: Broker ran out of memory before the passed in VM maximum (-Xmx) 201326592 b,  lowering max to currently allocated memory (200431976 b ) and trying to recover [14/Apr/2004:13:08:38 BST] [B1089]: In low memory condition, Broker is attempting to free up resources
    [14/Apr/2004:13:08:38 BST] [B1088]: Entering Memory State [B0024]:  RED  from previous state [B0022]: YELLOW - current memory is 128796K, 99% of total memory [14/Apr/2004:13:08:38 BST] ERROR [B3008]: Message 2073-192.168.0.50(80:d:b6:c4:d6:73)-3319-1081944517772 exists in the store already [14/Apr/2004:13:08:38 BST] WARNING [B2011]: Storing of JMS message from IMQConn[AUTHENTICATED,[email protected]:3319,jms:3282] failed:
    com.sun.messaging.jmq.jmsserver.util.BrokerException: Message 2073-192.168.0.50(80:d:b6:c4:d6:73)-3319-1081944517772 exists in the store already
    [14/Apr/2004:13:08:38 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:38 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:39 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:39 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:39 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:39 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:40 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:40 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:40 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:40 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:41 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:42 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:42 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:42 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:42 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:43 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:43 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:43 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:43 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:44 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:44 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:44 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:45 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:45 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:46 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:46 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:47 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:47 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:47 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:47 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:48 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:49 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:49 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:49 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:49 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:50 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:50 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:50 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:50 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:51 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:51 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:51 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:51 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:52 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:52 BST] WARNING [B2076]: Broker is rejecting new producers, because it is extremely low on memory
    [14/Apr/2004:13:08:53 BST] ERROR [B3107]: Attempt to free memory failed, taking more drastic measures : java.lang.OutOfMemoryError
    [14/Apr/2004:13:08:53 BST] ERROR unable to deal w/ error: 1
    [14/Apr/2004:13:08:53 BST] ERROR TRYING TO CLOSE [14/Apr/2004:13:08:53 BST] ERROR DONE CLOSING
    [14/Apr/2004:13:08:53 BST] [B1066]:   Closing: [email protected]:3319->jms:3282. Count=0

  • Bug:4705928 PLSQL: Memory leak using small varrays

    We have Oracle version 10.2.0.1.0
    We have a problem with a procedure.
    In our scenario we make use of VARRAY in the procedure to pass some filter parameters to a select distinct querying a view made on three tables.
    Unfotunately not always execution it is successful.
    Sometimes it returns wrong value (0 for the count parameter), sometimes (rarely) the server stops working.
    We suspect that this is caused by a bug fixed in versione 10.2.0.3.0
    Bug:4705928 PLSQL: Memory leak using small varrays when trimming the whole collection and inserting into it in a loop
    We suspect this becasue we made two procedure the first (spProductCount) uses a function (fnProductFilter) to calculate the values of a varray and passes them into the select,
    while in the second procedure (spProductCount2) parameters are passed directly into the statement without varray
    and there are failures only in the first procedure.
    On the other hand on another server 10.2.0.1.0 we never have this problem.
    The instance manifesting the bug runs under shared mode, while the other is under dedicated mode.
    Turning the first one to dedicated mode makes the bugs disapear.
    Unfortunately this is not a solution.
    In the sample there are the three table with all constraints, the view, tha varray custom type, the function and the two procedures.
    Is there someone that may examine our sample and tell us if the pl/sql code corresponds to the bug desciption.
    We also want to know if it's possibile that the same server running under different mode (SHARED/DEDICATED) doesn't behave the same way.
    The tables:
    --Products
    CREATE TABLE "Products" (
         "Image" BLOB
         , "CatalogId" RAW(16)
         , "ProductId" RAW(16)
         , "MnemonicId" NVARCHAR2(50) DEFAULT ''
         , "ProductParentId" RAW(16)
    ALTER TABLE "Products"
         ADD CONSTRAINT "NN_Products_M04" CHECK ("CatalogId" IS NOT NULL)
    ALTER TABLE "Products"
         ADD CONSTRAINT "NN_Products_M05" CHECK ("ProductId" IS NOT NULL)
    ALTER TABLE "Products"
    ADD CONSTRAINT "PK_Products"
    PRIMARY KEY ("ProductId")
    CREATE INDEX "IX_Products"
    ON "Products" ("CatalogId", "MnemonicId")
    CREATE UNIQUE INDEX "UK_Products"
    ON "Products" (DECODE("MnemonicId", NULL, NULL, RAWTOHEX("CatalogId") || "MnemonicId"))
    --Languages
    CREATE TABLE "Languages" (
         "Description" NVARCHAR2(250)
         , "IsStandard" NUMBER(1)
         , "LanguageId" RAW(16)
         , "MnemonicId" NVARCHAR2(12)
    ALTER TABLE "Languages"
         ADD CONSTRAINT "NN_Languages_M01" CHECK ("LanguageId" IS NOT NULL)
    ALTER TABLE "Languages"
         ADD CONSTRAINT "NN_Languages_M05" CHECK ("MnemonicId" IS NOT NULL)
    ALTER TABLE "Languages"
    ADD CONSTRAINT "PK_Languages"
    PRIMARY KEY ("LanguageId")
    ALTER TABLE "Languages"
    ADD CONSTRAINT "UK_Languages"
    UNIQUE ("MnemonicId")
    --ProductDesc
    CREATE TABLE "ProductDesc" (
         "Comment" NCLOB
         , "PlainComment" NCLOB
         , "Description" NVARCHAR2(250)
         , "DescriptionText" NCLOB
         , "PlainDescriptionText" NCLOB
         , "LanguageId" NVARCHAR2(12)
         , "ProductId" RAW(16)
    ALTER TABLE "ProductDesc"
         ADD CONSTRAINT "NN_ProductDescM01" CHECK ("LanguageId" IS NOT NULL)
    ALTER TABLE "ProductDesc"
         ADD CONSTRAINT "NN_ProductDescM02" CHECK ("ProductId" IS NOT NULL)
    ALTER TABLE "ProductDesc"
    ADD CONSTRAINT "PK_ProductDesc"
    PRIMARY KEY ("ProductId", "LanguageId")
    ALTER TABLE "ProductDesc"
    ADD CONSTRAINT "FK_ProductDesc1"
    FOREIGN KEY("ProductId") REFERENCES "Products" ("ProductId")
    ALTER TABLE "ProductDesc"
    ADD CONSTRAINT "FK_ProductDesc2"
    FOREIGN KEY("LanguageId") REFERENCES "Languages" ("MnemonicId")
    /The view:
    --ProductView
    CREATE OR REPLACE VIEW "vwProducts"
    AS
         SELECT
               "Products"."CatalogId"
              , "ProductDesc"."Comment"
              , "ProductDesc"."PlainComment"
              , "ProductDesc"."Description"
              , "ProductDesc"."DescriptionText"
              , "ProductDesc"."PlainDescriptionText"
              , "Products"."Image"
              , "Languages"."MnemonicId" "LanguageId"
              , "Products"."MnemonicId"
              , "Products"."ProductId"
              , "Products"."ProductParentId"
              , TRIM(NVL("ProductDesc"."Description" || ' ', '') || NVL("ParentDescriptions"."Description", '')) "FullDescription"
         FROM "Products"
         CROSS JOIN "Languages"
         LEFT OUTER JOIN "ProductDesc"
         ON "Products"."ProductId" = "ProductDesc"."ProductId"
         AND "ProductDesc"."LanguageId" = "Languages"."MnemonicId"
         LEFT OUTER JOIN "ProductDesc" "ParentDescriptions"
         ON "Products"."ProductParentId" = "ParentDescriptions"."ProductId"
         AND ("ParentDescriptions"."LanguageId" = "Languages"."MnemonicId")
    /The varray:
    --CustomType VARRAY
    CREATE OR REPLACE TYPE Varray_Params IS VARRAY(100) OF NVARCHAR2(1000);
    /The function:
    --FilterFunction
    CREATE OR REPLACE FUNCTION "fnProductFilter" (
         parCatalogId "Products"."CatalogId"%TYPE,
         parLanguageId                    NVARCHAR2 := N'it-IT',
         parFilterValues                    OUT Varray_Params
    RETURN INTEGER
    AS
         varSqlCondition                    VARCHAR2(32000);
         varSqlConditionValues          NVARCHAR2(32000);
         varSql                              NVARCHAR2(32000);
         varDbmsCursor                    INTEGER;
         varDbmsResult                    INTEGER;
         varSeparator                    VARCHAR2(2);
         varFilterValue                    NVARCHAR2(1000);
         varCount                         INTEGER;
    BEGIN
         varSqlCondition := '(T_Product."CatalogId" = HEXTORAW(:parentId)) AND (T_Product."LanguageId" = :languageId )';
         varSqlConditionValues := CHR(39) || TO_CHAR(parCatalogId) || CHR(39) || N', ' || CHR(39 USING NCHAR_CS) || parLanguageId || CHR(39 USING NCHAR_CS);
         parFilterValues := Varray_Params();
         varSql := N'SELECT FilterValues.column_value FilterValue FROM TABLE(Varray_Params(' || varSqlConditionValues || N')) FilterValues';
         BEGIN
              varDbmsCursor := dbms_sql.open_cursor;
              dbms_sql.parse(varDbmsCursor, varSql, dbms_sql.native);
              dbms_sql.define_column(varDbmsCursor, 1, varFilterValue, 1000);
              varDbmsResult := dbms_sql.execute(varDbmsCursor);
              varCount := 0;
              LOOP
                   IF (dbms_sql.fetch_rows(varDbmsCursor) > 0) THEN
                        varCount := varCount + 1;
                        dbms_sql.column_value(varDbmsCursor, 1, varFilterValue);
                        parFilterValues.extend(1);
                        parFilterValues(varCount) := varFilterValue;
                   ELSE
                        -- No more rows to copy
                        EXIT;
                   END IF;
              END LOOP;
              dbms_sql.close_cursor(varDbmsCursor);
         EXCEPTION WHEN OTHERS THEN
              dbms_sql.close_cursor(varDbmsCursor);
              RETURN 0;
         END;
         FOR i in parFilterValues.first .. parFilterValues.last LOOP
              varSeparator := ', ';
         END LOOP;
         RETURN 1;
    END;
    /The procedures:
    --Procedure presenting anomaly\bug
    CREATE OR REPLACE PROCEDURE "spProductCount" (
         parCatalogId "Products"."CatalogId"%TYPE,
         parLanguageId NVARCHAR2 := N'it-IT',
         parRecords OUT NUMBER
    AS
         varFilterValues Varray_Params;
         varResult INTEGER;
         varSqlTotal VARCHAR2(32000);
    BEGIN
         parRecords := 0;
         varResult := "fnProductFilter"(parCatalogId, parLanguageId, varFilterValues);
         varSqlTotal := 'BEGIN
         SELECT count(DISTINCT T_Product."ProductId") INTO :parCount FROM "vwProducts" T_Product
              WHERE ((T_Product."CatalogId" = HEXTORAW(:parentId)) AND (T_Product."LanguageId" = :languageId ));
    END;';
         EXECUTE IMMEDIATE varSqlTotal USING OUT parRecords, varFilterValues(1), varFilterValues(2);
    END;
    --Procedure NOT presenting anomaly\bug
    CREATE OR REPLACE PROCEDURE "spProductCount2" (
         parCatalogId "Products"."CatalogId"%TYPE,
         parLanguageId NVARCHAR2 := N'it-IT',
         parRecords OUT NUMBER
    AS
         varFilterValues Varray_Params;
         varResult INTEGER;
         varSqlTotal VARCHAR2(32000);
    BEGIN
         parRecords := 0;
         varSqlTotal := 'BEGIN
         SELECT count(DISTINCT T_Product."ProductId") INTO :parCount FROM "vwProducts" T_Product
              WHERE ((T_Product."CatalogId" = HEXTORAW(:parentId)) AND (T_Product."LanguageId" = :languageId ));
    END;';
         EXECUTE IMMEDIATE varSqlTotal USING OUT parRecords, parCatalogId, parLanguageId;
    END;Edited by: 835125 on 2011-2-9 1:31

    835125 wrote:
    Using VARRAY was the only way I found to transform comma seprated text values (e.g. "'abc', 'def', '123'") in a collection of strings.A varray is just a functionally crippled version of a nested table collection type, with a defined limit you probably don't need. (Why 100 specifically?) Instead of
    CREATE OR REPLACE TYPE varray_params AS VARRAY(100) OF NVARCHAR2(1000);try
    CREATE OR REPLACE TYPE array_params AS TABLE OF NVARCHAR2(1000);I don't know whether that will solve the problem but at least it'll be a slightly more useful type.
    What makes you think it's a memory leak specifically? Do you observe session PGA memory use going up more than it should?
    btw good luck with all those quoted column names. I wouldn't like to have to work with those, although they do make the forum more colourful.
    Edited by: William Robertson on Feb 11, 2011 7:54 AM

  • Opening multiple instances of the same vi

    Hi,
    I am having trouble opening multiple instances of the same vi.
    This vi that I am trying to create can be used like a message display window to display numbers, strings etc (just like labVIEW's display message control except that this vi will update the displayed controls every scan). So for example, I will like to have a subvi, lets call it popup.vi, where I wire in three inputs from my main vi (2 strings and 1 number). Now in my main.vi I have 2 numeric controls Num1 and Num2 with their KeyFocus property nodes.
    The intention is that when I select Num1 or Num2 numeric control with my mouse the KeyFocus boolean becomes true and the popup.vi logic kicks in. Meaning that the popup.vi runs and opens its front pane
    l displaying the two strings and one numeric value from the main.vi.
    The problem arises when I want to open and run multiple instances of the popup.vi.
    So when I click on Num1 with my mouse I want the popup.vi to open its front panel with a set of strings and number displayed. At the same time I would want to click on Num2 control and open another instance of the popup.vi with another set of strings and numeric value.
    Also, I saved the popup.vi as popup.vit but for some reason vi server will not open the popup.vit. I get a message that popup.vit is already in memory - cannot load.
    I have attached a sample of the main.vi and popup.vi program.
    Please let me know if you need further clarifications.
    I appreciate your help in this matter.
    Thanks
    Nish
    Attachments:
    popupVI.zip ‏37 KB

    You have to clone the VI. You say you have tried to use the .vit way of cloning...but in the example there is no use of VIT and the VI is called statically. If you want to open multiple instances of the same VI and the VI has a user interface (or needs to be a unique instance of the VI every time even though it's called the same place in the diagram, not the case here though) you need to do it dynamically, i.e. with an invoke node.
    There is actually a problem doing just that, it causes a memory leak...but that won't be a problem unless the VI is called frequently / the software will be running over very long periods of time. You can see an example of it here (attached to my reply to the question):
    http://exchange.ni.com/servlet/ProcessRequest?RHIVEID=101&
    RPAGEID=135&HOID=506500000008000000A07D0000&UCATEGORY_0=_49_%24_6_&UCATEGORY_S=0&USEARCHCONTEXT_QUESTION_0=VI+cloning&USEARCHCONTEXT_QUESTION_S=0
    About the memory leak problem:
    http://exchange.ni.com/servlet/ProcessRequest?RHIVEID=101&RPAGEID=135&HOID=506500000008000000B7A40000&UCATEGORY_0=_49_%24_6_&UCATEGORY_S=0&USEARCHCONTEXT_QUESTION_0=VI+cloning&USEARCHCONTEXT_QUESTION_S=0
    MTO

  • How do I find out what object is "instance 0xfc78f70"

    At the point of, or after an exception, the debugger tells me there is a problem, such as:
    -[__NSCFArray length]: unrecognized selector sent to instance 0xfc78f70
    *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFArray length]: unrecognized selector sent to instance 0xfc78f70'
    Given that this might be an NSArray, I've put code *Everywhere* all around my NSArray items such as....
                element = [m_UserDetail objectForKey:@"education"];
                if ( [element isKindOfClass:[NSString class]] ) {
                    if ( [element length] || [element1 length] )
                        return 20.0f;
                    else
                        return 0.0f;
                else if ( [element isKindOfClass:[NSArray class]] ) {
                    if ( [element count] )
                        return 20.0f;
                    else
                        return 0.0f;
    And I still get the error.
    Analyse tells me there are no memory leaks, so I am expecting that no objects are going out of scope, as fixing things for Analyse has usually resolved problems like that in the past.
    How do I determine what object, or what module this is in.  BT tells me nothing useful:
    *** First throw call stack:
    (0x32a818bf 0x368eb1e5 0x32a84acb 0x32a83945 0x329de680 0x3148cadd 0x42309 0x5686b 0x37c0c50f 0x32a4d577 0x329d90cf 0x37b803fb 0x16ebb 0x3ad79 0x37c43c39 0x37b9b6e9 0x37b9b6b3 0x37b9b5d5 0x33ab6901 0x33aab5a1 0x33aab695 0x33aab29f 0x33aab1d5 0x32a55b03 0x32a552cf 0x32a54075 0x329d74dd 0x329d73a5 0x38118fed 0x31322743 0x13055 0x13014)
    terminate called throwing an exception(lldb) bt
    * thread #1: tid = 0x1c03, 0x32c7e32c libsystem_kernel.dylib`__pthread_kill + 8, stop reason = signal SIGABRT
        frame #0: 0x32c7e32c libsystem_kernel.dylib`__pthread_kill + 8
        frame #1: 0x36feaf5a libsystem_c.dylib`pthread_kill + 54
        frame #2: 0x36fe3fea libsystem_c.dylib`abort + 94
        frame #3: 0x37f47f6a libc++abi.dylib`abort_message + 46
        frame #4: 0x37f4534c libc++abi.dylib`_ZL17default_terminatev + 24
        frame #5: 0x368eb2e2 libobjc.A.dylib`_objc_terminate + 146
        frame #6: 0x37f453c4 libc++abi.dylib`_ZL19safe_handler_callerPFvvE + 76
        frame #7: 0x37f45450 libc++abi.dylib`std::terminate() + 20
        frame #8: 0x37f46824 libc++abi.dylib`__cxa_rethrow + 88
        frame #9: 0x368eb234 libobjc.A.dylib`objc_exception_rethrow + 12
        frame #10: 0x329d7544 CoreFoundation`CFRunLoopRunSpecific + 404
        frame #11: 0x329d73a4 CoreFoundation`CFRunLoopRunInMode + 104
        frame #12: 0x38118fec GraphicsServices`GSEventRunModal + 156
        frame #13: 0x31322742 UIKit`UIApplicationMain + 1090
        frame #14: 0x00013054 Iris3D`main + 60 at main.m:13
    (lldb)
    This reason, "'-[__NSCFArray length]: unrecognized selector sent to instance " in other web postings at stack-overflow suggest checking NSLog statements, and I've also done that as well.
    I've checked every "length" statement in my program (126) occurrances, and every NSLog statement (110) occurrances, making sure they all begin with a string format, @" .." and everything looks good.
    ====
    Background
    =========
    I'm merging information from 3 individual tab-bar tableViewControllers into a single tab-bar item with a single TVC using 3 sections, and everything LOOKS clean, but when I introduce the module with the merged tab, to the tab-bar, I get this error, even when I select a tab that was previously working and then select a table element in the WORKING module, I get the crash.
    It is a fairly complicated app, and I go through the same routines multiple times where everything works, and then "Nth" time through the same code, it crashes. If I can identify what object is getting the erroneous message, I can probably figure out where to add additional checks to the data to make sure I really have an adday, dictionary or string element.
    Thanks!

    Use the '+' at the bottom left of the Breakpoint Navigator to add an Exception breakpoint.  This should stop your program in the debugger when the error happens.

  • Multiple Instances of OEDQ on a single server

    Hi,
    I am running a Linux Machine (Linux 2.6.18-308.1.1.0.1.el5), on which I have the latest version of Oracle 11g release 2 installed.
    I have an instance of oracle Enterprise Data Quality tool running on an apache-tomcat-7 server. Port 8080
    Now I have a requirement of Installing another instance of OEDQ on the same server, but a different APACHE_HOME directory and a different Port Number (8081).
    So the question is, Can we install multiple instances of OEDQ on a single server?
    If so, what are the prerequisites to be maintained.
    I did my bit of tries, but ended up having issues with some java errors.
    I have posted the error message below.
    SEVERE: Context initialization failed
    *org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'casemanager' defined in class path resource [conf/casemanagement.xml]: Cannot resolve reference to bean 'casedao' while setting bean property 'caseDAO';*
    The complete Error Log in the Catalina.out file is pasted below.
    INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /u100/app/PCEXDB/orpcexmt/oracle/loqate:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
    May 13, 2013 12:50:08 AM org.apache.coyote.AbstractProtocol init
    INFO: Initializing ProtocolHandler ["http-bio-8081"]
    May 13, 2013 12:50:08 AM org.apache.coyote.AbstractProtocol init
    INFO: Initializing ProtocolHandler ["ajp-bio-8010"]
    May 13, 2013 12:50:08 AM org.apache.catalina.startup.Catalina load
    INFO: Initialization processed in 792 ms
    May 13, 2013 12:50:08 AM org.apache.catalina.core.StandardService startInternal
    INFO: Starting service Catalina
    May 13, 2013 12:50:08 AM org.apache.catalina.core.StandardEngine startInternal
    INFO: Starting Servlet Engine: Apache Tomcat/7.0.29
    May 13, 2013 12:50:08 AM org.apache.catalina.startup.HostConfig deployWAR
    INFO: Deploying web application archive /u100/app/PCEXDB/orpcexmt/oracle/OEDQ2/apache-tomcat-7.0.29/webapps/dndirector.war
    May 13, 2013 12:50:13 AM org.apache.catalina.startup.TaglibUriRule body
    INFO: TLD skipped. URI: http://struts.apache.org/tags-tiles is already defined
    May 13, 2013 12:50:13 AM org.apache.catalina.startup.TaglibUriRule body
    INFO: TLD skipped. URI: http://struts.apache.org/tags-html is already defined
    May 13, 2013 12:50:13 AM org.apache.catalina.startup.TaglibUriRule body
    INFO: TLD skipped. URI: http://struts.apache.org/tags-bean is already defined
    May 13, 2013 12:50:13 AM org.apache.catalina.startup.TaglibUriRule body
    INFO: TLD skipped. URI: http://struts.apache.org/tags-logic is already defined
    May 13, 2013 12:50:13 AM org.apache.catalina.startup.TaglibUriRule body
    INFO: TLD skipped. URI: http://struts.apache.org/tags-nested is already defined
    May 13, 2013 12:50:13 AM org.apache.catalina.startup.TaglibUriRule body
    INFO: TLD skipped. URI: http://struts.apache.org/tags-bean is already defined
    May 13, 2013 12:50:13 AM org.apache.catalina.startup.TaglibUriRule body
    INFO: TLD skipped. URI: http://struts.apache.org/tags-html is already defined
    May 13, 2013 12:50:13 AM org.apache.catalina.startup.TaglibUriRule body
    INFO: TLD skipped. URI: http://struts.apache.org/tags-logic is already defined
    May 13, 2013 12:50:13 AM org.apache.catalina.startup.TaglibUriRule body
    INFO: TLD skipped. URI: http://struts.apache.org/tags-nested is already defined
    May 13, 2013 12:50:13 AM org.apache.catalina.startup.TaglibUriRule body
    INFO: TLD skipped. URI: http://struts.apache.org/tags-tiles is already defined
    May 13, 2013 12:50:14 AM org.springframework.web.context.ContextLoader initWebApplicationContext
    INFO: Root WebApplicationContext: initialization started
    May 13, 2013 12:50:14 AM org.springframework.context.support.AbstractApplicationContext prepareRefresh
    INFO: Refreshing com.datanomic.director.startup.WebApplicationContext@2dfe88b8: display name [Root WebApplicationContext]; startup date [Mon May 13 00:50:14 CDT 2013]; root of context hierarchy
    May 13, 2013 12:50:16 AM com.datanomic.director.startup.WebApplicationContext loadBeanDefinitions
    INFO: Spring bean loading complete.
    May 13, 2013 12:50:24 AM org.springframework.web.context.ContextLoader initWebApplicationContext
    SEVERE: Context initialization failed
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'casemanager' defined in class path resource [conf/casemanagement.xml]: Cannot resolve reference to bean 'casedao' while setting bean property 'caseDAO'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'casedao' defined in class path resource [conf/casemanagement.xml]: Cannot resolve reference to bean 'casemetadata' while setting bean property 'caseMetadata'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'casemetadata' defined in class path resource [conf/casemanagement.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
    PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'flags' threw exception; nested exception is java.lang.NullPointerException
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:275)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1245)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
    at com.datanomic.director.startup.WebApplicationContext.refresh(WebApplicationContext.java:109)
    at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
    Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'casedao' defined in class path resource [conf/casemanagement.xml]: Cannot resolve reference to bean 'casemetadata' while setting bean property 'caseMetadata'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'casemetadata' defined in class path resource [conf/casemanagement.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
    PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'flags' threw exception; nested exception is java.lang.NullPointerException
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:275)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1245)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1245)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
    at com.datanomic.director.startup.WebApplicationContext.refresh(WebApplicationContext.java:109)
    at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4791)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5285)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:963)
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1600)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:722)
    Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'casemetadata' defined in class path resource [conf/casemanagement.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
    PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'flags' threw exception; nested exception is java.lang.NullPointerException
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1279)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269)
    ... 46 more
    Caused by: org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
    PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'flags' threw exception; nested exception is java.lang.NullPointerException
    at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:104)
    at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:59)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1276)
    ... 57 more
    May 13, 2013 12:50:24 AM org.apache.catalina.core.StandardContext startInternal
    SEVERE: Error listenerStart
    May 13, 2013 12:50:24 AM org.apache.catalina.core.StandardContext startInternal
    SEVERE: Context [dndirector] startup failed due to previous errors
    May 13, 2013 12:50:25 AM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
    SEVERE: The web application [dndirector] registered the JDBC driver [oracle.jdbc.OracleDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
    May 13, 2013 12:50:25 AM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
    SEVERE: The web application [dndirector] registered the JDBC driver [org.postgresql.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
    May 13, 2013 12:50:25 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
    SEVERE: The web application [dndirector] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@623e20db]) and a value of type [java.lang.Class] (value [class oracle.sql.TypeDescriptorFactory]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
    May 13, 2013 12:50:25 AM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
    SEVERE: The web application [dndirector] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@da1c402]) and a value of type [java.lang.Class] (value [class oracle.sql.AnyDataFactory]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
    May 13, 2013 12:50:25 AM org.apache.catalina.startup.HostConfig deployDirectory
    INFO: Deploying web application directory /u100/app/PCEXDB/orpcexmt/oracle/OEDQ2/apache-tomcat-7.0.29/webapps/docs
    May 13, 2013 12:50:25 AM org.apache.catalina.startup.HostConfig deployDirectory
    INFO: Deploying web application directory /u100/app/PCEXDB/orpcexmt/oracle/OEDQ2/apache-tomcat-7.0.29/webapps/examples
    May 13, 2013 12:50:25 AM org.apache.catalina.startup.HostConfig deployDirectory
    INFO: Deploying web application directory /u100/app/PCEXDB/orpcexmt/oracle/OEDQ2/apache-tomcat-7.0.29/webapps/manager
    May 13, 2013 12:50:25 AM org.apache.catalina.startup.HostConfig deployDirectory
    INFO: Deploying web application directory /u100/app/PCEXDB/orpcexmt/oracle/OEDQ2/apache-tomcat-7.0.29/webapps/ROOT
    May 13, 2013 12:50:25 AM org.apache.catalina.startup.HostConfig deployDirectory
    INFO: Deploying web application directory /u100/app/PCEXDB/orpcexmt/oracle/OEDQ2/apache-tomcat-7.0.29/webapps/host-manager
    May 13, 2013 12:50:25 AM org.apache.coyote.AbstractProtocol start
    INFO: Starting ProtocolHandler ["http-bio-8081"]
    May 13, 2013 12:50:25 AM org.apache.coyote.AbstractProtocol start
    INFO: Starting ProtocolHandler ["ajp-bio-8010"]
    May 13, 2013 12:50:25 AM org.apache.catalina.startup.Catalina start
    INFO: Server startup in 16882 ms
    Can someone please tell me what is going wrong here?

    Hi,
    Multiple instances of EDQ on a single server is technically possible provided the installer takes care to avoid port conflicts. It is not the case that there is a single port used by an EDQ server, for example.
    For various reasons, it is not officially supported; attempting to diagnose issues on custom installations on Tomcat is especially difficult and we do not provide documentation on this. In general, the requirement usually comes up for Dev/Test instances (as there is no performance advantage of using multiple instances on a single server), where we would recommend the use of virtualization where this is a requirement.
    Regards,
    Mike

  • How can we calculate no. of instances in a java program ?

    Hi,
    I want to know that
    How can we calculate no. of instances in a java program ?
    Actually I just want to calculate number of live instances in a program at any time...
    Thanx in Advance
    Vijay

    Been asked a few times in this forum.
    Try having a search.
    One way, in brief, is to instrument your classes so that constructors update a per-type counter, and enqueue a PhantomReference for the instance.
    When you pop from an associated ReferenceQueue, decrement the counter for the no longer reachable type.
    Once you have this, you can query instance counts per type, or globably etc.
    We maintain a model which can be remotely queried - and display results over time using JGraph. Gives a fairly non-intrusive way to spot and narrow down the cause of memory leaks in a large application.

  • 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.

  • HTTPService + XML Load + Memory Leak

    Hi all....
    I have noticed a memory leak in my application. This leak was
    not apparent when the application was completed some months back
    which is what left me a little confused as all I have done since
    was upgrade to Flex 3 and possibly updated / changed my Flash
    player.
    I think I have found the cause to this problem (below) but am
    not 100% sure that it is the "actual" problem or any reasons to
    back my thoughts up, so have listed what I have checked / tried
    along the way (maybe I have missed something)....
    My Discovery Process:
    I started profiling my application but did not find anything
    out of the ordinary. I did a code walk-through double checking I
    had cleaned up after myself, removing and even nulling all items
    etc but still to now success - the leak is still there.
    I have profiled the app in the profiler for reasonably long
    periods of time.
    All the classes etc being used within the app are consistent
    in size and instance amount and there is no sign of any apparent
    leak.
    I am using a HTTPService that is loading XML data which I am
    refreshing every 5 seconds. On this 5 second data refresh some
    class instances are incremented but are restored to the expected
    amount after a GC has occurred. The GC seems to take longer, the
    longer the app is running, therefore more and more instances are
    being added to the app, but when the GC eventually runs it "seems"
    to clear these instances to the expected amount.
    After scratching my head for a while I decided to make a copy
    of my application, rip everything out, and focus in my data load,
    where I found a problem!
    I have now just a HTTPService that loads an XML file every 5
    seconds, and this is all I currently have in the app (as I ripped
    the rest of the code out), e.g:
    Code:
    <mx:Application xmlns:mx="
    http://www.adobe.com/2006/mxml"
    ....... creationComplete="initApp()" >
    <mx:HTTPService
    id="httpServiceResults"
    url="
    http://myIP:myPort/myRoot/myXML.cfm"
    resultFormat="e4x"
    result="httpResultHandler(event)" />
    <script....... >
    private var timerPulse:Timer;
    private function initApp():void
    httpServiceResults.send();
    timerPulse = new Timer(5000, 0);
    private function httpResultHandler(event:ResultEvent):void
    timerPulse.start();
    timerPulse.addEventListener(TimerEvent.TIMER, timerRefresh);
    public function timerRefresh(eventObj:TimerEvent):void
    timerPulse.stop();
    timerPulse.removeEventListener(TimerEvent.TIMER,
    timerRefresh);
    timerPulse.reset();
    httpServiceResults.send();
    </script>
    </mx:Application>
    This is pretty much the code I am currently using and it
    leaks.
    I ran and monitored this in both the profiler and the
    activity / task manager, and after running the app for 1800 seconds
    (30 min) in the profiler, the memory size grew from 50mg to 165mg
    just sending the HTTPService.
    I tried loading the service in multiple ways including in AS
    rather than MXML creating new instances of it each time, resetting
    it, nulling it etc... but nothing prevented this memory increase.
    I then tried to load the XML using different methods such as
    using the URLRequest and URLLoader which again caused a memory
    leak.
    What still confuses me is that this leak did not exist in the
    previous version and not a great deal has changed since then apart
    from upgrading to Flex 3 and possibly upgrading my Flash payer
    (which I believe is a possible cause)
    After looking into this issue a bit more deeply, I read a few
    blogs / forums and other people are experiencing the same problems
    - even with a lot bigger leaks in some cases all when reloading
    large sets of XML data into Flex - however, I as of yet found no
    solution to this leak - people with a similar problem believe it is
    not due to a memory leak more a GC error, and others pointing
    towards the Flash Player itself that is leaking - I don't really
    know.
    Findings so far during investigation of this issue:
    * App leaks for both HTTPService and ULRRequest / URLLoader
    methods
    * App only leaks when calling a data loader
    * The size of the leak seems to depend on the size of the
    XML being loaded
    * The size of the leak also seems to be affected by the
    applications heaviness - the greater seems to enhance the leak
    An interesting factor I have noticed is that if I copy the
    XML from my "myXML.cfm" that I link to in my HTTPService and copy
    the contents of the file into my own XML file stored within the
    Flex project root itself: ""myXML.xml"" the leak disappears... like
    it seems to link when loading the XML over a network, however as my
    network knowledge is not great I am not sure what to make of this -
    any ideas???
    Could the connection to the XML document cause leaks??? is
    there anything else that could cause this leak??? have I something
    in my code sample that could cause this leak??? or could any of the
    other things I have mentioed cause this leak???
    Any help / ideas would be greatly appreciated.
    Thanks,
    Jon.

    I also observed heavy memory leak from using httpservice with
    XML data. I am using Flex3 builder under Linux. My Flex application
    polls httpservice every 10 seconds. The reply is a short XML
    message less than 100 bytes. This simple polling will consume 30+
    MB of memory every hour. I leave it idling for several hours and it
    took 200 MB of memory. No sign of garbage collection at all.

  • Memory leak in Application

    Hi,
    we're load testing an application using Coherence. It uses a distributed cache, with an web application as the client, and separate cache servers implementing a Cache Store.
    We're getting several memory leaks and one area that was reported was a great number of instances for the com.tangosol.coherence.component.util.daemon.queueProcessor.service.DistributedCache$GetRequest class.
    Does anybody know what could cause these instances to be left hanging around? I think the Coherence classes ar a symptom of another problem rather than an issue with Coherence itself but it would be useful to know what could cause these objects to be left in the heap.
    Thanks
    Mike

    After further load testing, our application definitely seems to be leaking Coherence objects.
    The classes seem to be com.tangosol.util.Binary &
    com.tangosol.coherence.component.util.daemon.queueProcessor.service.DistributedCache$GetRequest.
    During testing, the number of Binary objects rose 0 to about 9000 and the number of GetRequest objects rose from 0 to about 3600 in two hours.
    The application stores objects in the cache and updates them, the main operation being to add to a very long log string required by the client to these objects, which represent sessions.
    Our test keeps a constant number of these objects in the cache during the run, removing the same number it creates after it has ramped up to full load testing.
    The application is stateless, it recieves frequent requests to get an object from the cache, work on it and put it back in the cache. The cache also has a cache store to persist the data to a database.
    Are there any references to the cache objects that would stop them being garbage collected?
    Our whole application is based in a simple stateless reqest/response operation and I cannot see where the huge number of objects is coming from.
    Mike

  • 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 in Jain-SIP ?

    Hi there.
    We implemented a SIP gateway to MS OCS 2007 using
    Jain-SIP version 1.2.1906.
    One problem we have is memory consumption.
    Using jconsole we found out that memory is not
    completely released when SIP clients log out.
    E.g. the following classes keep on accumulating:
    53134 instances of class gov.nist.core.NameValueList
    41730 instances of class gov.nist.core.NameValue
    20330 instances of class gov.nist.core.Host
    20330 instances of class gov.nist.core.HostPort
    19767 instances of class gov.nist.core.DuplicateNameValueList
    19767 instances of class gov.nist.core.MultiValueMapImpl
    16162 instances of class gov.nist.javax.sip.address.Authority
    16162 instances of class gov.nist.javax.sip.address.SipUri
    13570 instances of class gov.nist.javax.sip.address.UserInfo
    12261 instances of class gov.nist.javax.sip.address.AddressImpl
    5210 instances of class gov.nist.javax.sip.header.Protocol
    5210 instances of class gov.nist.javax.sip.header.Via
    4168 instances of class gov.nist.javax.sip.header.CallID
    4168 instances of class gov.nist.javax.sip.header.CallIdentifier
    3901 instances of class gov.nist.javax.sip.header.CSeq
    3901 instances of class gov.nist.javax.sip.header.ContentLength
    3901 instances of class gov.nist.javax.sip.header.From
    3901 instances of class gov.nist.javax.sip.header.MaxForwards
    3901 instances of class gov.nist.javax.sip.header.RequestLine
    3901 instances of class gov.nist.javax.sip.header.To
    3901 instances of class gov.nist.javax.sip.header.ViaList
    3901 instances of class gov.nist.javax.sip.message.SIPRequest
    3901 instances of class gov.nist.javax.sip.stack.SIPTransaction$TransactionSemaphore
    2858 instances of class gov.nist.javax.sip.DialogFilter
    2618 instances of class gov.nist.javax.sip.header.Route
    2618 instances of class gov.nist.javax.sip.header.RouteList
    2592 instances of class gov.nist.javax.sip.stack.SIPServerTransaction
    2590 instances of class gov.nist.javax.sip.header.ContentDisposition
    2590 instances of class gov.nist.javax.sip.header.ContentType
    2590 instances of class gov.nist.javax.sip.header.MediaRange
    1579 instances of class org.apache.xmlbeans.SchemaType$Ref
    1309 instances of class gov.nist.javax.sip.header.UserAgent
    1309 instances of class gov.nist.javax.sip.parser.Pipeline
    1309 instances of class gov.nist.javax.sip.parser.PipelinedMsgParser
    1309 instances of class gov.nist.javax.sip.parser.StringMsgParser
    1309 instances of class gov.nist.javax.sip.stack.HopImpl
    1309 instances of class gov.nist.javax.sip.stack.SIPClientTransaction
    1309 instances of class gov.nist.javax.sip.stack.SIPClientTransaction$TransactionTimer
    1309 instances of class gov.nist.javax.sip.stack.SIPDialog
    These all are classes from the SIP stack aren't they ?
    Are there any known issues with memory leaks
    in Jain-SIP ?
    Is it probably a configuration issue with
    the properties/parameters for the SIP stack ?
    (There is a property gov.nist.javax.sip.AGGRESSIVE_CLEANUP which we set
    to TRUE but it didn't help)
    Do we miss to release/initialize anything in the SIP stack manually ?
    Thanks a lot in advance,
    Fred

    Nobody else seems ton have this problem. I haven't run my SIP code for as long as a week at a time but i didn't notice any undue memory usage, and I also trawled inside the source a lot without seeing anything odd. So is it your code leaking? Are you sure you're releasing everything to do with a conversation when it ends? Rather than say accumulating things in some static data structure?

  • Memory Leak in BI SDK with XMLA Connector ?

    Hi,
    I am using BI SDK 3.5 with XMLA Connector. I noticed that in com.sap.ip.bi.sdk.dac.connector.xmla.impl.Connection class, the LocalTransaction object is rollbacked when the close() method is called.
    This makes a call to the endTransaction() method of Repository class with "true" parameter and leads to informations storage into a RepositoryDBMemory instance.
    The only way I found to avoid this is to call the endTransaction() method with "false" as parameter, which is what is done in commit() method of the LocalTransaction class.
    So, I tried to commit the transaction before closing the connection but in XMLA mode, the getLocalTransaction() method throws an BIResourceException so it is impossible to commit it. This is the first issue.
    Second issue: it seems that data hold by the DataSetContentHandler is not freed. I tried using SAP Parser, Xerces, Java Parser but it has no effect. I hava a MDX query that returns 13000 lines, the XML file size is about 15Mo.
    In a for loop with 10 operations, it leads to a OutOfMemory error quickly (only 7 iterations OK with -Xmx256m -Xms256m options). On each iteration, the memory grows about 25 to 30Mo !
    For the first point, I do not call the close method on the connection object and it is garbage collected (but, in my opinion, it is quite strange not calling the close() method on a connection object).
    For the second one (DataSetContentHandler), I have no idea. Has someone already encounter this problem ? The Netbeans profiler tells me it is this object that holds all java.lang.String objects. Is it right ?
    I saw in DataSetContentHandler class that it has two static fields: one for the row cursor of the dataset, the other one for column cursor. Why ? Is it OK in a multi-threaded context ?
    <b>This is urgent as we will not put the project in production mode with such a memory leak ! We must find the problem very quickly.</b>
    Thanks in advance for any help you might give to me !
    Regards,
    David Degardin (Ubik-Ingenierie)

    I found the same thing. Tracing the execution back I found the only place this function was called was as part of the setup, so you shouldn't have to worry about it getting called multiple times and leaking memory. The trouble seems to be when the AudioPlayer dealloc method is called, the memory is not cleaned up.
    My fix was to modify the dealloc in AudioQueueObject to check to see if audioLevels is nil and, if not, free it. This seems to have fixed the problem.

Maybe you are looking for

  • 2-seat license not working on Mac running Windows 7

    We have a full retail copy of Adobe Acrobat Pro XI.  We are trying to get it installed on an Intel-Mac (2009 Macbook Pro) running Windows 7 on Bootcamp. After a fresh install, we successfully license the software with the license key.  All works well

  • Ok, so here's the bottom line...again. *sigh*

    Ok, so I need someone to hold my hand because I am trying to make sense of the 20+ threads I've read and I think I'm losing the last few hairs remaining. Say you have AT&T Internet Service, and you're using their 2WIRE router.  Everyone in the back o

  • Develop mode before and after shortcut for 2nd monitor?

    I'm working in Develop mode and am trying to find the before and after shortcut for my 2nd monitor? the "\" shortcut works only on my main monitor. I am using my 2nd smaller monitor for color correction hence the need for the before and after option

  • How can i speed up the playback of streaming video on websites?

    when trying to watch tv shows from streamining sites the video plays in slow motion or doesnt play at all....what can i do to fix this?

  • LED Light Going Off Every Few Minutes

    My LED notificiation light is going off every few minutes.  I have no new emails, I have no new texts, no new notifications.  i have turned off my phone, I have taken out the battery and put it back in.  I have changed my notification settings.  I do