{"action":"created","issue":{"url":"https://api.github.com/repos/appcelerator/titanium_mobile/issues/8148","repository_url":"https://api.github.com/repos/appcelerator/titanium_mobile","labels_url":"https://api.github.com/repos/appcelerator/titanium_mobile/issues/8148/labels{/name}","comments_url":"https://api.github.com/repos/appcelerator/titanium_mobile/issues/8148/comments","events_url":"https://api.github.com/repos/appcelerator/titanium_mobile/issues/8148/events","html_url":"https://github.com/appcelerator/titanium_mobile/pull/8148","id":166659880,"number":8148,"title":"[5_4_X][TIMOB-15765] Android: TableView - JNI ERROR (app bug): local reference table overflow (max=512)","user":{"login":"sgtcoolguy","id":3252,"avatar_url":"https://avatars.githubusercontent.com/u/3252?v=3","gravatar_id":"","url":"https://api.github.com/users/sgtcoolguy","html_url":"https://github.com/sgtcoolguy","followers_url":"https://api.github.com/users/sgtcoolguy/followers","following_url":"https://api.github.com/users/sgtcoolguy/following{/other_user}","gists_url":"https://api.github.com/users/sgtcoolguy/gists{/gist_id}","starred_url":"https://api.github.com/users/sgtcoolguy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sgtcoolguy/subscriptions","organizations_url":"https://api.github.com/users/sgtcoolguy/orgs","repos_url":"https://api.github.com/users/sgtcoolguy/repos","events_url":"https://api.github.com/users/sgtcoolguy/events{/privacy}","received_events_url":"https://api.github.com/users/sgtcoolguy/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/appcelerator/titanium_mobile/labels/android","name":"android","color":"006b75"},{"url":"https://api.github.com/repos/appcelerator/titanium_mobile/labels/bug","name":"bug","color":"e11d21"}],"state":"open","locked":false,"assignee":{"login":"cheekiatng","id":8412532,"avatar_url":"https://avatars.githubusercontent.com/u/8412532?v=3","gravatar_id":"","url":"https://api.github.com/users/cheekiatng","html_url":"https://github.com/cheekiatng","followers_url":"https://api.github.com/users/cheekiatng/followers","following_url":"https://api.github.com/users/cheekiatng/following{/other_user}","gists_url":"https://api.github.com/users/cheekiatng/gists{/gist_id}","starred_url":"https://api.github.com/users/cheekiatng/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cheekiatng/subscriptions","organizations_url":"https://api.github.com/users/cheekiatng/orgs","repos_url":"https://api.github.com/users/cheekiatng/repos","events_url":"https://api.github.com/users/cheekiatng/events{/privacy}","received_events_url":"https://api.github.com/users/cheekiatng/received_events","type":"User","site_admin":false},"assignees":[{"login":"cheekiatng","id":8412532,"avatar_url":"https://avatars.githubusercontent.com/u/8412532?v=3","gravatar_id":"","url":"https://api.github.com/users/cheekiatng","html_url":"https://github.com/cheekiatng","followers_url":"https://api.github.com/users/cheekiatng/followers","following_url":"https://api.github.com/users/cheekiatng/following{/other_user}","gists_url":"https://api.github.com/users/cheekiatng/gists{/gist_id}","starred_url":"https://api.github.com/users/cheekiatng/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cheekiatng/subscriptions","organizations_url":"https://api.github.com/users/cheekiatng/orgs","repos_url":"https://api.github.com/users/cheekiatng/repos","events_url":"https://api.github.com/users/cheekiatng/events{/privacy}","received_events_url":"https://api.github.com/users/cheekiatng/received_events","type":"User","site_admin":false},{"login":"ashcoding","id":9311952,"avatar_url":"https://avatars.githubusercontent.com/u/9311952?v=3","gravatar_id":"","url":"https://api.github.com/users/ashcoding","html_url":"https://github.com/ashcoding","followers_url":"https://api.github.com/users/ashcoding/followers","following_url":"https://api.github.com/users/ashcoding/following{/other_user}","gists_url":"https://api.github.com/users/ashcoding/gists{/gist_id}","starred_url":"https://api.github.com/users/ashcoding/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ashcoding/subscriptions","organizations_url":"https://api.github.com/users/ashcoding/orgs","repos_url":"https://api.github.com/users/ashcoding/repos","events_url":"https://api.github.com/users/ashcoding/events{/privacy}","received_events_url":"https://api.github.com/users/ashcoding/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/appcelerator/titanium_mobile/milestones/2","html_url":"https://github.com/appcelerator/titanium_mobile/milestones/5.4.0","labels_url":"https://api.github.com/repos/appcelerator/titanium_mobile/milestones/2/labels","id":1798927,"number":2,"title":"5.4.0","description":"","creator":{"login":"sgtcoolguy","id":3252,"avatar_url":"https://avatars.githubusercontent.com/u/3252?v=3","gravatar_id":"","url":"https://api.github.com/users/sgtcoolguy","html_url":"https://github.com/sgtcoolguy","followers_url":"https://api.github.com/users/sgtcoolguy/followers","following_url":"https://api.github.com/users/sgtcoolguy/following{/other_user}","gists_url":"https://api.github.com/users/sgtcoolguy/gists{/gist_id}","starred_url":"https://api.github.com/users/sgtcoolguy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sgtcoolguy/subscriptions","organizations_url":"https://api.github.com/users/sgtcoolguy/orgs","repos_url":"https://api.github.com/users/sgtcoolguy/repos","events_url":"https://api.github.com/users/sgtcoolguy/events{/privacy}","received_events_url":"https://api.github.com/users/sgtcoolguy/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":0,"state":"open","created_at":"2016-05-31T14:22:26Z","updated_at":"2016-07-20T19:17:01Z","due_on":null,"closed_at":null},"comments":1,"created_at":"2016-07-20T19:17:01Z","updated_at":"2016-07-21T03:13:23Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/appcelerator/titanium_mobile/pulls/8148","html_url":"https://github.com/appcelerator/titanium_mobile/pull/8148","diff_url":"https://github.com/appcelerator/titanium_mobile/pull/8148.diff","patch_url":"https://github.com/appcelerator/titanium_mobile/pull/8148.patch"},"body":"**JIRA:** https://jira.appcelerator.org/browse/TIMOB-15765\r\n\r\n**Description:**\r\nBack port of #8147 \r\n\r\nCan't add unit tests on 5_4_X branch, unfortunately, so I guess a manual test is needed. Set this as your app.js and run on an older emulator (< Android 6) and a newer emulator (6+):\r\n```javascript\r\nvar numberOfTableRowsToTest = 400; // 50 is enough to trigger on Android 4.4.2. 400 hits error on Android 6.0/23\r\n\r\nvar vAnswerTable = Ti.UI.createTableView({\r\n\tdata: [Ti.UI.createTableViewRow({title:'Loading...'})],\r\n});\r\n\r\nvar numOfQuestions = numberOfTableRowsToTest / 5;\r\nvar numOfAnswers = numOfQuestions * 4;\r\nvar sections = [];\r\n\r\nfor (var i = 0; i < numOfQuestions; i++) {\r\n\tvar questionTableSection = Ti.UI.createTableViewSection({});\r\n\r\n\tvar questionRow = Ti.UI.createTableViewRow({});\r\n\r\n\tquestionTableSection.add(questionRow);\r\n\r\n\tfor (var z = 0; z < numOfAnswers; z++) {\r\n\t\tvar answerRow = Ti.UI.createTableViewRow({});\r\n\t\tvar lAnswer = Ti.UI.createLabel({});\r\n\r\n\t\tanswerRow.add(lAnswer);\r\n\t\tquestionTableSection.add(answerRow);\r\n\t}\r\n\tsections.push(questionTableSection);\r\n}\r\n\r\n// Add the sections created above to the table view\r\nvAnswerTable.setData(sections);\r\n\r\nfor (var i = 0; i < vAnswerTable.data.length; i++) {\r\n\tTi.API.info(\"Here after \" + i + \" iterations outer loop. Current section: \" + vAnswerTable.data[i]);\r\n\tfor (var k = 0; k < vAnswerTable.data[i].rowCount; k++) {\r\n\t\tTi.API.info(\"Here after \" + k + \" iterations inner loop, \" + i + \" iterations outer loop. Current section row: \"+  vAnswerTable.data[i].rows[k]);\r\n\t}\r\n}\r\n```\r\n\r\nOn older Android it would complain about a JNI local ref overflow at 512 entries. On newer it would complain about a slightly different variant of the error (weak global refs, with a max of 51200).\r\n"},"comment":{"url":"https://api.github.com/repos/appcelerator/titanium_mobile/issues/comments/234145474","html_url":"https://github.com/appcelerator/titanium_mobile/pull/8148#issuecomment-234145474","issue_url":"https://api.github.com/repos/appcelerator/titanium_mobile/issues/8148","id":234145474,"user":{"login":"ashcoding","id":9311952,"avatar_url":"https://avatars.githubusercontent.com/u/9311952?v=3","gravatar_id":"","url":"https://api.github.com/users/ashcoding","html_url":"https://github.com/ashcoding","followers_url":"https://api.github.com/users/ashcoding/followers","following_url":"https://api.github.com/users/ashcoding/following{/other_user}","gists_url":"https://api.github.com/users/ashcoding/gists{/gist_id}","starred_url":"https://api.github.com/users/ashcoding/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ashcoding/subscriptions","organizations_url":"https://api.github.com/users/ashcoding/orgs","repos_url":"https://api.github.com/users/ashcoding/repos","events_url":"https://api.github.com/users/ashcoding/events{/privacy}","received_events_url":"https://api.github.com/users/ashcoding/received_events","type":"User","site_admin":false},"created_at":"2016-07-21T03:13:23Z","updated_at":"2016-07-21T03:13:23Z","body":"Functionally tested. Working well.\r\n**Approved**"}}
{"actor":{"display_login":"ashcoding"}}