Your Advice:Is this memory leak?

Hi All, I am supporting this Java Appplication and get the below errors all the time. I would like to seek your assitance as to how they could be resolved. The application stops 3-4 times a month and when the weblogic server is restarted it is fineBelow are the Service Packs whihc are being used.
Sun ONE Web Server     6.0
Sun ONE Directory Server     5.1 Service Pack 2
BEA WebLogic Server     7 Service Pack 2
Oracle Database Server     9i Service Pack 2 (9.0.2)
Lookint at errors below is has been suggested it may be a memory leak problems that have been encountered.
How do I make sure it is memory leak problems?? What can I do to overcome these???
Regards,
Raj
Errors:
####<24/07/2006 14:16:15> <Error> <T3Services> <osun8300.optus.com.au> <efserver> <ExecuteThread: '14' for queue: 'default'>
<kernel identity> <> <000000> <24667597 [ExecuteThread: '14' for queue: 'default'] ERROR au.com.whitewolf.mvc.NavigationManag
er 203.13.136.243 - An exception occured whilst Navigating:Input/output error: java.io.IOException: Broken pipe
>
javax.servlet.ServletException: Input/output error: java.io.IOException: Broken pipe
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:269)
at au.com.whitewolf.mvc.NavigationManager.navigate(NavigationManager.java:319)
at au.com.whitewolf.mvc.NavigationManager.navigate(NavigationManager.java:159)
at au.com.whitewolf.mvc.DispatcherServlet.doPost(DispatcherServlet.java:303)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1058)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:401)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:306)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:5445)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:780)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3105)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2588)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
javax.servlet.jsp.JspException: Broken pipe
at org.apache.struts.taglib.template.InsertTag.doEndTag(InsertTag.java:149)
at jsp_servlet._customer.__mainMenu._jspService(__mainMenu.java:341)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1058)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:401)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:306)
at weblogic.servlet.internal.RequestDispatcherImpl$ForwardAction.run(RequestDispatcherImpl.java:342)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:780)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:252)
at weblogic.servlet.jsp.PageContextImpl.forward(PageContextImpl.java:132)
at jsp_servlet.__index._jspService(__index.java:355)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1058)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:401)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:306)
at weblogic.servlet.internal.RequestDispatcherImpl$ForwardAction.run(RequestDispatcherImpl.java:342)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:780)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:252)
at au.com.optus.eFulfilment.Presentation.LogIn.servlet.LogInServlet.doPost(LogInServlet.java:262)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1058)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:401)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:306)
at weblogic.servlet.internal.RequestDispatcherImpl$ForwardAction.run(RequestDispatcherImpl.java:342)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:780)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:252)
at au.com.whitewolf.validation.servlet.ValidationServlet.doPost(ValidationServlet.java:771)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1058)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:401)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:306)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:5445)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:780)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3105)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2588)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
####<24/07/2006 14:31:57> <Error> <HTTP> <osun8300.optus.com.au> <efserver> <ExecuteThread: '20' for queue: 'default'> <kerne
l identity> <> <101017> <[ServletContext(id=7458299,name=efulfilment,context-path=/eFulfilment)] Root cause of ServletExcepti
on>
j
####<24/07/2006 14:55:06> <Error> <T3Services> <osun8300.optus.com.au> <efserver> <ExecuteThread: '27' for queue: 'default'>
<kernel identity> <> <000000> <26998982 [ExecuteThread: '27' for queue: 'default'] ERROR au.com.whitewolf.mvc.NavigationManag
er 203.13.136.243 - An exception occured whilst Navigating:Input/output error: java.io.I
####<26/07/2006 11:30:02> <Error> <T3Services> <osun8300.optus.com.au> <efserver> <ExecuteThread: '56' for queue: 'default'>
<kernel identity> <> <000000> <17803589 [ExecuteThread: '56' for queue: 'default'] ERROR au.com.whitewolf.mvc.DispatcherServl
et 10.32.144.121 - Mismatched bean property-Action Response Command:companyInfoSessionElement in bean:au.com.optus.eFulfilmen
t.Presentation.mvc.orgUnitLoad.OrgUnitLoadResponseBean
>
####<26/07/2006 11:30:02> <Error> <T3Services> <osun8300.optus.com.au> <efserver> <ExecuteThread: '56' for queue: 'default'>
<kernel identity> <> <000000> <17803591 [ExecuteThread: '56' for queue: 'default'] ERROR au.com.whitewolf.mvc.DispatcherServl
et 10.32.144.121 - Ignoring unexpected error updating context for:au.com.optus.eFulfilment.Presentation.mvc.orgUnitLoad.OrgUn
itLoadResponseBean.companyInfoSessionElement:Bad command property registered:companyInfoSessionElement
>
####<26/07/2006 11:30:08> <Error> <T3Services> <osun8300.optus.com.au> <efserver> <ExecuteThread: '56' for queue: 'default'>
<kernel identity> <> <000000> <17809275 [ExecuteThread: '56' for queue: 'default'] ERROR au.com.whitewolf.mvc.DispatcherServl
et 10.32.144.149 - Mismatched bean property-Action Response Command:companyInfoSessionElement in bean:au.com.optus.eFulfilmen
t.Presentation.mvc.orgUnitLoad.OrgUnitLoadResponseBean
>
####<26/07/2006 11:30:08> <Error> <T3Services> <osun8300.optus.com.au> <efserver> <ExecuteThread: '56' for queue: 'default'>
<kernel identity> <> <000000> <17809279 [ExecuteThread: '56' for queue: 'default'] ERROR au.com.whitewolf.mvc.DispatcherServl
et 10.32.144.149 - Ignoring unexpected error updating context for:au.com.optus.eFulfilment.Presentation.mvc.orgUnitLoad.OrgUn
itLoadResponseBean.companyInfoSessionElement:Bad command property registered:companyInfoSessionElement
>
####<26/07/2006 11:38:20> <Error> <HTTP> <osun8300.optus.com.au> <efserver> <ExecuteThread: '53' for queue: 'default'> <kerne
l identity> <> <101017> <[ServletContext(id=990935,name=efulfilment,context-path=/eFulfilment)] Root cause of ServletExceptio
n>
Errors:

Isn't this better asked on a BEA Weblogic help forum?
Glen

Similar Messages

  • HT1212 My phone is still disabled with three attempts of using your advice on this page! After it was finished the following message pop up with the numbers 3194, what do I do next to fix my phone?

    My phone is still disabled with three attempts of using your advice to connect with computer, the following message keeps popping up with numbers 3194.
    What do I do next to disable my phone?

    Read here:
    http://support.apple.com/kb/TS3694#error3194
    "Unable to contact Update Server"

  • How to solve this memory leak???

    I've noticed as of recently that my 13" mbp, 2.7ghz, early 2011, OSX Lion 10.7.5 has been getting less and less memory as I use it throughout the day.
    I upgraded my memory from 4gb to 8gbs recently thinking this would be the solution, but its still the same problem occuring.
    Help please, I have no idea how to solve!

    It's up to date. Anything else?

  • Can't believe you didn't fixed this memory leak bug yet

    https://bugs.adobe.com/jira/browse/FP-4812
    it's a major issue, why no one did a fix for it? Unbelievable..

    You need to be logged in to JIRA to vote.  (I don't remember if you can use your standard Adobe login on JIRA, or if you have to register separately.)
    But anyway, are you sure the issue is not fixed in the 10.2 release?  A comment near the bottom appears to indicate that the problem no longer occurs in 10.2.

  • T61 with memory leak on XP for driver battc.sys

    Hi
    I have an issue with XP where the battc.sys module that is part of Windows XP and responsible for the kernel side of monitoring the battery status. This module continually leaks memory until I have no more kernel paged resources left and programs start to fail on my laptop.
    I raised a support case for this with Microsoft and after some investigation and upgrading to the latest T61 power drivers that were released a few days ago on the Lenovo site, MS support told me it is a fault of the T61 and that I would need to disable Microsoft APCI support to stop this memory leak from occuring and to take the issue up with Lenovo.
    I have used the verifier tool to confirm that it is the Windows XP SP3 battc.sys memory module leaking.
    I am running the latest T61 drivers and fully patch with MS drivers on SP3.
    As MS have told me it is the fault of the T61 I am posting this issue here.
    Thanks
    Stephen

    It is memory available to the kernelwhich itself does not show under a process in task manager as far as I am aware (unles it is taken account as part of the system process).
    The best way to measure the available kernel memory space available is by using sysinternals procexp.
    You need to download procexp and also install the windows debugging tools from Microsoft. Then in procexp set the "Options > Configure Symbols : Debughlp.dll path" to the new debughlp.dll installed with your debu tools and set the symbols path to srv*c:\Symbols*http://msdl.microsoft.com/download/symbols
    Then you can choose in procexp "View > System Information" and see the used and total paged and non-paged kernel memory space.
    poolmon helps monitor all the symbols that are taking up this memory and verifier lets you drill down to the exact module and the changes in memory for a module that is occuring.
    Here are two really good links on it
    http://blogs.msdn.com/ntdebugging/archive/2006/12/18/Understanding-Pool-Consumption-and-Event-ID_3A0...
    http://blogs.msdn.com/ntdebugging/archive/2008/05/08/tracking-down-mmst-paged-pool-usage.aspx
    In my poolmon i notice that Mmst and battc are taking alot of memory after my computer has been running for some time. Mmst being high is normal but battc should not continually be growing as it is which is why I raised the case to MS but they want verification it is not a Lenovo issue.

  • Memory Leak with 4.5.1/Java/Solaris

    Hi,
    We are currently running a Java Application using RMI/Weblogic 4.5.1/Solaris 5.7/Java 1.22.
    Behavior that has been observered during the day is that memory usage reaches a stage in which it begins increasing and GC doesn't recover any memory, until the heap reaches an extremly large size, then recovers a significant amount of memory.
    We have even seen the java process grab more memory than specified in the -Xmx parameter and experience a java.lang.OutOfMemory error.
    I have seen postings that describe similar issues in this newsgroup, but none that define a solution.
    This problem is intermittent, and our application can run an entire day without experiencing this memory leak. On the other hand there are days when the memory leak occurrs even when the system is idle overnight.
    Please let me know any information you have gathered on this subject.
    Regards,
    Mark Evans

    try increasing your virtual memory on your NT system...
    "Parasher K. Joshi" <[email protected]> wrote:
    >
    Hi,
    I observed the same confusing stuff in my tests. But I run weblogic 4.5.1 on Windows NT with JDK 1.2.2-w
    Usually, I would get a "Low virtual memory" message from windows
    and if I click ok & shuffle thourgh my windows I would be ok.
    But since last 2 days, I would keep the server running overnight.
    When I return in morning,
    I would find a "Low virtual memory" message and
    on clicking OK. I would find another message tell me that java.exe (which was running weblogic) crashed!!
    Now today I tried to watch the memory usage in Task Manager. And I found the most wierd thing.
    I saw that even when the system was doing virtually nothing,
    except print a string at intervals, the memory usage would go
    up steadyly.
    Even doing a forced finalization and gc did not seem to stop it.
    BUT, BY CHANCE I HAPPEN TO MINIMISE AND MAXIMISE THE WEBLOGIC
    CONSOLE OUTPUT WINDOW.
    WHAT I SAW IN THE TASK MANAGER AMAZED ME!
    THE MEMORY USAGE IN TASK MANAGER HAD GONE DOWN TO 24XXKB, WHILE
    IT WAS ABOUT 20000K OR EVEN MORE.
    This seems to support the fact that during my test, I would
    get the "low virtual memory" message and if OKed it and shuffled
    though application windows (maybe minimise, maximise the weblogic
    console output window in process), I would be able to complete
    my application. But when the message appears during night runs,
    nothing is done and by morning, when I reach to work,
    I would see that weblogic had crashed!!
    You may try that and see if it helps you.
    Parasher
    Mark Evans <[email protected]> wrote:
    Hi,
    We are currently running a Java Application using RMI/Weblogic 4.5.1/Solaris 5.7/Java 1.22.
    Behavior that has been observered during the day is that memory usage reaches a stage in which it begins increasing and GC doesn't recover any memory, until the heap reaches an extremly large size, then recovers a significant amount of memory.
    We have even seen the java process grab more memory than specified in the -Xmx parameter and experience a java.lang.OutOfMemory error.
    I have seen postings that describe similar issues in this newsgroup, but none that define a solution.
    This problem is intermittent, and our application can run an entire day without experiencing this memory leak. On the other hand there are days when the memory leak occurrs even when the system is idle overnight.
    Please let me know any information you have gathered on this subject.
    Regards,
    Mark Evans

  • How to root out memory leak with  Java JNI & Native BDB 11g ?

    We are testing a web application using the 32-bit compiled native 11g version of BDB (with replication) under 32-bit IBM 1.5 JVM via JNI under 64-bit RedHat Linux. We are experiencing what appears to be a memory leak without a commensurate increase in Java heap size. Basically the process size continues to grow until the max 32-process size is reached (4Gb) and eventually stops running (no core). Java heap is set to 2Gb min/max. GCs are nominal, so the leak appears to be native and outside Java bytecode.
    We need to determine whether there is a memory leak in BDB, or the IBM JVM or simply a mis-use of BDB in the Java code. What tools/instrumentation/db statistic should be used to help get to root cause? Do you recommend using System Tap (with some particular text command script)? What DB stats should we capture to get to the bottom of this memory leak? What troubleshooting steps can you recommend?
    Thanks ahead of time.
    JE.
    Edited by: 787930 on Aug 12, 2010 5:42 PM

    That's troublesome... DB itself doesn't have stats that track VM in any useful way. I am not familiar with SystemTap but a quick look at it seems to imply that it's better for kernel monitoring than user space. It's pretty hard to get DB to leak significant amounts of memory. The reason is that it mostly uses shared memory carved from the environment. Also if you are neglecting to close or delete some object DB generally complains about it somewhere.
    I don't see how pmap would help if it's a heap leak but maybe I'm missing something.
    One way to rule DB out is to replace its internal memory allocation functions with your own that are instrumented to track how much VM has been allocated (and freed). This is very easy to do using the interfaces:
    db_env_set_func_malloc()
    db_env_set_func_free()
    These are global to your process and your functions will be used where DB would otherwise call malloc() and free(). How you get usage information out of the system is an exercise left to the reader :-) If it turns out DB is the culprit then there is more thinking to do to isolate the problem.
    Other ideas that can provide information if not actual smoking guns:
    -- accelerate reproduction of the problem by allocating nearly all of the VM to the JVM and the DB cache (or otherwise limit the allowable VM in your process)
    -- change the VM allocated to the JVM in various ways
    Regards,
    George

  • Memory leak in OracleDataReader with UDT in 11g

    Hi,
    Can someone confirm that the following code is leaking (hugely!):
    command = new OracleCommand("select c.polygon from spatial c", connection);
    reader = command.ExecuteReader();
    while (reader.Read())
    reader.Dispose();
    command.Dispose();
    where polygon is SDO_GEOMETRY.
    Memory consumption for this code in Task Manager is +100MB above "normal" and it does not drop after calling Dispose() methods. I've also noticed that this "leak" is proportional to FetchSize. GC.Collect also does not change anything.
    Is it a bug of 11g beta or am I missing something?

    I'm not sure what do you mean by ODAC 2007. I couldn't find anything useful on your website regarding "ODAC 2007". I'm using Oracle 11g ODAC 11.1.0.5.10 Beta and I'm particularly interested in SDO objects. Based on your code samples I created strongly-typed C# classes for SDO objects and everything works like a dream (apart from this memory leak). And the performance is just OUTSTANDING! Keep up the good work!
    BTW: Congratulations regarding ODP.NET API for binding UDT with C# classes. It's very intuitive and easy to use even if you want to create C# classes from the scratch, i.e. without any wizards. Did I mention performance? :-)
    Many thanks Kiminari for your reassurance: it means a lot to me since I can now keep working on my project without any worries (I need a stable version of ODP.NET with UDT before Q2 2008). I was thinking about using OLE DB but the performance was horrible due to marshalling, passing untyped objects, etc. But you've just saved the day, and for development purposes the leaking version is absolutely fine.
    Just small questions: when can we expect "ODAC 2007" or at least another beta? More less? Any estimations?

  • Tomcat finalizer memory leak ???

    I have was profiling my application using yourkit profiler. The statisxtics are stange and I need help to understand them.
    Here is the scenario:
    1) started Tomcat @ 1:00 profiling using yourkit profiler - only 1 context, our application. I set the profiler to take a heap snapshot on 90% of heap usage. I set the heap to 64Megs because I knew there would be only 2 users on it, and I wanted to get to a point of OOME faster
    2) took a snapshot before anyone logged in, and after Tomcat booted up
    3) took a few other snapshots in the first hour of usage while 2 people using system
    4) everyone left ~ 5:00pm and logged out of our system. The only thing running was Tomcat
    5) @ ~ 2:00am the next morning, a snapshot was taken because 90% of the heap was in use (???)
    6) the next morning, all the heap was used and Tomcat would only respond with OOME - java.lang.heap out of memory error
    I compared the last heap snapshot I took during step 3 above and the low memory snapshot and found that 73% of memory was being held by
    java.lang.ref.Finalizer. WHAT THE HECK IS THAT? I have looked all over the web and have found no information on what it is or what it does?
    The closest I have come to any information is articles about java finalizers vs. destructors, and what java.lang.Object.Finalize method. I also saw a reference to the java.lang.ref.Finalizer api, but there are no javadocs describing its functinoliaty. My questions are:
    1) How are Finalizer and java.lang.Object.Finalize related - or are they? what is java.lang.ref.Finalizer and what do they do?
    2) WHY would I have over 200000 Finalizer objects occupying 73% of the heap at step 5 (see above), when in my final snapshot of step 3 I had 0???
    3) we are also using org.apache.commons.dbcp and the sql server JTDS driver for our db connection pool in the following manner. Does anyone know if there is a problem with this?
    DriverAdapterCPDS cpds = new DriverAdapterCPDS();
    try
    cpds.setUrl( databaseURL );
    cpds.setUser( user );
    cpds.setPassword( password );
    cpds.setDriver( databaseDriver );
    SharedPoolDataSource tds = new SharedPoolDataSource();
    tds.setConnectionPoolDataSource( cpds );
    tds.setMaxActive( iMaxActive ); // Connection pool Size
    tds.setMaxWait( iMaxWait ); // Max connection wait time (in miliseconds)
    ds = tds;
    catch( Exception e )
    e.printStackTrace();
    I will be repeating this test today, but will take heap snapshots on an hourly interval - HOPEFULLY, I can find what is going on
    Is there any one out there who can help us find this memory leak? Fee for Service could be acceptable?
    John McClain
    Senior Software Engineer
    TCS Healthcare
    [email protected]
    (530)886-1700x235
    "Skepticism is the first step toward truth"

    I did find some information on sourceforge about jTDS having memory issues with PreparedStatements (v1.2) or queries using scrollable cursors (v1.1). The scrollable cursor issue seems to be the closes match to your problem so if you are using version 1.1 you may want to move up to version 1.2. Also check your SQL statements to see if you are using scrollable cursors and if they can be changed to read only.

  • Memory leaks during child window close

    Hi All,
       We have a tool that generates code for WPF application. In one of the applications WPF main window displays a child window in the form of a tab. The main window here can hold multiple child windows. I did a small test. I opened main window and
    took memory snapshot with the help of .Net memory profiler. Opened child window and closed it immediately. I took snapshot again and compared with the previous one. To my surprise , many new objects/collections have been active in the heap and due to this
    memory consumption got increased almost exponentially.  If I open and close more and more child windows then memory consumption is keep on increasing.
    During child window close , I am performing all the clean up like clearing all collections , hashmaps etc. As per the suggestions mentioned in forums , I am taking care of cleaning up all the members data like DispatcherTimer , unregistering event handlers
    etc. But still memory is not being freed up even after closing the child window. As per the profiler output most of the memory has been occupied by Hashtable , Hastable.bucket[]. Profiler even reported few pinned instances as well but it looks everything is
    evident from framework API not from my code. I could see styles, controltemplates , System resources etc as active and reachable objects.
    I am just wondering am I getting affected by framework flaws or could there be anything I can do in my source to get rid of this memory leak. Request your comment and appreciate your help on this.
    Thanks,
    Brahmaji.

    Hi ,
     Thanks for the response. Basically I first opened parent panel which is of type Window. It included menu , toolbar etc. For menu/toolbar events it opens child windows which gets displayed in main window in the form of tabs. This is my use case.
    I tried the suggested profiler Redgate Ants profiler. Its very good and informative! I ran the profiler
    got the following output. Though I closed the child window it seems objects are still there in memory . No where I left out string , byte array objects in my code.
    Not sure why Runtimemethodinfo , hastable bucket are there in memory. I even tried the workaround mentioned at here.
    I thought panel resources might have not been freed up and in my code I am clearing them as well. Still did not see much improvement. Any additional things do I need to check? Please let me know.
    Thanks,
    Brahmaji.

  • IOS - Strange memory leak using ABPeoplePickerNavigationController

    Hi there!.
    I 've read other posts regarding this problem but I wasn't capable of guessing what's going on with this memory leak.
    To keep it simple, let's say I have an IBAction which triggers once the user has pressed a button. The code is as follows:
    - (IBAction) showBorrowersPicker:(id)sender{
    ABPeoplePickerNavigationController *picker =
    [[ABPeoplePickerNavigationController alloc] init];
    picker.peoplePickerDelegate = self;
    [self presentModalViewController:picker animated:YES];
    [picker release];
    The code works fine but it leaks a small quantity of memory and I can't understand why. I think it's a problem with the ABPeoplePickerNavigationController because if I comment the line "self presentModalViewController.picker animated:YES" it obviously doesn't present the modal view with the AB's contacts but the app continues leaking memory.
    I've read it might be a reported bug but the post where I've read it is from 2009 or so. I don't know if the bug persists of, more likely, I'm doing something wrong but I don't know what. I'm releasing the picker instance so I don't know why is it leaking memory.
    Running Instruments I get the following info:
    Leaked Object: ABStyleProvider
    Address: 0x19f810
    Size: 16 Bytes
    Responsible Library: AddressBookUI
    Responsible Frame: +[ABStyleProvider
    Any help would be much appreciated!

    Hi George,
    thank you very much!. I've tried it and seems to work perfectly. No memory leaks at all!. A couple of weeks ago I was working with Apple's QuickContacts source code and it had the same problem with this strange memory leak so I think it's really weird since I can't believe that Apple's engineers would commit such an error... but who knows!
    Thank you very much for your help! :-D

  • Fixing Memory Leaks in AIR App?

    Hi Friends,
    I'm been facing this memory leaks issue in our app and this has taken enough of our time and resources and we are not being able to find a solution for it.
    I have identified the problem in the module where we primarily need memory related fixes which is - We are setting Repeater's recycleChildren() property to true/false based upon certain conditions which we cant change. Now when this property is set to false Repeater is supposed to be removing its last created objects from memory and creating fresh ones. In our case repeater is unable to delete those. When I managed to get their instances (using createdChildren()) and freed them in code I called System.gc() for releasing the memory back to OS. Now what is happening is that this approach works fine when I run the app from code but when I create its installer (from Installsheild) and formally out in on machines it does not work. I came to know the reason from following blogs:
    http://jvalentino.blogspot.com/2009/05/flex-memory-issue-3-garbage-collection.html
    http://gskinner.com/blog/archives/2006/06/as3_resource_ma.html
    http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/system/System.htm l#gc()
    http://stackoverflow.com/questions/192373/force-garbage-collection-in-as3
    http://gskinner.com/blog/archives/2006/08/as3_resource_ma_2.html
    Guys, can anyone of you suggest what should I do here? This has become a delivery bottleneck and we need to give a fix where the memroy is released periodically and efficiently so that the end user's system does not hang.
    Please help.
    Shubhra

    Are you sure it doesn't ? Maybe flash does release memory but the OS leaves it assigned as described in the below comment from http://www.mikechambers.com/blog/2008/08/06/what-are-your-biggest-issues-with-adobe-air/co mment-page-3/#comment-26330
    "I just finished doing more experiments, I looks like the AIR app  does free the memory, but the OS leaves it assignned to the app process,  until other apps requiere that memory. So, looks like it is a natural  behaviour and the memory leak is not as terrible as I thougth."

  • Can Java program cause memory leak?

    Can Java program cause memory leak or memory crash? I don't mean any memory overflow related exceptions. I mean something like core dump in UNIX or error reports in Windows XP.
    If it can really happen, in what circumstances? I raise such a question because our J2EE based system had really caused memory leak in Windows XP systems, but so far we still fail to troubleshoot the problem.

    Your code may leak memory. There are many, many, many reasons this could be. All of them represent bugs in your code.
    You should get a profiler to identify the problem spots of your code.
    You spoke of a memory crash as well. The VM may crash with some bug in the VM, or a bug in native code but that is not relevent to your problem. A memory leak is a problem in your code.

  • 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 leak with t3 jmx connection

    Hello all,
    I've created a monitoring plugin for WebLogic 9.x / 10.x servers which polls a target server at regular interval. Each time the plugin needs the performance data, it creates a new JMXConnector and get the associated MBeanServerConnection. Everything works fine, but after a significant number of requests, the client process runs out of memory. When analayzing the client heapdump, I can see there is a lot of instances of the following classes:
    weblogic.corba.client.security.ClientSecurityContext
    javax.security.auth.Subject
    All these instances are retained in a unique HashMap. It doesn't look like there is a problem in my code as all the objects I'm creating are well garbage collected (no JMXConnector or MBeanServerConnection instances).
    I've tried almost everything to get rid off this issue (using t3, using iiop, changing the parameters used to create the connector), I tried to set the jmx.remote.x.client.connection.check.period to 0 but nothing changes. The current workaround is to cache the JMXConnector instances for each server, but this is not fully satisfying (connection loss if target server restarts, etc...).
    Did someone experiment the same kind of issue ? I provide below a code snippet of the connection factory I'm using (I put both wljmxclient.jar and wlclient.jar in the client classpath):
    private static final String JNDI_NAME = "/jndi/weblogic.management.mbeanservers.runtime";
    public static MBeanServerConnection getInstance(Map<String,String> params) {
         Map<String,String> map = new HashMap<String,String>();
         JMXServiceURL url = null;
         JMXConnector connector = null;
         MBeanServerConnection connection = null;       
         map.put(JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES, "weblogic.management.remote");
         map.put("java.naming.security.principal", params.get("username"));
         map.put("java.naming.security.credentials", params.get("password"));
         try {
              url = new JMXServiceURL("service:jmx:t3://" + params.get("hostname") + ":" + params.get("port") + JNDI_NAME);
              connector = JMXConnectorFactory.connect(url, map);
              connection = connector.getMBeanServerConnection();
         } catch (Exception e) {
              throw new RuntimeException("Unable to get MBeanServerConnection for JMXServiceURL " + url.toString());
         return connection;
    }Thanks for helping.
    Yann

    Hello KK, thanks for your answer.
    I also thought to the cache possibility, but it's not as straightforward to manage (target server restart, keepalive, etc...). A call to connector.close() does not change anything, the objects I'm creating are well garbage collected. The only solution I've found to get rid of this memory leak is to perform an anonymous iiop lookup, i.e. creating first a iiop user (group Monitors), set default iiop user and password for each target server, and changing the factory code to:
    private static final String JNDI_NAME = "/weblogic.management.mbeanservers.runtime";
    public static MBeanServerConnection getInstance(Map<String,String> params) {
         Map<String,String> map = new HashMap<String,String>();
         JMXServiceURL url = null;
         JMXConnector connector = null;
         MBeanServerConnection connection = null;
         map.put("jmx.remote.x.client.connection.check.period", "0");
         try {
              url = new JMXServiceURL("service:jmx:rmi:///jndi/iiop://" + params.get("hostname") + ":" + params.get("port") + JNDI_NAME);
              connector = JMXConnectorFactory.connect(url, map);
              connection = connector.getMBeanServerConnection();
         } catch (Exception e) {
              throw new RuntimeException("Unable to get MBeanServerConnection for JMXServiceURL " + url.toString());
         return connection;
    }I don't like this solution as this implies to change the target server configuration plus it has an impact on security.

Maybe you are looking for

  • [Solved] errors with keys after pacman update?

    Hi, I installed pacman 4.0.1-4, but now this is what happens when I try and update. Proceed with installation? [Y/n] Y (28/28) checking package integrity [######################] 100% error: binutils-multilib: signature from "Jan Alexander Steffens (

  • DSO Request Activation

    Hi All: When trying to activate a successfully loaded request in an ODS, the job cancels. When I check the Job Logs, it mentions error "SAPSQL_EMPTY_TABNAME", Exception "CX_SY_DYNAMIC_OSQL_SYNTAX". Short Text "A dynamically specified FROM clause has

  • What is the type of backup file when using ovi sui...

    Hi there.... Where is the backup file usually stored when using ovi suite?? what is the type of the file when i want to search in windows viasta??? THANK YOU Solved! Go to Solution.

  • Having problem with storing data in array

    Hi, I'm having problem on storing data in array. My problem is that each time it loops, the array just keep overwrite instead save to the next index. Like at 0 the value is 123, and 1 is 234. But i having that all data capture all overwrite at 0 till

  • OCI Direct Path Using Shared Connections?

    Hello there. A co-worker and I are working on developing a system using direct path. I designed it to follow the very basic direct path approach, and he suggested I try and share the database connection. I then wrote a class for sharing the connectio