Memory leak in dll with an imaq-function

Hi,
I am currently writing a dll which uses the imaqImageToArray function.
Of course this function allocates new memory every time it converts a picture, and as I convert 180 pics a second and the Program shopuld run for hours that is quite a problem for me.
The solution should of course be the function free(void* MyPointer). And if I use malloc to allocate some random memory, instead of the imaqImageToArray, this works perfectly.
However when I call free() to release memory allocated by the imaqImageToArray function, the dll/LabView-Program will crash.
So I wonder what function the imaq-Functions use to allocate memory and how I can get rid of it again. Is there another imaq-function?
Thanks already!
Greetings
Solved!
Go to Solution.

Hi,
sorry for the misunderstanding. I use the imaqImageToArray function inside the .dll. The Code Hence is a c-code.
#include "extcode.h"
#include "nivision.h"
... some stuff/the dll-function etc....
uint8_t *Pointer;
Pointer = (uint8_t)imaqImageToArray(MyImage,MyRect,&Rows,&Columns);
if(Pointer!= NULL)
     free(Pointer);
... other stuff
Sadly I can't find a detailed description of the function. I assume the void* Pointer returned by imaqImageToArray points to an Array, however I am not sure wether it points to a usual c-array or a LabView Array, meaning:
typedef struct {
    int32_t dimSize;
    double Element[1];
    } LVArray;
That would explain why free(); won't work.
I think I got a step further though, as I found a function in the "extcode.h" called    DSDisposePtr(void *p). That should be the equivalent to free() for LabView Datastructures.
However even though I have included everything from the cintools directory explicitly to the project, the Linker complains about a not found externic object. Anyone knows which .lib files I need to include where to be able to use that function?
Thanks

Similar Messages

  • Memory leak in Flash with Win7, IE9, 64bit

    I have been having an issue for quite some time on 2 different computers. Both of them are Windows 7 64bit and use IE9.
    Generally I have 1 - 5 tabs open in IE at any given time. Usually one of them is a tab for Yahoo Mail. Other tabs are related to whatever I may be searching for or doing at that time, so pretty varied. Throughout the day at random times I will begin to get a grey icon for anywhere on some tabs where there is supposed to be a flash video (like the ad in the right side of the Yahoo Mail tab)... When it happens I can open Task Manager in windows and I notice that 1 or two "iexplore.exe *32" processes have memory consumed in excess of 600,000K. When I end those processes I am again able to see any flash videos that need to be viewed.
    If I leave Task Manager open throughout the day I can see the memory consumption increase on various tabs until I cannot see any more flash videos or even open new tabs in IE until I end those processes. Further, the memory does not get released if I just close the tabs in IE, but I must either end the specific process or close all tabs in IE so that IE is completely unloaded.
    I have since uninstalled the Flash player and the issue has gone away. I can re-install the flash player and the issue returns. Can you please help? This has been a huge annoyance and I had hoped that it would be fixed sooner or later. Unfortunately it has not been fixed and has finally prompted me to post something....

    First, I just wanted to follow up on this thread and let you guys know that we'll continue to look into it.  I also want to clarify some player behavior, and provide tips for helping to identify a defect that we can take action on.
    Whenever you refresh/reload a tab, the browser should signal to us that our process is being destroyed, at which point we would release all of our resources and shut down.  SergeStone's comment above makes it sound like this might not be happening in a particular case.  I'm going to build out a few tests this week to explore this in more detail, and I'll follow up with results.
    Also, it's worth discussing the difference between memory consumption and memory leaks.  Flash Player is designed to consume a percentage of your available memory.  If you have a 32-bit machine with 2GB of RAM, we're going to consume a lot less memory than a 64-bit system with 16GB of RAM. 
    Not all Flash content is authored well.  If the ActionScript developer is continuously loading objects into their SWF and never releasing them (a slide-show is a good simplistic example), you'll see a steady usage increase as each new object loads in.  You should also see that evenutally, our automatic Garbage Collection process will kick in.  Memory will peak out, and then you'll see a short CPU spike as we look at all of the available objects and cull as many unused ones as possible, consumed memory will dip down significantly (as long as we can cull stuff), and then start growing again until the next time GC kicks in.  We tend to do this judiciously, as poorly-timed GC can cause games to stutter if it happens when lots of things are moving around on the display and you don't have a lot of available CPU.
    If it's our bug, it should be straightforward to fix, and I can follow up to this thread with a beta build for you guys to evaluate once we have one available.  In the meantime, it would be interesting to know if you're seeing the problem on our current Beta builds (which is where we would do the work). 
    Here's a link to the latest Beta download:
    http://labs.adobe.com/downloads/flashplayer11-5.html
    Also, the simplest example is the most actionable.  If you can find a situation where a site in a single tab reproduces the problem, that's a quick and easy thing to deal with.  If the repro case involves opening seven tabs and waiting six hours, someone needs to repeat that over and over, until they can isolate what content experiences the problem and then iterate a bunch more with a debugger attached to try and isolate the root cause.  The more complicated the content, the more difficult that is.
    Secondly, I wanted to offer some actionable suggestions that you could use now to work around this issue. 
    Try Firefox or Chrome.  Both of these browsers run Flash Player as a separate process.
    For those of you using Performance Monitor and other tools to measure, you can directly observe the resources used by Flash Player
    For the folks concerned about Bookmarks synchronization, both Firefox and Chrome provide native bookmark syncing and import from IE mechanisms. 
    Xmarks is a really nice, free utility that provides cross-browser, cross-platform bookmark synchronization.
    Thanks,
    Jeromie Clark

  • Memory leak in AudioServicesCreateSystemSoundID with sound files

    hi !
    Instruments indicates a 64Ko memory leak in "AudioServicesCreateSystemSoundID" when I use a sound that I have created with GBand / iTunes. When I use the sound file "tap.aif" from the "sysSound" sample, there is no memory leak.
    What's wrong with my audio file ?
    It's a AIFF file, 95Ko, 8 bit mono 22Khz @ 176kbps.
    thanks...

    appFile = [ [ NSBundle mainBundle ] pathForResource : _filename ofType : _extension ];
    FileUrl = [ NSURL fileURLWithPath: appFile ];
    if ( AudioServicesCreateSystemSoundID( ( CFURLRef ) FileUrl, &soundID ) != kAudioServicesNoError )
    return false;
    I don't think the code is wrong because when I change the name of the sound in '_filename', there is no leak.
    I haven't found in the documentation the audio file properties ( 8/16 bits, ... ) supported by 'AudioServicesCreateSystemSoundID'.
    The code is for iPhone.

  • Call multiple functions from same dll with call library function

    hi,
    i am working on a project in wich we need to make a UI to read out a sensor network.
    the UI should be usable in any project, but every node needs a different piece of code depending on the type of sensor with wich it is equipt.
    so i need to be able to call different pieces of code when i need them, and still be able to use the UI in future projects with possibly new types of node we now don't have.
    so someone told me to use DLL's, cause then i would be able to call the code i need the moment i need it.
    but i have never worked with DLL's (just learned about this option 3 day's ago) so i have a question.
    i know i can dynamicly change the DLL i call with the call library function, but can i dynamicly change the function i call from that DLL ?
    or do i have to put a new call library function for each function i want to call, even if its from the same DLL ?
    kind regards,
    stijn

    nazarim wrote:
    ok so there is no (easy and ubderstandable) way for me to dynamicly change wich function i want to call from a certain DLL.
    but now i started wondering, the path on the call library function is not ment to dynamicly change a DLL
    but it does work so, if i am carefull, can i use it for that purpose or will labview give me a series of problems once i start using it in larger programs ?
    Thepath on the Call Library Node can be used to load a different DLL. Obviously since you can't change the function name your other DLL would have to export exactly the same function name and of course with the same parameters. This is seldom the case so it is not the main use of the path input to the Call Library Node. It's main use is as indicated to load DLLs at runtime rather than at load time of a VI. So that an application can run even when the DLL is missing, until the moment the functionality from that DLL is needed.
    If you can make sure that all your DLLs export the same function name with the same parameter you can use the Call Library Node to call into different DLLs through the path input. If however you would need to call different function names you would have to resolve to some DLL which does do the dispatching and invocation using LoadLibrary() and GetProcAddress(). But unless you need to go with DLLs for some reason using the Call By Reference Node can give you an even more flexible approach. 
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • PGA memory Leak issue along with TNS: listener could not hand off client connection

    Hi,
    We have two Oracle Database instances in a 32 bit Standard Edition Windows OS machine with 3 GB RAM : 1) 1525 MB (SGA+PGA) 2) 515 MB (SGA+PGA)
    Recently we upgraded the RAM from 3 GB to 4 GB. Subsequently we upgraded the SGA + PGA of the 2nd instance to 771 MB.
    This has resulted into PGA memory leak issue reported in the alert log file and trace file.
    Reverting back the SGA+PGA size to 515 MB solved the issue.
    Is this issue related to Address Windowing Extension (AWE)?
    Is the reason related to Total memory for all the cumulative Oracle instance should be < 2GB.
    How to solve this?
    Mon Jul 15 08:21:25 2013
    ORACLE V10.2.0.4.0 - Production vsnsta=0
    vsnsql=14 vsnxtr=3
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    Windows Server 2003 Version V5.2 Service Pack 2
    CPU                 : 4 - type 586, 4 Physical Cores
    Process Affinity    : 0x00000000
    Memory (Avail/Total): Ph:1068M/4023M, Ph+PgF:4985M/7933M, VA:18M/2047M
    Instance name: dp3
    Redo thread mounted by this instance: 0 <none>
    Oracle process number: 0
    Windows thread id: 4484, image: ORACLE.EXE (SHAD)
    *** 2013-07-15 08:21:25.133
    *** ACTION NAME:() 2013-07-15 08:21:25.133
    *** MODULE NAME:() 2013-07-15 08:21:25.133
    *** SERVICE NAME:() 2013-07-15 08:21:25.133
    *** SESSION ID:(90.829) 2013-07-15 08:21:25.133
    ******** ERROR: PGA memory leak detected 6302928 > 30176 ********
    HEAP DUMP heap name="pga heap"  desc=6C98A800
    extent sz=0x206c alt=92 het=32767 rec=0 flg=3 opc=3
    parent=00000000 owner=00000000 nex=00000000 xsz=0x0
    EXTENT 0 addr=7FC10008
      Chunk 7fc10010 sz=    64996    free      "               "
      Chunk 7fc1fdf4 sz=  2097676    freeable  "krfrbAllocate: "
    Dump of memory from 0x7FC1FDF4 to 0x7FE20000
    7FC1FDF0          1020020D 7FC10010 03871E90      [.. .........]
    7FC1FE00 00000000 00000000 00000000 00000000  [................]
      Repeat 131103 times
    EXTENT 1 addr=7FA00008
      Chunk 7fa00010 sz=    64996    free      "               "
      Chunk 7fa0fdf4 sz=  2097676    freeable  "krfrbAllocate: "
    Dump of memory from 0x7FA0FDF4 to 0x7FC10000
    7FA0FDF0          1020020D 7FA00010 03871E90      [.. .........]
    7FA0FE00 00000000 00000000 00000000 00000000  [................]
      Repeat 131103 times
    EXTENT 2 addr=7F7F0008
      Chunk 7f7f0010 sz=    64996    free      "               "
      Chunk 7f7ffdf4 sz=  2097676    freeable  "krfrbAllocate: "
    Dump of memory from 0x7F7FFDF4 to 0x7FA00000
    7F7FFDF0          1020020D 7F7F0010 03871E90      [.. .........]
    7F7FFE00 00000000 00000000 00000000 00000000  [................]
      Repeat 131103 times
    EXTENT 3 addr=70A50008

    There may be something fixed in the patch that gives the error rather than mysterious hangs.  I would prefer that, myself.  There may be something in the patch that changes how Oracle allocates user, system and program areas.
    At some point you spend more trying to limp things along in a growing environment than simply upgrading.  32 bit environments these days is an indicator that management is figuring some false economies.  But that's their prerogative.
    The PGA can be affected by many things, not least of which is how the application uses it.  Much has been written about it, my own experience has been more is used than most people say.  But that is probably just my app.  Note there are different ways to set it, and a parameter with "target" in it might not be a hard limit.  Different execution plans for the same code may use different amounts of memory - there can even be situations where forcing some code to use a sort area instead, or even forcing more operations to disk, can free up more pga for everyone else.  It depends.  But that's why I look at multi-pass operations in dbconsole.

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

  • Memory leak in WebView with custom UserAgent

    Hi,
    When I use the method with using NavigateWithHttpRequestMessage to modify my UA, I cannot dispose my webview properly - there seems to be a memory leak when calling this.
    In my code when I comment out the following line:
    myWebView.NavigateWithHttpRequestMessage(httpRequest);
    The memory leak goes away.
    Please note this seems to be a WP8.1 issue only, the memory leak does not appear on Windows.
    Is this a known issue? Is there a work around here?

    Hi Justin,
    Could you share a reproducible sample with us for a test purpose?
    What kind of other information include in your httpRequest, let's say if we exclude the UserAgent information, will the memory not release issue happens again, I'm not sure if the issue happens on setting UserAgent or on NavigateWithHttpRequestMessage
    part.
    --James
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Memory Leak Java Plugin with Swing Applet

    Hi
    I experience the following problem and desperately need help on this. The Java Plugin (I use Version 1.3.1_02) seems to have a problem in printing Swing Applets.
    The problem can easily be reproduced (at least with NT):
    1) Start Internet Explorer or Netscape (I used 5.5/4.07)
    2) Launch the following demo swing applet
    http://java.sun.com/products/plugin/1.3.1_01a/demos/jfc/SwingSet2/SwingSet2Plugin.html
    3) Print the applet and observe (using task manager) the memory used by the browser process (the memory used by the process will increase every time you hit the print button but never decrease unless you shut down the browser)
    4) Print a couple of times (you may want to pause your print queue) and you will be able to crash your computer
    This seems to be the same bug reported with 4638742. However it says "in progress" for quite some time and I was wondering if some genious might know a work around for this.
    Cheers

    You might want to read an article about memory leaks in Java:
    http://www-106.ibm.com/developerworks/library/j-leaks/

  • Firefox 21.0 on OS X 10.8.4 still has a memory leak that occurs with no Add ons, 1 tab and leads to 3GB of memory usage in 10 minutes.

    While using Firefox 21.0 on OS X 10.8.4 with 4GB RAM, Firefox memory usage marches up and up until at 3GB (on my iMac) Firefox hangs and is 100% non-responsive and must be killed with Force Quit. It takes 10 minutes to occur.
    No Add Ons
    One tab

    John99,
    Unfortunately, the problem was WORSE in FF 22.0. I regressed to FF21.0 and shut off automatic updates. I may even go back to FF3.6, which is the last one where I didn't see this problem.
    Thank you for trying but as a longstanding developer I know that pervasive memory leaks is a sign of a broken development process. Thank you for trying...

  • Memory leak and problem with polymorh vi when calling vi from dll

    Two problems appear for me when using the setup below.
    First, I have a vi for opening a secondary vi:
    Then I have a vi for calling the opened, secondary vi:
    These two are compiled to a dll. The first one is called once, calling a function "open(char *)". The second one is called over and over, calling a function nextevent(double *, int). A simple example of an opened, secondary vi looks like this:
    The code used to send data looks approximately like this:
    dataout = malloc(dx->numelems * sizeof(double));
    datain = (COMPLEX *) dx->cont;
    for (i = 0; i < dx->numelems; ++i)
        dataout[cnt][i] = sqrt(datain[i].re * datain[i].re + datain[i].im * datain[i].im);
    nextevent(dataout, dx->numelems);
    free(dataout);
    This code is called in a loop. dataout is a double array to be sent to the secondary vi, datain is the source data.
    The problem now is that there is something eating up memory, and I fail to see why.
    My second question is this:
     I want to insert a Hamming window, or some other form of windowing function. It doesn't work however, and the help tells me it is because a vi opened this way cannot contain any polymorphic vi. Is there a convenient way around this problem?
    Lars Melander
    Uppsala Database Laboratory, Uppsala University

    Regarding your second question:
    As you say not possible to use a polymorphic vi in a DLL and in your case it is the windowing VI that is polymorphic. What you can do is to use only one instance of the windowing VI in the short cut menu. 
    Here is a link to a report about this error in the knowledgeBase:
    http://digital.ni.com/public.nsf/allkb/755CE99505A1C9FF8625693C00508DDE?OpenDocument

  • Crash "DAbort 0x37C03D in MemoryMana​ger.cpp" when calling DLL with "Call Library Function Node"

    Hi all,
    I would like to work with a LabVIEW program that I did not programm by myself.
    In this programm an external DLL needs to be called. in the Momente this dll ist called with the "Call Library Dunction Node" LabVIEW crashes with this Error Message:
    DAbort 0x37C03D in MemoryManager.cpp
    Attached is the entire Log.
    The programm runs on the computer of the original programer.
    I have never handeled with DLLs or something like that before, so I have absolutely no idea how to rsolve this problem.
    Thanks for your help!
    Attachments:
    lvlog.txt ‏2 KB

    A DLL can be compiled by different compilers. By "generic" C DLL, i refer to ANSI C (so no C++, no Borland C or something else).
    My question is raised as parameters, esp. arrays and strings, can lead to this behavior when used in the wrong way (including "Calling Convention").
    Also, interfacing with the LV memory manager can lead to crashes like this, but this wouldn't be a "generic" DLL as it binds to LV (due to LV API calls).
    Without a better knowledge on the DLL and its functions, there is not much we can help you with.
    Where does the DLL come from?
    Norbert
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.

  • Using an external DLL with "Call Library Function"

    Hi!
    I am trying to use an external DLL which is used from Visualbasic & Delphi:
    http://www.keb.de/common/tools/KEBCOMDriver.zip
    the protKEB.dll accesses the serial port to control an KEB frequency
    inverter.
    Unfortunatly there is no prototype header file for the DLL (no help on that
    from KEB).
    I only have a VisualBasic example program which works with the DLL.
    (Unfortunatly I am no Visual basic expert)
    To initialize the com port I have to use the function: setprotproperties &
    getprotproperties
    they are declared as:
    'Setting the protocol properties
    'ctrl is a pointer to a data structure of type tProtProperty
    Declare Sub setprotproperties Lib "protkeb.DLL" (ctrl As Any)
    'Reading the protocol properties
    'ctrl is a pointer to a data structure of type tProtProperty
    'the desired protocol is entered in ctrl.prottype before calling
    Declare Sub getprotproperties Lib "protkeb.DLL" (ctrl As Any)
    and tProtProperty is:
    Public Type tProtProperty
    ProtType As Long 'Type of Protocol (tProt)
    TimeOut As Long 'ALL protocols
    Baudrate As Long 'ANSI, HSP5
    Comport As Long 'ANSI, HSP5
    Flag As Long 'ANSI, HSP5: 01 = Sendslow
    / IP: 01 = UDP
    Port As Long 'IPort number
    Txtlen As Byte 'IP : length of following
    text or 0
    txt As String * 100 'IP : IP-Address or name
    (maximum length)
    End Type
    I already tried to use a cluster with tProtProperty entries as an Input for
    the function
    setprotproperty in a call library function with:
    Parameter Type : Adapt to type
    Data Format: Pointer to Handle
    but I always get an "exception within external code....."
    What am I doing wrong?
    How does a cluster & a "call library function node" look like that works?
    Any help is really appreciated!
    thanks
    tom
    ,-Thomas Kerberger Physikalisch-Technische Bundesanstalt-.
    | Abbestr.2-12 D-10587 Berlin fon: +49-30-3481338 |
    | mailto:[email protected] fax: +49-30-3481386 |
    `--------Labor 7.33 Messung thermischer Energie---------'

    Thomas,
    LabVIEW cannot call a DLL that has structures directly, you will need to create either a wrapper DLL or CIN that will take in all of the data individually construct the structure, and send it to the DLL function.
    For more information on what a cluster looks like in native code, I would suggest creating a simple cluster, creating a Call Library Function Node on the block diagram with a cluster input. Then right-click on the Call Library Function Node and choose "Create .c file". This will generate the data structure for the cluster and give you a better feel for it. I would then suggest going to the Using External Code in LabVIEW manual that can be found in the LabVIEW Bookshelf (Start»Programs»National Instruments»LabVIEW 6»LabVIEW Manuals or »LabV
    IEW 6.1»Search the LaBVIEW Bookshelf).
    There is also the following: Developer Zone: Passing a Variety of Data Types from DLL to LabVIEW.
    Randy Hoskin
    Applications Engineer
    National Instruments
    http://www.ni.com/ask

  • Can I acces the Windows DIB with an Imaq function

    I am trying to pass images between several applications, one of which is not a Labview program. I want to post an image as a windows DIB in this external program and then access it and display it in Labview.

    irfocus,
    When I looked over your question, I was unsure what a DIB file was. After searching on Google, it appears that a DIB is a type of bitmap (BMP).
    I have checked on this file type, and it appears that the LabVIEW functions designed to handle bitmaps are also able to work with DIBs. As this is the case, it should be relatively easy to open and display a DIB file in LabVIEW. Using the VIs from the Graphics & Sound palette, you should be able to open a saved DIB file with the Read BMP File.vi and then convert this to picture format using the Draw Flattened Pixmap.vi and then display this in a picture control. Below I will attach a very basic program displaying this behavior.
    Attachments:
    Display_Bitmap.vi ‏14 KB

  • Memory leak in JCO when calling an ABAP-function that returns larg tables

    Hello everybody,
    I think discovered a memory leak in JCO when the calling functionions that have exporting tables with large datasets. For example the ABAP-function RFC_READ_TABLE, which in this example I use to retrieve data from a table called "RSZELTTXT", which contains ~ 120000 datasets. RFC_READ_TABLE exports the data as table "DATA".
    Here a simple JUnit test:
    http://pastebin.ca/1420451
    When running it with Sun Java 1.6 with standard heap size of 64mb I get a heapsize OutOfMemory error:
    http://pastebin.ca/1420472
    Looking at the heap dump (which I unfortunately cannot post here, because of it' size), I can see that I've 65000 char[512] array objects in my heap, which don't get cleaned up. I think, each char[512] array stands for one dataset in the exporting table "DATA", since the table contains 120000 datasets, the heap is full after the first 65000 datasets are parsed. Apparently, JCO tries to read all datasets in memory instead of justing reading the dataset to which the pointer (JCoTable.setRow(i)) currently points to and releasing it from memory after the pointer moves forward ...
    Did anybody else experience this?
    Is SAP going to remove to issue in upcoming versions of JCO?
    regards Samir

    Hi,
       Check Below links
    1) How To Analyze Performance Problems JCO
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/3fbea790-0201-0010-6481-8370ebc3c17d
    2) How to Avoid Memory Leaks 
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c3e598fe-0601-0010-e990-b8622840c8c2
    Salil...
    Edited by: salil chavan on Jun 2, 2009 5:21 AM

  • Finding Memory Leak in LabVIEW

    Hi NG,
    we wrote a sort of hugh application in labview that collaborates with our
    ..NET driven
    device framework and a variaty of unmanged c++ libs.
    As we are now close to the release we did performance testing and it showed
    up that
    the app is consuming more memory continously.
    We used prefomance counter to check whether the managed objects might not
    get garbage collected
    but this is done OK, since the handle count stays at a constant level.
    We tried to figure out whether one of the c++ libs is causing the problem
    but this is not the case either, since
    the memory leak exists even if the lib functions are just not being called.
    Even labview profiler is not detecting any inconvenient memory consumption
    of any of our vis but
    windows task manager notices a constant memory consumtion of the executable
    (or of labview.exe itselve when running in
    dev. environment).
    Does anybody know what this might be? Has anybody a clue what other tools we
    could use to figure out
    where the problem is?
    Any help is greatly appreciated.
    Thanks in advance, Sebastian Dau!

    "mfitzsimons" <[email protected]> wrote in message
    news:[email protected]..
    > Sebastian,
    > Memory leaks can be VERY hard to find.&nbsp; I use the divide and conquer
    > technique that involves chunking (make into smaller code segments) your
    > code into smaller pieces and running the smaller pieces until you find the
    > memory leak.&nbsp; It can take weeks to find the source.
    you accelerate this process by using the labview profiler.
    > The most common is arrays or any data that increases in size as the
    > program runs.&nbsp; To fix this you can use a FIFO that allows only so
    > many elements to be added before deleting data out of the array.&nbsp; The
    > second source is opening references repeatedly and not closing them.&nbsp;
    > Look closely at any VI that open anything.&nbsp; Do a search for "Memory
    > Leak" on the discussion forum and you will find about 60 postings that may
    > help.&nbsp;
    > Matt
    > If you are using DAQ-MX <a
    > href="http://digital.ni.com/public.nsf/allkb/BAF29EE03747EE4B86256E9700541436?OpenDocument"
    > target="_blank">http://digital.ni.com/public.nsf/allkb/BAF29EE03747EE4B86256E9700541436?OpenDocument</a>
    > &nbsp;
    >
    arrays and refs have already been checked.
    thanks, Sebastian

Maybe you are looking for

  • Event Handler with parameters

    I am to create a generic event handler ro process XML returned from the server. Its name is this code is "loadFormData". Here is my code: var params:Object = new Object(); params.requesttype = 'send'; params.datarequest = 'xml'; params.methodexecute

  • Make field MDMA-DISGR (MRP Group, MRP Area) mandatory in material master

    We are using MRP Area (Storage location) and I want to make MRO Group (MDMA-DISGR) mandatory. It is not in the list of fields (IMG > Logistics) to where field selection for material masters is set. Am I missing something -- or can this field not be m

  • Password manager for Playbook

    Hi, can anyone out there recommend  an app similar to Roboform, that works on Blackberry playbook, I have tried 20 today, and most only store passwords, thought I had cracked it, but when I downloaded it, found it only worked with pre-programmed U.S.

  • Out of the blue, my ipod touch (2nd gen.) won't turn back on.

    I noticed my ipod touch was working a little bit slower, so I turned it off. I tried to turn it back on, and it didn't budge. I've tried to charge it with my computer multiple times (even though I know it wasn't dead), and it still won't do anything.

  • Data Lost after DBCC CheckDB ([DBName], REPAIR_ALLOW_DATA_LOSS)

    Hi all, My server go down previously and we have already make it up, but then the database in the MSSQL show me "DBName (Suspect)". I receive errors like below.. please help Warning: You must recover this database prior to access. DBCC results for 'M