{ "id": "63565", "key": "TIMOB-2933", "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": [ { "id": "11240", "name": "Release 1.6.0 M07", "archived": true, "released": true, "releaseDate": "2011-01-31" } ], "resolution": { "id": "7", "description": "", "name": "Invalid" }, "resolutiondate": "2011-04-15T03:33:14.000+0000", "created": "2011-04-15T03:33:14.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "android", "defect", "facebook", "regression", "release-1.6.0", "reported-1.6.0" ], "versions": [], "issuelinks": [], "assignee": { "name": "billdawson", "key": "billdawson", "displayName": "Bill Dawson", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2017-03-23T21:57:06.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}
[INFO] Titanium SDK version: 1.6.0 (01/24/11\n08:14 e1cb22a) all supported platforms
\nresults:a bunch of exceptions, pastie here: http://pastie.org/1497476
\nthe test seems to succeed though, this bug is about the errors\nseen in logcat.
Sadly, this is inside Facebook's android SDK and android code\nitself. It's not an exception that surfaces (it's quelled\ninternally by Android code and displayed just for logging purposes\nby them, thus the comment \"Attempt to cast generated internal\nexception:\").
\nTechnical reason:
\nFB checks every key inside a Bundle
to see if it\nhappens to be a byte array. They do that by iterating over each key\nand calling if Bundle.getByteArray(key) == null ...
.\nIf the value associated with the key is not a byte array, then null\nis returned, which is fine for FB's purposes. Alas, Android's\nBundle
code decides to log the fact that the call --\ninternally -- also caused them to have a\nClassCastException
. They don't re-throw that exception\n-- they just logcat it and return null, which FB programmers are\ncounting on (and rightly so, given that the documentation for\ngetByteArray
says \"Returns the value associated with\nthe given key, or null if no mapping of the desired type\nexists for the given key or a null value is explicitly\nassociated with the key.\"
In a nutshell: this is not our code and the ugly logging -- in\nthis case -- is not a sign of anything gone wrong. Android internal\ncode has decided to log an exception that they don't throw.