Memory increases, GC does not collect.

I am developing an AIR application using FlexBuilder (FlashBuilder) 4.0.1 (Standard) in an Eclipse plugin environment, on the Windows 7 64-bit platform.
My application is intended to run full-screen, on a touchscreen device, as an application for small children (pre-k).
The general operation is to present a series of scenarios, one by one, from a collection of separately developed swf files. (each swf file is a scenario).  The child responds to the swf file, the swf file sends an event to the player, which performs an unloadAndStop() on the Loader object that loaded the swf.  Then the next swf is loaded.
The problem we are seeing is that each swf file adds about 15-25 MB to the Workingset Private allocation of the AIR application (or the ADL.EXE runtime).  Very little of this RAM is returned.  After about 140 of these scenarios, the AIR runtime consumes about 1.6 GB of RAM.  This, in itself, is not the problem - we could buy more RAM.
The problem is that the Loader crashes here, and takes the whole AIR runtime with it.
We also have a few "special purpose" swf files which are basically just wrappers around a s:VideoPlayer control, that plays a bindable file - .flv video, and the complete event fires the event that tells the AIR player to unloadAndStop the swf.
Since the video player took no manual intervention to test, I built a set of these to simulate a high load, and found that:
The .flv files are opened, but they are never closed. Since the s:VideoPlayer control is an MXML construct, there is no explicit way I can see to tell it to close the dang file when it's done.  (it's not documented, anyway).
At exactly 32 video-swf items, the videos will continue to play, but there is no more audio.
At exactly 73 video-swf items, (seemingly regardless of the SIZE of the .flv file I select), the 73rd item crashes the Loader (and AIR player).
I supply unloadAndStop() with the (true) parameter.  I follow it with a System.gc().
I explicitly remove ALL of my listeners. (in the AIR player application - I assume no control over items within the swf items that I am playing, since we assume we eventually may end up playing 3rd-party developed items; so we rely only on the return of a completion event, and a data structure).
I explicitly close() ALL of my audio streams. (at the AIR player level - not in the swfs.)
I explicitly stop() ALL of my timers.
My loader is instantiated in an element called "myLoaderContainer" - and after I receive my completion event, I do a myLoaderContainer.removeAllElements();
I have tried both the System.gc() call and the "unsupported"  LocalConnection().connect('foo') call.  both of these have zero effect. (in other words, I think there is probably no garbage to collect).
Still, I find it strange that nowhere, is it written, any kind of hint about how often garbage collection will do it's thing, and having graphed the flash.system.System.privateMemory; usage against all of my functions, and narrowed it down to my loader, and seeing that this allocation is never reclaimed, even on loader.unloadAndStop(true); - I wonder exactly what is the (true) parameter for, in that method?
I don't know what else I am supposed to do to force my Loader to *actually* unloadAndStop().
One would think that unloadAndStop() would not mean: "cease all functioning, but continue to occupy memory until the parent application chokes on it's own heap."

I recompiled the memory leaking program using AIR 3.0 and the leak remains. However my previous description of the problem was incorrect. It's not a bytearray I'm using. It's just a normal  array, of 9 floats. Now this array is is being updated in an event, on an indefinite basis (from hardware data provided by a separate process running as a socket server). The updating array  is a class scope array. On each update the index restarts to zero (ie. it's not a ballooning array). However, each item of that updating array is then being redispatched in the context of another socket event (request events by another process), using socket.writeDouble() - also on an indefinite basis.
So while the array is being written in the context of one event, it's simultaneously being read in the context of another uncorrelated event.
My only theory is that the speed at which the array is being written/read (since only nine floats) is causing some overflow in the number of temporary arrays that might be generated to accomodate such abuse. And that maybe such temps are becomining lost to the gc - that pehaps the gc can't keep up with the abuse. But that's just me speculating what theorys I could test for workarounds.
In native code I'd use various thread controls (mutexes etc),  to control read/writes on the async socket events, but here I'm somewhat at a loss as to how to otherwise control the data flow. Indeed I ended up rewriting the program  in native code (c++) to get around the memory leak.
Carl

Similar Messages

  • My Location/Search Bar has no memory. It does not remember what I type in.

    My Location/Search Bar has no memory. It does not remember what I type in it when I am doing Google Searches. I have had this problem for over a week now.

    I guess I would call it the "Google.com" Web Site. It is the horizontal bar/box in the middle of the screen (not at the top). Whenever I would do a Google Search, whatever name I typed in that box would stay there until I manually deleted it. Now, nothing stays in that box. Can you figure out why?

  • Hum 1.1 does not collect information CPU router 7507VXR/RSP4

    Hello everyone, HUM has not been possible to  extract information from computer's CPU. I have not found more information on the cisco.com  website or anywhere.
    According to official papers only need the mibs  CISCO-PROCESS AND ENTITY.
    Please  your help and comments.
    Regards,
    Guilliano Palavecino Rojas  
    Enginner Support Communications
    Adexus S.A

    First of all, correct that the model of router is 7507/RSP4 (x2) with IOS 12.2 (14) S19.
    The way of configuring the poller,
    - HUM
    - Poller and template management
    - Poller management
                 - Create
                 - Device selector (rete1, rete2)
                 - Poller detail
                          -name: cpu_test_7507
                          -polling interval: 5 min
    - Templates
                          -cpu utilization
                 - Selected templates
                          -cpu utilization
    NEXT
    Available instances = 0
    Also, selecting "poll all instances" I have available two instances, but at the end of the poller does not collect data.

  • My ipad2 volume increase button does not function

    My ipad2 volume increase button does not function

    Do you have a question or are you just letting us all know? :-)
    Have you dropped your iPad or perhaps damaged the button in some way?

  • Updated my iPhone to new iOS6 and my Memory Loader app does not work!  Is there a fix for the problem as it seems I am not the only one coming across this issue?

    Updated my iPhone to new iOS6 and my Memory Loader app does not work!  Is there a fix for the problem as it seems I am not the only one coming across this issue?

    Other than what you have already done, you should clear the cache from your browser and, if you use it, your Facebook app.  Also, deleting old texts can free up some room.

  • Satellite Pro P100-327: memory card reader does not read Memory Stick Duo

    I just got a P100-327
    http://uk.computers.toshiba-europe.com/cgi-bin/ToshibaCSG/jsp/productPage.do?service=UK&PRODUCT_ID=121991&toshib aShop=true)
    which, according to that page, is supposed to have "1 x 5-in-1 Bridge Media slot (supports SD Card, Memory Stick, Memory Stick Pro, MultiMedia Card, xD-Picture Card)" but the pdf user manual that came with it says that it does not support Memory Stick Duo, Memory Stick Pro Duo or mini-SD.
    However, I have a Memory Stick Pro, and a Memory Stick Pro Duo in a Memory Stick Pro adapter and the reader can't seem to read either of them (they should both count as Memory Stick Pro which should be readable right?)
    Should I be able to read my Memory Stick Pro cards? Why can't I since it says I should be able to? Do I need to install something first?

    Hi
    In my knowledge and according to the manual the Bridge Media slot supports Media of type
    - SD Memory Card
    - MultiMediaCard xD-Picture Card
    - Memory Stick
    - Memory Stick Pro
    Please note that the Memory Stick and Memory Stick Pro are not the same as Memory stick Duo and Memory Stick Pro Duo.
    Dont mix it.

  • Satellite M60-104 - memory card reader does not read memory stick pro duo

    Hi guys,
    the built in card reader on my laptop does not recognize/read sony's memory stick pro duo - is this normal or not?
    I know it should read memory stick pro but not sure about pro duo.
    Can you help me please?

    Hi
    >the built in card reader on my laptop does not recognize/read sony's memory stick pro duo - is this normal or not?
    Of course this could be normal behavior because not all cards are compatible and supported.
    I would recommend taking look into the user manual because there you can find a information which cards can be used in the notebooks card reader!!!

  • XPAR_PS7_DMA_NS_DEVICE_ID listed in xparameters.h with memory range but does not operate?

    Hello All,
    I have a zedboard.  Using vivado I built a zedboard preset project.  I then selected the xilinx example peripheral test project.  When I build and run it all works.  The confusion I am having, being used to working with SDK before (previously worked with virtex-5 FXT device), is that the xparameters.h file lists two processor system (PS) DMA peripherals XPAR_PS7_DMA_NS and XPAR_PS7_DMA_S.  The peripheral test uses the XPAR_PS7_DMA_S.  When I change the DMA test to use the _NS device the test fails.  It appears that all the device driver support code reports no errors, but the DMA just does not operate for the _NS device.  When I pull up the processor side block diagram in Vivado it only shows one DMA unit with 8 channels.
    I am very confused why xparameters shows the possibility for two DMA instances, but everywhere else, the documentation and tools only list one as usable.
    Is the _NS instance just not usable at all?  If so why does it appear with a memory mapping in xparameters.h?
    I would appreciate any help.  The reason I am hunting this so hard, is because I would like to dedicate one DMA instance per ARM core.  If there is only one DMA instance available, this will force me to ask the hardware designers to give me a different DMA peripheral to use - so there will not be conflicts between the cores and the peripheral.
    Any help is appreciated.
    Thank you.

    A FAE got back to me, and indicated that there is only one DMA unit with 8 channels.  The S instance is the secure instance of the DMA block.  The NS is the non-secure instance.  The secure versus non-secure operation has to do with ARM Trustzone technology.  By default only the secure DMA version interrupts are usable, to get non-secure interrupts, it takes more work.

  • E&M does not collect digits

    I have a Cisco 1760 with one VIC-2E&M module. I get the dial tone after dialing a access code. When I dial the called number , the 1760 does not accept the phone number and I still hear the dial tone .
    Phone ---- PBX ---- E&M (1760) ----- Leased Line ----- PBX ---- E&M(MC3810)
    The IOS version is 12.2(15)T and E&M configuration is
    signal immediate
    type 2
    2 wire
    How can solve this problem ?

    My guess is your pbx is probably not forwarding the digits to the router.
    Can you include
    debug vtsp all
    debug vpm all
    debug voip ccapi inout
    from the 1760 in millisecond
    service timestamps debug datetime msec
    Thanks.

  • Mail does not collect mail

    So I have Leopard running on my MacBook, and still Tiger on my iMac; haven't decided yet which one I will use in the future to collect my mail. The MacBook is handy, so I read my mails most of the time in the living. But I want these mails also retrieved by the iMac, later on.
    I have various e-mail addresses but they are all forwarded to my DotMac account, so I can check easily when I am abroad and I do not have the MacBook at hand. (I use the DotMac account as a Pop-account, not an IMAP).
    The strange thing is that mails which have been retrieved by the MacBook, later on are not retrieved by the iMac. (Of course I have unchecked the square 'delete mail from server after collecting' ).
    Anyone an idea what I am doing wrong?

    Doesn't anyone else but me has this problem? Here, it still persists…

  • Windows Server 2008 R2 - When svchost.exe memory-leaks Outlook does not load properly

    Hi all,
    We have a server which runs Windows Server 2008 R2, fully updated, and acts as a Terminal Server (Citrix XenApp 6.5).
    In the past couple months we have had problems with svchost.exe leaking memory, growing to 2-3GB of RAM usage. Sometimes is occurs with weeks between the incidents, sometimes days. To solve the issue we have to reboot the server.
    When this occurs, Outlook (fully updated) doesn't start for any users at all. Outlook doesn't continue from the "Loading profile.."-stage. The users who already has Outlook started doesn't have any problems, unless they close Outlook ;) . 
    The svchost.exe is the one which runs the services:
    NSI
    WinHttpAutoProxySvc
    W32Time
    Netprofm
    FontCache
    EventSystem
    We've patched the server with KB2847346 but with no result. Patch KB2950358 is not applicable..
    Any ideas?

    svchost is hosting multiple services. when the issue occurs you can use sysinternals procmon (or enable the command line column in task manager process tab) to view to determine which service is using that much memory.
    MCP/MCSA/MCTS/MCITP
    Did you read my whole post, or did you just misunderstand the part were I wrote:
    The svchost.exe is the one which runs the services:
    NSI
    WinHttpAutoProxySvc
    W32Time
    Netprofm
    FontCache
    EventSystem"
    I know that svchost.exe runs ALOT of services, so when the problem occurred I checked which services the specific svchost.exe runs. Everytime it happens the svchost.exe (which leaks and has 2-3GB mem usage) runs this specific services.

  • Data Overage Alert, Text Msg - reply YES to increase data - does not work

    I have talked to (2) Vzn customers that have replied "YES"  to the text message alert regarding data overage.  Reply "YES" to increase your data plan by 2GB for $10. Both replied as instructed and their plans were NOT changed systematically as expected. Fortunately I was calling them pre-bill to review their usage and made the change manually.  Is there a problem with this new reply system??
    From Vzn: Effective 3/2/14, account owners can reply Yes to their data alert to make a plan change. The plan change is backdated to the beginning of the customer's bill cycle, and moves the customer to the next tier of MORE Everything pricing within the same plan category.

        Hello RheaW, you pose an excellent question! After further review, there are currently no reports or outages with the alert system. When they replied yes, did the message go through completely? Do they have any premium messaging blocks? Keep us posted!
    WiltonA_VZW
    VZW Support
    Follow us on twitter @VZWSupport

  • T500 Memory: Total Physical does not match Installed Physical

    I have a T500 that I upgraded from 2GB to 4GB RAM. When I use the Lenovo system information tool, it reports:
    Installed Physical Memory (RAM):   4.00 GB
    Total Physical Memory:   2.46 GB
    Available Physical Memory: 1.32 GB
    I tested the RAM using PC Doctor and it passed. Why is it only reporting 2.46 GB of physical memory? Do I have a bad RAM card?
    Thanks for your help!!
    Solved!
    Go to Solution.

    PaulQ wrote:
    So, the missing 1/2 GB is undetermined or could it still be going to video? All I got was 1/2 a GB for the price of 2GB.
    I had the same situation, 2.5GB of usable memory with Win 7 Home Premium,  but I did this trick below and it freed up the 1/2 a GB.  
    The max memory box was unchecked, but I checked it, and then unchecked it.  When I exited the program, it required a reboot (so something must have changed, even though the setting remained the same.)    Now I have the 3GB I should have with 4GB installed and a 32-bit OS.
    Check the system configuration settings
    This problem may occur because the Maximum memory option is selected incorrectly. To fix this, follow these steps:
    Click Start  ,  type msconfig in the Search programs and files box, and then click msconfig in the Programs list.
    In the System Configuration window, click Advanced options on the Boot tab.
    Click to clear the Maximum memory check box, and then click OK.
    Restart the computer.

  • Added Up Memory...Does Not Equal 2 GB

    I noticed this today as I was working in Illustrator. My system slowed down and I kept getting the beach ball of death so I used iFreeMem to free up some memory. Worked and system ran faster with less hang ups.
    However, as I was getting ready to shut down, fo X reason, I checked the memory and noticed that iFreeMem only shows i.75 GB of RAM. I added up the 4 memory types, FREE. INACTIVE, WIRED AND ACTIVE, and it only totals 1.75. I check my system profiler and see 2 GB. Why is this? On my Imac, iFreeMem shows the total amount of RAM I have. What am I missing?

    http://www.apple.com/macbook/specs.html
    Search for "Graphics" inside the page
    Graphics NVIDIA GeForce 9400M graphics processor with 256MB of DDR3 SDRAM shared with main memory ^3^
    ^3^ Memory available to Mac OS X may vary depending on graphics needs. Minimum graphics memory usage is 256MB.

  • Report Background Engine Memory Increasing on Reports 6i

    Hi... we recently upgraded our ERP system from Developer 2000 to 6i. Some of our functions require many reports to print at once (labels, invoices, pick tickets, etc).. What we've noticed is that when we do this, the report background engine increases in memory significantly and does not release the memory when finished.... and can cripple the work station.
    We know we can issue the Oracle_shutdown parameter to close the RBE after each report, but are there any other options as we feel this may slow down our printing?
    Thanks,
    Scott

    If you use "dynamic" ref cursor, your package specification must have "dynamic" ref cursor type for (dynamic) query
    (from 9i we can use predefined SYS_REFCURSOR built-in data type) and "static" ref cursor type for Report Layout.
    SELECT statement in "dynamic" ref cursor must have the same number and type of columns as "static" ref cursor type.
    And, of course, your package must be stored (=database) package, because PL/SQL engine in Reports 6i is v.8.0
    but "dynamic" ref cursor is a new feature of PL/SQL v.8.1.
    See
    re:re:re:Can we create report based on stored procedure
    Regards,
    Zlatko

Maybe you are looking for

  • What's the type of control for stepper motor?

    Hi, I'm using PXI-7358 controller, UMI-7774, Industrial Device NextStep third part microstepping drive, stepper motor SANYO-DENKI (type 103-8932-6421, NEMA42) and incremental encoder 3600 ppr (14400 count/round). I want to say what's the NI onboard t

  • SAPSYS, Password logon no longer possible

    I get an error info from log file dev_rfc0, it's "User: SAPSYS (Client: 000) Password logon no longer possible - too many failed attempts". Same error info can also be found in ST22, shown below: Runtime Errors: CALL_FUNCTION_REMOTE_ERROR Short text:

  • Connection problem in canada.

    Hello. I have huge problem with my blackberry z10 device. I bought my device six months ago from Greece which mostly I live there and they told me that this device is unlocked. I used my device with most of all three mobile networks in Greece and it

  • How to Join the Developer Preview - (Fusion and Face HD)

    Hi, If you are would like to join the Kinect for Windows Developer Preview Program to access the weekly SKD updates please send us an email. The Developer Preview will allow you access to weekly updates which will include Fusion and Face HD and relat

  • Workspace not showing newly installed EPM products 11.1.1.1

    Hi Forum From within the workspace i can see theNavigate | Consolidation | Applications but not the same for the Planning Apps. After installing and configuring new EPM products is there something else I need to do. I've tried reinstalling the worksp