BIG memory leak in develop module 3.2RC

I've been getting "unknown error occurred" crashes ever since I upgraded to LR3.  Today I'm doing (supposedly) a rush job and getting crashes after processing every 5 or 6 images.  So I've done some investigation.
Here's the set up. 
Win XP SP3.  4Gb memory installed (yes, I know XP can't address all of it)  /3Gb option NOT set.
Intel Core2 Quad CPU, 2.4GHz
Lightroom 3.2RC.
Windows Task Manager open on the processes tab
Lightroom is the ONLY significant application running on the PC (yes there is AV, and a host of other bits in the right side of the task bar, such as printer monitors etc, but task manager shows that only Lightroom uses any significant CPU cycles and memory used by other processes is fairly minimal.
Folder of 296 images selected, filtered to only show the flagged images (99 of them)
Here's the memory used BY LIGHTROOM as reported by Windows Task Manager....  (Memory figures were after CPU usage from lightroom had dropped to zero and the memory figure had become steady)
Open Lightroom         455,816K
Incr Brightness        457,988K
Next Image             620,796K
Incr Fill,Bright,Exp   647,768K
Next Image             814,968K
Incr Fill,Bright       828,112K
Set rating             490,328K  (See Note)
Next Image             646,952K
Incr Bright            664,564K
Next Image             848,140K
Incr Bright,Blacks     854,784K
Next Image           1,003,988K
Incr Bright,Exp      1,005,800K
Next Image           1,166,936K
Incr Fill,Bright     1,153,431K
Next Image           1,286,465K
short pause... "An Unknown Error Occurred"
Memory drops back to 1,171,380K
Repeat after reboot of PC
Open Lightroom         455,592K
Incr Fill              475,124K
Next Image             640,126K briefly then 446,704K  (See Note)
Incr Fill,WB           467,632K
Next Image             632,144K
Incr Fill,Bright,WB    654,412K
Next Image             814,136K
Incr Bright,Fill,WB    839,540K
Next Image           1,000,780K
Incr Bright,Fill,WB  1,006,766K
Next Image           1,165,644K
Incr Fill,WB         1,169,664K
Next Image           1,287,056K
short pause... "An Unknown Error Occurred"
Memory drops back to 1,169,376K
I've done this many times and watched the same pattern each time (I've only noted the figures down twice as shown above).  It is noticable that the memory 'loss' appears to happen at the point when I move from one image to the next.  The memory lost each time is consistently around 180,000K.
NOTE: Once on each of the runs when I was recording the memory useage I did see memory released.  The first time was in response to setting a rating for the image.  This is the ONLY time I have seen that happen at the same time as setting a rating and I'm inclined to think it a co-incidence.  On the second run above the memory was release after moving to the next image on one occasion.  I have not found any patter to when the occasional release of memory occurs.
What is very consistent is that whenever the memory used by lightroom goes over 1,200,000K.  The program displays the "Unknown Error Occurred" message and the program either hangs or becomes so unresponsive that the only option is to shut down lightroom and restart. 
Ian.  :-(

Hi,
I can confirm this problem on a windows 7, 64 bit system. With 4GB of memory LR stays usuable for while, with 2GB problems start very quickly.
Apart from that the RC is very good and integrates the much needed SONY NEX support.
Regards

Similar Messages

  • [SOLVED] Big Memory Leak with Pacman - Xterm - Openbox

    Hi Everyone,
    I Don't know if this is the place to post this, and if not please correct me.
    I've installed Arch Linux in a virtual machine HDD using VirtualBox on Linux Mint. Then I made a simple install with openbox and slim just to make some testes before putting the all thing in my laptop.
    So after installing slim and openbox, i've checked free -m and he noticed me that the system was using 80mb of ram (really cool ^^). Then I start installing some apps just for test.
    I start installing libreoffice like this "sudo pacman -S libreoffice", in a xterm terminal and on another xterm terminal I had the fallowing command running "watch free -m" just to see the ram usage evolution...
    And then, during downloading/instalations, things became wierd... during download the ram usage start to grow up to 120mb and during instalation the ram usage start's growing more and more, to finish at 770mb !
    I doesn't make any sense ! But I don't really know if this is a pacman, openbox or xterm problem :S...
    Can someone give me any information about that ?
    Thanks in advance !
    PS : after a "sudo pacman -Scc" the ram drop at 633mb...
    Luis Da Costa
    Last edited by aliasbody (2011-07-07 18:33:56)

    Leonid.I wrote:
    aliasbody wrote:
    I'm sorry, I'm not making myself clear - my problem isn't the usage of Swap itself. I know that when RAM reaches its maximum, it uses Swap. I know that. And that's not what I'm "complaining" about.
    Problem is - why does updating via pacman uses so much allocated RAM? I think there's a memory leak in here somewhere and that's what I was aiming at - I'm basically asking if it's just me or if this has happened to someone else and if it's really a problem or it has a simple explanation....
    Well, pacman's memory usage depends on a particular package in question. Installing TexLive, for instance, takes a tremendous amount of RAM/swap compared to netcfg. Pacman does not simply copy files, but also executes scripts.
    It is not true that swap is used when the RAM is full. The kernel decides which data in RAM is relevant and the irrelevant data goes to swap, even if you have 300mb of RAM still available. /proc/sys/vm/swappiness controls this logic.
    In your atom netbook you have only 3mb in swap... this can not be the cause of a slowdown.
    Thank you for your answer this make me understand more about the all thing ^^
    I was just scared about a possibile memory leak, I didn't know that pacman.
    Thanks in advance for all, I will marked it as Solved then !

  • Getting rid of  JFrame (big memory leak)

    Hi,
    I have an app that has a main frame with a button. When you press the button another JFrame is created. When you close this JFrame it is not garbage collected becauses references to it are held by some swing internals and also, it appears, by all listeners that have been registered. Is there any way of getting rid of these references so I can recover the memory? This is causing a huge memory leak and the app eventually dies......
    Thanks
    Simon

    Don't know if you are using kunststoff laf and a 1.4 jvm, but kunststoff has a mem leak when using toolbars.
    I sent a mail in August 2002 to them, but it seems no bugfix release is coming out.
    Copy of the relevant part of the mail:
    While looking for a memory leak (JFrames not being garbage collected), I noticed a bug in the kunststoff 2.0.1 laf:
    The KunststoffToolBarUI class is a singleton, but the base MetalToolBarUI class is not (at least in jdk 1.4, I haven't looked at earlier versions).
    The MetalToolBarUI has several hashtables containing ui components, and the static reference in KunststoffToolBarUI is preventing the components in this hashtables from being garbage collected.
    After changing KunststoffToolBarUI.createUi to always return a new instance of KunststoffToolBarUI the memory leak disappears and the JFrame's are garbage collected.

  • Big memory leak in Snow Leopard?  Active memory out of control!

    I just restarted my computer about 40 minutes ago to solve this problem once and my active memory is already out of control.  Activity monitor says there's over 5.2 GB of active memory, but looking at the process list there's not nearly that much.  I'll add a link to a screenshot of my activity monitor.  I have run absolutely nothing that is not in the list currently.  Any idea what's going on?
    http://i.imgur.com/DGUcf.png

    Well, thanks for your concern, but I won't miss you if you don't post another reply.
    I did some watching and I have a little more info.  I kept activity monitor open and kept an eye on it after another reboot.  The apps I had open were: FCP, Compressor, Safari (open to gmail in the background and this thread in another tab), and iTunes.  Nothing else.
    At some point, without me doing anything specific to prompt it, the active memory (yellow) jumped from ~1.3GB all the way up to ~5.5 in the span of about 5 or 6 seconds.  When I say I didn't do anything, I mean I happened to be doing something on my phone when I noticed it.  I suspect it has something to do with Safari, but even when I shut every program down, the active memory stays at around 5-5.5 GB.  The only thing I can do to get it down is to reboot.

  • Memory leak in query preparation in dbxml-2.3.10

    Hi,
    We are using dbxml-2.3.10 in our production. I have ran valgrind and see big memory leaks under two categories:
    Definetly lost:
    The complete stack trace is as below:
    ==25482== 13,932 bytes in 129 blocks are definitely lost in loss record 32 of 35
    2547 ==25482== at 0x4004790: operator new(unsigned) (vg_replace_malloc.c:164)
    2548 ==25482== by 0x4144131: XQSort::SortSpec::staticResolution(StaticContext*, StaticResolutionContext&) (in /usr/netscreen/GuiSvr/utils /dbxml-2.3.10/lib/libxqilla.so.1.0.0)
    2549 ==25482== by 0x4144BEC: XQSort::staticResolution(StaticContext*, StaticResolutionContext&) (in /usr/netscreen/GuiSvr/utils/dbxml-2.3 .10/lib/libxqilla.so.1.0.0)
    2550 ==25482== by 0x4145A2A: XQFLWOR::staticResolutionImpl(StaticContext*) (in /usr/netscreen/GuiSvr/utils/dbxml-2.3.10/lib/libxqilla.so. 1.0.0)
    2551 ==25482== by 0x4146018: XQFLWOR::staticResolution(StaticContext*) (in /usr/netscreen/GuiSvr/utils/dbxml-2.3.10/lib/libxqilla.so.1.0. 0)
    2552 ==25482== by 0x41780CC: XQQuery::staticResolution(StaticContext*) (in /usr/netscreen/GuiSvr/utils/dbxml-2.3.10/lib/libxqilla.so.1.0. 0)
    2553 ==25482== by 0x4563D6E: DbXml::StaticResolver::optimize(XQQuery*) (Optimizer.cpp:64)
    2554 ==25482== by 0x4563C42: DbXml::Optimizer::startOptimize(XQQuery*) (Optimizer.cpp:42)
    2555 ==25482== by 0x4563C5B: DbXml::Optimizer::startOptimize(XQQuery*) (Optimizer.cpp:39)
    2556 ==25482== by 0x4563C5B: DbXml::Optimizer::startOptimize(XQQuery*) (Optimizer.cpp:39)
    2557 ==25482== by 0x4563C5B: DbXml::Optimizer::startOptimize(XQQuery*) (Optimizer.cpp:39)
    2558 ==25482== by 0x4563C5B: DbXml::Optimizer::startOptimize(XQQuery*) (Optimizer.cpp:39)
    2559 ==25482== by 0x4563C5B: DbXml::Optimizer::startOptimize(XQQuery*) (Optimizer.cpp:39)
    2560 ==25482== by 0x4563C5B: DbXml::Optimizer::startOptimize(XQQuery*) (Optimizer.cpp:39)
    2561 ==25482== by 0x4563C5B: DbXml::Optimizer::startOptimize(XQQuery*) (Optimizer.cpp:39)
    2562 ==25482== by 0x4563C5B: DbXml::Optimizer::startOptimize(XQQuery*) (Optimizer.cpp:39)
    2563 ==25482== by 0x4563C5B: DbXml::Optimizer::startOptimize(XQQuery*) (Optimizer.cpp:39)
    2564 ==25482== by 0x4446CE9: DbXml::QueryExpression::QueryExpression(std::string const&, DbXml::XmlQueryContext&, DbXml::Transaction*) (S copedPtr.hpp:41)
    2565 ==25482== by 0x44A3F63: DbXml::XmlManager::prepare(std::string const&, DbXml::XmlQueryContext&) (XmlManager.cpp:601)
    2566 ==25482== by 0x82B3152: XQuery::prepare(unsigned, unsigned short, char const*, char const*, char const*, char const*, char const*, R efCountedAutoPtr<XdbQueryContext>, unsigned) (XQuery.cpp:152)
    We see another huge leak in possiibly lost category:
    371,895 bytes in 121 blocks are possibly lost in loss record 33 of 35
    2570 ==25482== at 0x4004405: malloc (vg_replace_malloc.c:149)
    2571 ==25482== by 0x818C330: malloc (guiDaemon.c:783)
    2572 ==25482== by 0x44A5B0C: DbXml::SimpleMemoryManager::allocate(unsigned) (Globals.cpp:67)
    2573 ==25482== by 0x497CCFC: xercesc_2_7::XMemory::operator new(unsigned, xercesc_2_7::MemoryManager*) (in /usr/netscreen/GuiSvr/utils/db xml-2.3.10/lib/libxerces-c.so.27.0)
    2574 ==25482== by 0x48D681A: xercesc_2_7::XMLPlatformUtils::makeMutex(xercesc_2_7::MemoryManager*) (in /usr/netscreen/GuiSvr/utils/dbxml- 2.3.10/lib/libxerces-c.so.27.0)
    2575 ==25482== by 0x44A61B6: DbXml::Globals::initialize(DbEnv*) (Globals.cpp:78)
    2576 ==25482== by 0x44A766C: DbXml::Manager::initialize(DbEnv*) (Manager.cpp:167)
    2577 ==25482== by 0x44A8CBB: DbXml::Manager::Manager(DbEnv*, unsigned) (Manager.cpp:98)
    2578 ==25482== by 0x44A2EAD: DbXml::XmlManager::XmlManager(DbEnv*, unsigned) (XmlManager.cpp:58)
    2579 ==25482== by 0x83398EA: XdbImpl::initDb(bool, int) (XdbImpl.cpp:478)
    2580 ==25482== by 0x8337407: XdbImpl::start(char const*, int) (XdbImpl.cpp:159)
    2581 ==25482== by 0x8321123: Xdb::start(char const*, int) (Xdb.cpp:56)
    Are these leaks addressed in some 2.3.10 patch? Please suggest way to solve the same.
    PS : We are trying to upgrade to 2.5.16 but there are certain issues already reported in another thread due to which we are not able to migrate.

    Have you tried turning on diagnostic logging in BDBXML and trying to parse the output? The library gives out some pretty detailed output. It might be helpful to see what the query optimizer is trying to do, as well as see what the XQuery looks like that you're running, to see if we can either pinpoint the bug or find a suitable workaround that doesn't trigger the memory leak.

  • Memory Leak when running Contacts

    I am having a big memory leak when running the app Contacts on a MB Air. It gobbles up 2 GB of ram in just a few minutes forcing a reboot. I have re-installed Mountain Lion 10.8.2 and it still leaks memory. Watching Activity Monitor shows the rapid increase in Ram being gobbled up by Contacts. Used Mackeeper to clear cache as well as ran Cocktail, all to no avail. Any tips would be greatly appreciated.

    The size of oracle.exe is not an indication of how the Java VM GC works; so you are not comparing apples to apples. It'll be too long to explain here but in my upcoming book (see hereafter), I gave a detailled explanation of the various memory areas the Java VM uses and how these are GCed and also how you can meausre their size (not all, though).
    In short you want to use OracleRuntime methods such as
    OracleRuntime.getSessionSize(); --> get he current size of Sessionspace
    OracleRuntime.getNewspaceSize(); --> get he current size of Newspace
    there are other memory areas described in the book
    http://www.oracle.com/technology/pub/articles/mensah_dws.html
    http://www.elsevier.com/wps/find/bookdescription.cws_home/706089/description#description
    Sample chapter: http://www.oracle.com/technology/books/pdfs/mensah_ch1.pdf
    Kuassi

  • Memory leak hunting

    I have a bug in my app that is causing a memory leak, and I'd appreciate it if someone here with experience in this kind of thing could give me a few pointers. I am using IBM's heapAnalyzer and also jhat.
    Based on what these 2 tools are telling me, I seem to have 2 big memory leak issues:
    1. I have a class that extends Panel, and it is creating a small memory leak. This particular class sits in a container in a container (and so on) and whose top level parent container is a Frame. If I set the parent Frame to null, does that propagate down the food chain to all of the child containers? Or do I need to create some kind of propagating method to set everything in those objects to null? I could use some kind of Decorator on each container something like resetContainer() or something, but would that do it?
    2. (this one seems to be much bigger) Both jhat and HeapAnalyzer both tell me I have quite a large number of java.lang.ref.Finalizer objects sitting in the stack. I can't even find a java.lang.ref.Finalizer in the javadoc! What is this thing?

    http://www.javaperformancetuning.com/tools/jprofiler/index.shtml
    That link says that your #2 question is due to weak references, likely due to swing.text (I'm not vouching for the software, just saying that the link mentions that library).

  • SQL Developer - 1.5.5.59.69 - XP - Memory Leak

    I am running SQL Developer 1.5.5.59.69 in XP and I am having an issue with what seems to be a memory leak. I left SQL Developer running over night, and when I looked at the task manager, the memory usage was really high, and each time task manager refreshed, the memory usage was going up by a few KB.
    Is this issue known by the development team?
    Kurz

    Yes, and has been happening since day 1, for almost anyone trying the same.
    No idea is dev is planning to fix this. Only way to have it tracked is logging a SR through Metalink/MOS.
    Regards,
    K.

  • 2008 R2 - Memory Leak from svchost.exe - Module "rpcrt4" is the culprit

    Hi All
    Over the past week or so (after a set of Windows updates and restart) svchost.exe has increasingly used more and more memory. It probably gobbles up an extra 1GB per day and doesn't relent. 
    After running various diagnostics, the debug diagnostic tool finally provided me this information after a memory leak test:
    rpcrt4.dll is responsible for 1.76 GBytes worth of outstanding allocations. The following are the top 2 memory consuming functions:
    rpcrt4!AllocWrapper+2b: 1.76 GBytes worth of outstanding allocations.
    rpcrt4!Ndr64ClientInitialize+964: 1.36 MBytes worth of outstanding allocations.
    Detailed module report(Memory)
    Module details for rpcrt4
    Module Name   rpcrt4 
    Allocation Count   946941 allocation(s) 
    Allocation Size   1.76 GBytes 
    Module Information 
    Image Name: C:\Windows\System32\rpcrt4.dll   Symbol Type:  PDB 
    Base address: 0x00000003`00905a4d   Time Stamp:  Sat Nov 20 13:13:18 2010  
    Checksum: 0x00000000`00000000   Comments:   
    COM DLL: True   Company Name:  Microsoft Corporation 
    ISAPIExtension: False   File Description:  Remote Procedure Call Runtime 
    ISAPIFilter: False   File Version:  6.1.7601.17514 (win7sp1_rtm.101119-1850) 
    Managed DLL: False   Internal Name:  rpcrt4.dll 
    VB DLL: False   Legal Copyright:  © Microsoft Corporation. All rights reserved. 
    Loaded Image Name:  rpcrt4.dll   Legal Trademarks:   
    Mapped Image Name:     Original filename:  rpcrt4.dll 
    Module name:  rpcrt4   Private Build:   
    Single Threaded:  False   Product Name:  Microsoft® Windows® Operating System 
    Module Size:  1.18 MBytes   Product Version:  6.1.7601.17514 
    Symbol File Name:  c:\symcache\rpcrt4.pdb\7D748DA6D7454C9EA38C8CEF1C9E75F22\rpcrt4.pdb   Special Build:  & 
    rpcrt4!AllocWrapper+2b  has 944,468 allocations! 
    I'm running 2008 R2 64bit with anywhere up to 80/100 simultaneous RDP connections at any one time.
    Can anyone help or advise as I cannot find any hotfixes for this issue.
    Thanks
    Ryan

    Hi Ryan,
    Please narrow it down to the specific service that is having the issue.  That way you will know where to focus on.
    For the specific svchost.exe that is showing the large memory usage, use task manager/process explorer/etc. to determine which service(s) are running within it.  If there are multiple services running within it, I recommend you isolate them and then
    restart your server.  For example, say you determined that the following services are running in the "problem" svchost.exe: AudioEndpointBuilder, Netman, TrkWks, UmRdpService, Uxsms.  You would open an admin command prompt and enter the following
    commands:
    sc config AudioEndpointBuilder type= own
    sc config Netman type= own
    sc config TrkWks type= own
    sc config UmRdpService type= own
    sc config Uxsms type= own
    After entering the above commands you would restart your server for the changes to take effect.  Over time you would monitor memory usage of the suspect services, and eventually it will become apparent which one is using too much memory.
    Thanks.
    -TP

  • Memory Leak..Big Time

    I've recently purchaced El Gato's EyeTV HDHomeRun & associated software to record and then export content to AppleTV2. The system can record 2 shows simultaneously and also automatically export to iTunes for streaming to AppleTV. That's where the fun begins. The recording works just fine but when the export to iTunes process begins, memory leaks, no gushes out of my system, turning my 12GB of Ram to 12MB within an hour. Paging begins, finally leading up to a Kernel Panic and shutting down my system (lost recordings).  A system restart will clear out the RAM but starting the export process agin will just wipe out all of my memory again. I've also tried repairing permissions (with SL software install disk) but the problem will persist days following. I've also purchased and installed new RAM from OWC, so I know that's not it and even reinstalled EyeTV software after contacting their Tech Support. No other software applications are runnning. Can anyone shed light on what is going on here? I'm thinking about a fresh install of 10.6.8 or going to Lion but don't know if this will even make any difference. Please HELP!

    It is entirely possible that Elgato's software writes to the memory controller in such a way that if the memory is marginal in certain bits of the board, that it would panic.     The fact the issue remanifests itself under new RAM may even indicate the problem is not the RAM, but the RAM controller itself!   An old piece of code I know from "C" programming days, malloc is the memory allocation code word.      They should be digging in the malloc codes making sure they aren't asking for points in memory they don't know exist, or create some debug routines around every malloc piece of code until it trips on your machine.

  • Screen Flicker When Using Slide Bars in Develop Module

    Image below shows 6 core usage during edit of an image using LR 4.2RC. Image import was running in the background.  This only occurs when I use the develop module sliders (it doesn't matter which slider). 

    At this point, I think I will have to go back to LR 3.x.  Lightroom 4 is so unstable that I cannot get it to work.  I constantly get not responding messages and screen flickering in the develop module.
    I have done everything I can find and nothing seems to work.  It is either an incompatibility with the AMD video drivers (best guess) or there is something seriously wrong with the code (second guess), however LR 3.2 does not have this issue.
    Lightroom version: 4.2 RC [844780]
    Operating system: Windows 7 Home Premium Edition
    Version: 6.1 [7601]
    Application architecture: x64
    System architecture: x64
    Physical processor count: 6
    Processor speed: 2.8 GHz
    Built-in memory: 16381.5 MB
    Real memory available to Lightroom: 16381.5 MB
    Real memory used by Lightroom: 603.5 MB (3.6%)
    Virtual memory used by Lightroom: 621.6 MB
    Memory cache size: 191.8 MB
    System DPI setting: 96 DPI
    Desktop composition enabled: Yes
    Displays: 1) 1920x1080, 2) 1280x1024

  • Memory leak using GWT 1.4 and JDK 1.5

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

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

  • How can I avoid memory leak problem ?

    I use Jdev 10.1.2 . I have a memory leak problem with ADF .
    My application is very large . We have at least 30 application module , each application module contain many view object
    and I have to support a lot of concurrent users .
    as I know ADF stored data of view object in http session .
    and http session live is quite long . when I use application for a while It raise Ouf of Memory error .
    I am new for ADF.
    I try to use clearCache() on view object when I don't use it any more .
    and call resetState() when I don't use Application Module any more
    I don't know much about behavior of clearCache() and resetState() .
    I am not sure that It can avoid memory leak or not .
    Do you have suggestion to avoid this problem ?

    ADF does not store data in the HTTP session.
    See Chapter 28 "Application Module State Management" in the ADF Developer's Guide for Forms/4GL Developers on the ADF Learning Center at http://download-uk.oracle.com/docs/html/B25947_01/toc.htm for more information.
    See Chapter 29 "Understanding Application Module Pooling" to learn how you can tune the pooling parameters to control how many modules are used and how many modules "hang around" for what periods of time.

  • Help needed: Memory leak causing system crashing...

    Hello guys,
    As helped and suggested by Ben and Guenter, I am opening a new post in order to get help from more people here. A little background first...  
    We are doing LabView DAQ using a cDAQ9714 module (with AI card 9203 and AO card 9265) at a customer site. We run the excutable on a NI PC (PPC-2115) and had a couples of times (3 so far) that the PC just gone freeze (which is back to normal after a rebooting). After monitor the code running on my own PC for 2 days, I noticed there is a memory leak (memory usage increased 6% after one day run). Now the question is, where the leak is??? 
    As a newbee in LabView, I tried to figure it out by myself, but not very sucessful so far. So I think it's probably better to post my code here so you experts can help me with some suggestions. (Ben, I also attached the block diagram in PDF for you) Please forgive me that my code is not written in good manner - I'm not really a trained programmer but more like a self-educated user. I put all the sequence structures in flat as I think this might be easier to read, which makes it quite wide, really wide.
    This is the only VI for my program. Basically what I am doing is the following:
    1. Initialization of all parameters
    2. Read seven 4-20mA current inputs from the 9203 card
    3. Process the raw data and calculate the "corrected" values (I used a few formula nodes)
    4. Output 7 4-20mA current via 9265 card (then to customer's DCS)
    5. Data collection/calculation/outputing are done in a big while loop. I set wait time as 5 secs to save cpu some jucie
    6. There is a configuration file I read/save every cycle in case system reboot. Also I do data logging to a file (every 10min by default).
    7. Some other small things like local display and stuff.
    Again I know my code probably in a mess and hard to read to you guys, but I truely appreciate any comments you provide! Thanks in advance!
    Rgds,
    Harry
    Attachments:
    Debug-Harry_0921.vi ‏379 KB
    Debug-Harry_0921 BD.pdf ‏842 KB

    Well, I'll at least give you points for neatness. However, that is about it.
    I didn't really look through all of your logic but I would highly recommend that you check out the examples for implementing state machines. Your application suffers greatly in that once you start you basically jumped off the cliff. There is no way to alter your flow. Once in the sequence structure you MUST execute every frame. If you use a state machine architecture you can take advantage of shift registers and eliminate most of your local variables. You will also be able to stop execution if necessary such as a user abort or an error. Definitely look at using subVIs. Try to avoid implementing most of your program in formula nodes. You have basically written most of your processing there. While formula nodes are easier for very complex equations most of what you have can easily be done in native LabVIEW code. Also if you create subVIs you can iterate over the data sets. You don't need to duplicate the code for every data set.
    I tell this to new folks all the time. Take some time to get comfortable with data flow programming. It is a different paradigm than sequential text based languages but once you learn it it is extremely powerful. All your data flow to control execution rather than relying on the sequence frame structure. A state machine will also help quite a bit.
    Mark Yedinak
    "Does anyone know where the love of God goes when the waves turn the minutes to hours?"
    Wreck of the Edmund Fitzgerald - Gordon Lightfoot

  • Crystal report XI makeas memory leaking

    Hi all:
    My application use vs2003/COM+ with independ crystal report XI and it has a serious memory leaking issue. After I generated the report, the memory grew twice and then soon the application is crashed after it is up to the maximum memory.Microsoft helped me to look at the dump user file and their concusion is that the Crystal report was build with Debug mode and not release mode. I never heard it before since I only add module to my deployment project and never know it has debug and release module version. So Can I please get help and how can I get the release crystal report module?
    copid from the Microsft reply email:
    Hello Helena,
    Your custom modules are built in Release mode as per the configuration settings in Visual Studio, however, all the dlls that are built in Debug mode are listed below:-
    crystaldecisions.reportappserver.commlayer.dll built debug
    crystaldecisions.reportappserver.clientdoc.dll built debug
    crystaldecisions.reportappserver.cubedefmodel.dll built debug
    crystaldecisions.reportappserver.controllers.dll built debug
    crystaldecisions.reportappserver.datadefmodel.dll built debug
    crystaldecisions.reportappserver.reportdefmodel.dll built debug
    crystaldecisions.keycode.dll built debug
    crdb_adoplus.dll built debug
    the crystaldecisions.crystalreports.engine.dll  version is 11.5.3300.0
    Thanks
    Helena

    You can not. The memory will never go down to zero - at least not as long as the app is running. There is a number of files, assemblies, etc. held in memory by the framework until the app is shut down. This behaviour is by design, and is actually quite important. First with an application more then one report can be loaded at one time, so the underlying dlls couldn't be unloaded until all reports for that application were closed. If we behaved this way, everytime a new report was opened we would need to load all our core dlls, search for optional dlls and read all the registry keys over again. This would be a performance hit in the speed of the report being viewed and on the entire system. By leaving our core engine open after the report is closed there is no longer this bottle neck, and really if we changed this we would get lots of complaints.
    Now in general this is not that big of an issue for Windows applications as it is usually one user on a system at a time and 40 MB for a user is not much. For web applications I can see this as a potential issue, however if you are having 100 users at a single time running reports from your web application I might suggest that Crystal Reports may not be the best solution for you. I suggest you look at Business Objects Enterprise where you can offload the report generation from your Web App server to the Enterprise server to see if this would benefit you.
    A memory leak would be if you see this number increasing for ever - unitl you run out of memory and the mchine become unresponsive.

Maybe you are looking for