You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Carlos Santana (JIRA)" <ji...@apache.org> on 2013/09/25 01:18:03 UTC

[jira] [Created] (CB-4905) CordovaJS on Windows8 has memoryleak on exec.js

Carlos Santana created CB-4905:
----------------------------------

             Summary: CordovaJS on Windows8 has memoryleak on exec.js
                 Key: CB-4905
                 URL: https://issues.apache.org/jira/browse/CB-4905
             Project: Apache Cordova
          Issue Type: Bug
          Components: CordovaJS, FirefoxOS, Windows 8
    Affects Versions: Master, 3.1.0
            Reporter: Carlos Santana
            Assignee: Carlos Santana


This problem might be present in firefoxos but since I don't have a phone to test, if someone wants to donate a phone for me to test I will be happy to debug and test :-)

Whenever an exec occurs in windows8 cordova.callbacks[callbackId] increases 
and since the standard functions (callbackSuccess, callbackError) are not run the memory never gets claim back with a delete


https://github.com/apache/cordova-js/blob/master/lib/windows8/exec.js#L46
 var callbackId = service + cordova.callbackId++;
        // console.log("EXEC:" + service + " : " + action);
        if (typeof success == "function" || typeof fail == "function") {
            cordova.callbacks[callbackId] = {success:success, fail:fail};
        }
        try {
            proxy(success, fail, args);
        }


the function callbackFromNative: function(callbackId, success, status, args, keepCallback)
its the one to delete the callback reference:
https://github.com/apache/cordova-js/blob/master/lib/cordova.js#L217
if (!keepCallback) {
                delete cordova.callbacks[callbackId];
            }



--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira