[jira] [Comment Edited] (CB-8002) Creating a new div for every Js - Native exec() call
[ https://issues.apache.org/jira/browse/CB-8002?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14309379#comment-14309379 ] Kim Hansen edited comment on CB-8002 at 2/6/15 4:41 PM: Putting in a plug for getting this fix out sooner than later. The memory growth doesn't trigger iOS memory warnings so a dev may be unaware it's happening. It does not appear as a leak in Instruments, but that's expected since it's not really a leak. In our app, it seems like the OS or the browser puts us in bad-app jail and queues up native calls. Symptomatically, Xcode console output stops and calls through the dialogs plugin don't result in a dialog presentation--nothing at all happens. Non system events proceed normally so until there's a failed system level call a user will think the app is ok. As soon as the home button is pressed, Xcode console will barf out all of the queued console.log messages and when the app is relaunched (without force quit), the queued dialogs appear. All of them, one at a time. For the benefit of google, Instruments shows unabated growth of the memory allocated to VM: JS garbage collector. My simple test method is to use setInterval to fire off a console.log message indicating the current time, and then watch the console either in Xcode itself or via the devices window in Xcode. At some point in time with 3.7.0, the console messages will stop arriving. I have tested the fix on the following devices, watching both for the above symptoms and for the linear memory usage expansion signature (we make routine system calls in our app) in both Instruments and Xcode. I am satisfied (enough) that the fix is production worthy, we'll be shipping to Apple later today. * iPhone 4S on 7.0.6 * iPhone 5, 5S and 6 on 8.1.3 was (Author: khansen): Putting in a plug for getting this fix out sooner than later. The memory growth doesn't trigger iOS memory warnings so a dev may be unaware it's happening. It does not appear as a leak in Instruments, but that's expected since it's not really a leak. In our app, it seems like the OS puts us in bad-app jail and queues up native calls. Symptomatically, Xcode console output stops and calls through the dialogs plugin don't result in a dialog presentation--nothing at all happens. Non system events proceed normally so until there's a failed system level call a user will think the app is ok. As soon as the home button is pressed, Xcode console will barf out all of the queued console.log messages and when the app is relaunched (without force quit), the queued dialogs appear. All of them, one at a time. For the benefit of google, Instruments shows unabated growth of the memory allocated to VM: JS garbage collector. My simple test method is to use setInterval to fire off a console.log message indicating the current time, and then watch the console either in Xcode itself or via the devices window in Xcode. At some point in time with 3.7.0, the console messages will stop arriving. I have tested the fix on the following devices, watching both for the above symptoms and for the linear memory usage expansion signature (we make routine system calls in our app) in both Instruments and Xcode. I am satisfied (enough) that the fix is production worthy, we'll be shipping to Apple later today. * iPhone 4S on 7.0.6 * iPhone 5, 5S and 6 on 8.1.3 Creating a new div for every Js - Native exec() call - Key: CB-8002 URL: https://issues.apache.org/jira/browse/CB-8002 Project: Apache Cordova Issue Type: Bug Components: iOS Affects Versions: 3.7.0 Environment: Tested on multiple iOS 8.1 devices, simulators Reporter: Serdar Onal Assignee: Andrew Grieve Priority: Critical Fix For: 3.8.0 Since the 3.7.0 update, when cordova does a Js to Native call using exec(), somehow the underlying cordova.js is creating a gap://ready iframe on every call. This means that if you made 1000 native calls you'll have 1000 divs on the DOM. I believe this issue is of critical priority as it incurs a huge memory leak. Screenshot from safari inspector https://drive.google.com/file/d/0B94TXiq5ycp1anp6aGpTbjhPdG8/view?usp=sharing -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Comment Edited] (CB-8002) Creating a new div for every Js - Native exec() call
[ https://issues.apache.org/jira/browse/CB-8002?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14283157#comment-14283157 ] Shazron Abdullah edited comment on CB-8002 at 1/19/15 11:16 PM: The dev version I mentioned contains only the two bug fixes above plus 3.7.0, if you are comfortable with that I say install it. Sorry I didn't mention (as Hirbod below found out), you will have to remove your ios platform first, then add the new ios@9e53 platform In the future I would plan on getting hotfixes this way, although it may only contain the currently released version plus the fix only, nothing else. was (Author: shazron): The dev version I mentioned contains only the two bug fixes above plus 3.7.0, if you are comfortable with that I say install it. Sorry I didn't mention (as Hirbod below found out), you will have to remove your ios platform first, then add the new ios@9e53 platform Creating a new div for every Js - Native exec() call - Key: CB-8002 URL: https://issues.apache.org/jira/browse/CB-8002 Project: Apache Cordova Issue Type: Bug Components: iOS Affects Versions: 3.7.0 Environment: Tested on multiple iOS 8.1 devices, simulators Reporter: Serdar Onal Assignee: Andrew Grieve Priority: Critical Since the 3.7.0 update, when cordova does a Js to Native call using exec(), somehow the underlying cordova.js is creating a gap://ready iframe on every call. This means that if you made 1000 native calls you'll have 1000 divs on the DOM. I believe this issue is of critical priority as it incurs a huge memory leak. Screenshot from safari inspector https://drive.google.com/file/d/0B94TXiq5ycp1anp6aGpTbjhPdG8/view?usp=sharing -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Comment Edited] (CB-8002) Creating a new div for every Js - Native exec() call
[ https://issues.apache.org/jira/browse/CB-8002?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14218742#comment-14218742 ] Hirbod edited comment on CB-8002 at 1/16/15 4:20 PM: - I can confirm this bug. I had a setInterval() with an console.log inside and wondered myself... More then 1000 created iframes in few minutes. But it seems not to effect memory (1mb increase) (because of display: none I guess) But this should be fixed quickly. Thanks everybody! Edit: correction: it has bad side-effects with memory. was (Author: hirbod): I can confirm this bug. I had a setInterval() with an console.log inside and wondered myself... More then 1000 created iframes in few minutes. But it seems not to effect memory (1mb increase) (because of display: none I guess) But this should be fixed quickly. Thanks everybody! Creating a new div for every Js - Native exec() call - Key: CB-8002 URL: https://issues.apache.org/jira/browse/CB-8002 Project: Apache Cordova Issue Type: Bug Components: iOS Affects Versions: 3.7.0 Environment: Tested on multiple iOS 8.1 devices, simulators Reporter: Serdar Onal Assignee: Andrew Grieve Priority: Critical Since the 3.7.0 update, when cordova does a Js to Native call using exec(), somehow the underlying cordova.js is creating a gap://ready iframe on every call. This means that if you made 1000 native calls you'll have 1000 divs on the DOM. I believe this issue is of critical priority as it incurs a huge memory leak. Screenshot from safari inspector https://drive.google.com/file/d/0B94TXiq5ycp1anp6aGpTbjhPdG8/view?usp=sharing -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Comment Edited] (CB-8002) Creating a new div for every Js - Native exec() call
[ https://issues.apache.org/jira/browse/CB-8002?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14280455#comment-14280455 ] Hirbod edited comment on CB-8002 at 1/16/15 4:19 PM: - I'll have some similiar issues here. I use a native google maps plugin and every time I call the addMarker() request, a new iFrame is created in DOM. After 1000 markers, my app is crashing and dead. Please guys, at least provide some way of hotfixing. You just can't leave such critical bugs open since 11/Nov/14. More then 2 months. Please push a 3.7.4 including at least a hotfix for that. I know this is an open source project and I respect this as much as I can, donate and try to contribute as much as possible, but please, don't ignore critical bugs for that such amount of time.. was (Author: hirbod): I'll have some similiar issues here. I use a native google maps plugin and every time I call the addMarker() request, a new iFrame is created in DOM. After 1000 markers, my app is crashing and dead. Please guys, at least provide some way of hotfixing. You just can't leave such critical bugs open since 11/Nov/14. More then 2 months. Please push a 3.7.4 including at least a hotfix for that. I know this is an open source project and I respect this as much as I can, donate and try to contribute as much as possible but don't ignore critical bugs for that such amount of time.. Creating a new div for every Js - Native exec() call - Key: CB-8002 URL: https://issues.apache.org/jira/browse/CB-8002 Project: Apache Cordova Issue Type: Bug Components: iOS Affects Versions: 3.7.0 Environment: Tested on multiple iOS 8.1 devices, simulators Reporter: Serdar Onal Assignee: Andrew Grieve Priority: Critical Since the 3.7.0 update, when cordova does a Js to Native call using exec(), somehow the underlying cordova.js is creating a gap://ready iframe on every call. This means that if you made 1000 native calls you'll have 1000 divs on the DOM. I believe this issue is of critical priority as it incurs a huge memory leak. Screenshot from safari inspector https://drive.google.com/file/d/0B94TXiq5ycp1anp6aGpTbjhPdG8/view?usp=sharing -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Comment Edited] (CB-8002) Creating a new div for every Js - Native exec() call
[ https://issues.apache.org/jira/browse/CB-8002?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14280449#comment-14280449 ] Georg Howen edited comment on CB-8002 at 1/16/15 5:25 PM: -- I'll second Hirbod here. A new version of my app including the current Cordova released on the app store yesterday and currently my users are more or less killing me. My app uses the SQLite plugin. After a few hundred SQL updates (which happen quite frequently) we have 999+ iframes in the DOM, the iOS device runs out of memory, the database stops and we have a very unhappy user. A severe memory leak like that in a framework requires an immediate fix IMHO. I had to remove my app from the app store just now to contain the damage and I am thinking hard about going native to lessen the dependancy on third party frameworks. I do apprechiate the work of all contributors to OSS very much and I know very well that bugs do happen. But I feel that with this one the possible side effects have not been seen in their full potential which resulted in a too relaxed release planning for the fix. Please release an update asap and hopefully spare some developers a lot of headaches and very angry clients. Thank you for this and all the great work on Cordova. was (Author: ghowen): I'll second Hirbod here. A new version of my app including the current Cordova released on the app store yesterday and currently my users are more or less killing me. My app uses the SQLite plugin. After a few hundred SQL updates (which happen quite frequently) we have 999+ iframes in the DOM, the iOS device runs out of memory, the database stops and we have a very unhappy user. A severe memory leak like that in a framework requires an immediate fix IMHO. I had to remove my app from the app store just now to contain the damage and I am thinking hard about going native to lessen the dependancy on third party frameworks. I know very well that bugs do happen. But this one should be fixed asap as the consequences can be very bad indeed and are not visible right away - memory leaks... Creating a new div for every Js - Native exec() call - Key: CB-8002 URL: https://issues.apache.org/jira/browse/CB-8002 Project: Apache Cordova Issue Type: Bug Components: iOS Affects Versions: 3.7.0 Environment: Tested on multiple iOS 8.1 devices, simulators Reporter: Serdar Onal Assignee: Andrew Grieve Priority: Critical Since the 3.7.0 update, when cordova does a Js to Native call using exec(), somehow the underlying cordova.js is creating a gap://ready iframe on every call. This means that if you made 1000 native calls you'll have 1000 divs on the DOM. I believe this issue is of critical priority as it incurs a huge memory leak. Screenshot from safari inspector https://drive.google.com/file/d/0B94TXiq5ycp1anp6aGpTbjhPdG8/view?usp=sharing -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Comment Edited] (CB-8002) Creating a new div for every Js - Native exec() call
[ https://issues.apache.org/jira/browse/CB-8002?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14218742#comment-14218742 ] Hirbod edited comment on CB-8002 at 11/20/14 12:03 AM: --- I can confirm this bug. I had a setInterval() with an console.log inside and wondered myself... More then 1000 created iframes in few minutes. But it seems not to effect memory (1mb increase) (because of display: none I guess) But this should be fixed quickly. Thanks everybody! was (Author: hirbod): I can confirm this bug. I had a setInterval() with an console.log inside and wondered myself... More then 1000 created iframes in few minutes. But it seems not the effect memory that badly (because of display: none I guess) But I guess this should be fixed quickly. Creating a new div for every Js - Native exec() call - Key: CB-8002 URL: https://issues.apache.org/jira/browse/CB-8002 Project: Apache Cordova Issue Type: Bug Components: iOS Affects Versions: 3.7.0 Environment: Tested on multiple iOS 8.1 devices, simulators Reporter: Serdar Onal Assignee: Shazron Abdullah Priority: Critical Since the 3.7.0 update, when cordova does a Js to Native call using exec(), somehow the underlying cordova.js is creating a gap://ready iframe on every call. This means that if you made 1000 native calls you'll have 1000 divs on the DOM. I believe this issue is of critical priority as it incurs a huge memory leak. Screenshot from safari inspector https://drive.google.com/file/d/0B94TXiq5ycp1anp6aGpTbjhPdG8/view?usp=sharing -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org