{ "id": "64142", "key": "TIMOB-3510", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [], "resolution": { "id": "3", "description": "The problem is a duplicate of an existing issue.", "name": "Duplicate" }, "resolutiondate": "2011-04-15T03:46:06.000+0000", "created": "2011-04-15T03:46:05.000+0000", "priority": { "name": "Trivial", "id": "5" }, "labels": [ "android", "defect" ], "versions": [], "issuelinks": [], "assignee": { "name": "dthorp", "key": "dthorp", "displayName": "Don Thorp", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2017-03-29T22:15:05.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10202", "name": "Android", "description": "Android Platform" } ], "description": "{html}
I've been going over this, and I'm fairly certain this is a\nbug.
\nHere's the minimal test that will crash on Android with\nSIGSEGV:
\nvar win = Ti.UI.createWindow({
\n// Android\nnavBarHidden: false,\nexitOnClose: true
\n
\n}); var view = Ti.UI.createWebView({
\nscalesPageToFit: false,\nurl: 'something.html'
\n
\n}); view.addEventListener('load', function() {
\nview.evalJS(\"test\");
\n
\n}); win.add(view);
\nwin.open();
(Although I find it hard to believe people aren't somehow using\nevalJS() on Android. You'd think it would be a higher-profile\nissue.)
\nAnyway, that code gives a crash dump similar to http://pastie.org/1754641.
Sorry about that formatting. I just realized how it pasted.\nHopefully this is better.
\n(Also, confirming that this crash also happens with 1.7\nbeta.)
\n\nvar win = Ti.UI.createWindow({\n // Android\n navBarHidden: false,\n exitOnClose: true\n});\nvar view = Ti.UI.createWebView({\n scalesPageToFit: false,\n url: 'something.html'\n});\nview.addEventListener('load', function() {\n view.evalJS(\"test\");\n});\nwin.add(view);\nwin.open();
\n
Just as some further background and to help try to pinpoint it\nregression-wise, this issue seems to go back at least a year:
\nhttp://developer.appcelerator.com/question/117750/android-evaljs
\n\nhttp://developer.appcelerator.com/question/67431/js-to-webview-working-on-iphone-not-in-android
\n\n\nThis is, strangely, in direct contravention to your drillbit\ntest in:
\n\nhttps://github.com/appcelerator/titanium_mobile/commit/597a4878af606e255811964cc5cbc9b93df5dfb2
\nIf that works, then what is drillbit doing differently so that\nit works whereas the app.js above crashes hard immediately?
Further information: This crash doesn't seem to happen on 3.0.\nBut the necessary Ti Javascript seems to never get\ninjected, as is the case with 1.6 (i.e., no crash, but no Ti\ninjection).
The information in this ticket has been moved to #3554