[TIMOB-6074] Android: V8 - Release Java proxy object references when running on emulator device.
| GitHub Issue | n/a |
|---|---|
| Type | Bug |
| Priority | High |
| Status | Closed |
| Resolution | Fixed |
| Resolution Date | 2011-11-09T14:04:58.000+0000 |
| Affected Version/s | Release 1.8.0.1 |
| Fix Version/s | Release 1.8.0.1 |
| Components | Android |
| Labels | branch-v8 |
| Reporter | Josh Roesslein |
| Assignee | Josh Roesslein |
| Created | 2011-11-08T10:49:50.000+0000 |
| Updated | 2014-06-19T12:44:18.000+0000 |
Description
+Expected Behavior+
Running applications on emulator should not crash from ReferenceTableOverflow errors.
+Actual Behavior+
Certain conditions cause the application to run out of references when
running on the emulator.
+Test case+
Running the Drillbit Buffer or Database suites causes a ReferenceTableOverflow error and crash.
+Community Discussion+
N/A
Sent [pull request #648](https://github.com/appcelerator/titanium_mobile/pull/648).
Here is a couple test cases which should cause the bug:
var buffers = []; for (var i = 0; i < 1000; i++) { var b = Ti.createBuffer({value:"Hello!"}); b.clear(); buffers.push(b); }These two should be tested separately. After the fix is applied neither should crash the app.var db = Ti.Database.open("test"); db.execute("drop table if exists Test"); db.execute("create table if not exists Test(row text)"); for (var i = 0; i < 1000; i++) { db.execute("insert into Test(row) values(?)", "My TestRow"); } var rs = db.execute("select * from Test");Tested with 1.8.0.1.v20111209011840 on Nexus One (2.2.2) - v8 Droid (2.2) - rhino Emulator (2.2) - v8