{ "id": "63710", "key": "TIMOB-3078", "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": "11243", "name": "Release 1.6.0 M10", "archived": true, "released": true, "releaseDate": "2011-02-21" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2011-04-17T02:00:51.000+0000", "created": "2011-04-15T03:36:13.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [ "android", "defect", "lifecycle_refactor", "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": "2011-04-17T02:00:51.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}
Testing on 2.2 device with Titanium 1.6.0 49c5b13 (Mon Feb 7\n21:26:27 2011 -0600).
\nSeveral symptoms:
\nThe \"Loading\" indicator stays around forever (in Smoketest\nanyway, but not KS). (NOTE: see later comment. This was changed in\nKS but not Smoketest. So it's a non-issue.)
\nSometimes no images appear. But this is very\ndifficult to reproduce. It's happened to me a few times.
\nSometimes when you go back it crashes the app.\nLog:
\n\nW/dalvikvm(10893): threadid=15: thread exiting with uncaught exception (group=0x400259f8)\nE/TiUncaughtHandler(10893): (Thread-18) [1469,48790] Sending event: exception on thread: Thread-18 msg:java.lang.NullPointerException; Titanium 1.6.0,2011/02/08 17:42,9c5b13\nE/TiUncaughtHandler(10893): java.lang.NullPointerException\nE/TiUncaughtHandler(10893): at ti.modules.titanium.ui.widget.TiUIImageView$Loader.isNotFinalFrame(TiUIImageView.java:227)\nE/TiUncaughtHandler(10893): at ti.modules.titanium.ui.widget.TiUIImageView$Loader.run(TiUIImageView.java:251)\nE/TiUncaughtHandler(10893): at java.lang.Thread.run(Thread.java:1102)\nE/AndroidRuntime(10893): FATAL EXCEPTION: Thread-18\nE/AndroidRuntime(10893): java.lang.NullPointerException\nE/AndroidRuntime(10893): at ti.modules.titanium.ui.widget.TiUIImageView$Loader.isNotFinalFrame(TiUIImageView.java:227)\nE/AndroidRuntime(10893): at ti.modules.titanium.ui.widget.TiUIImageView$Loader.run(TiUIImageView.java:251)\nE/AndroidRuntime(10893): at java.lang.Thread.run(Thread.java:1102)\nW/ActivityManager( 96): Force finishing activity com.appcelerator.SmokeTest/org.appcelerator.titanium.TiActivity
\n
Just so y'all don't think I'm crazy, here is the Titanium\nversion info output during build of KitchenSink. I rebuild the SDK\nand KitchenSink, just to be sure:
\nTitanium SDK version: 1.6.0 (02/08/11 20:51\n49c5b13)
That hash is precisely the HEAD of master at this moment. (The\ndate/time shows my time now, because I just re-built the SDK.)
\nAnd the attached screen capture is of my device running the\nImage View - Animated test. In this case, there are no images\ndisplaying (the second condition noted above).
The first issue I list above has already been addressed by a\nchange in KS from Marshall at the time he committed many of the new\nmessage queue implementation changes. But the change isn't in\nSmoketest, so that's why I saw the behavior there. Marshall's\nrelevant commit:
\n\nhttps://github.com/appcelerator/titanium_mobile/commit/76647275afd7...
I can't reliably reproduce the second issue (no images appear).\nIt's happened twice -- one time I caught the screen capture for\nposterity, but neither time did I get a logcat. Bad boy. So we'll\nhave to accept that one.
(from [b27d06ff4e2818e3daf755c0a2c6eff84c1eac57])\n[#3078 state:fixed-in-qa] check for imageSources\nbeing null before accessing \nhttps://github.com/appcelerator/titanium_mobile/commit/b27d06ff4e28...
Adding to this ticket, because there is another place where\n\"backing out\" can cause an NPE:
\n\nE/TiUncaughtHandler( 8676): (Thread-24) [398,283170] Sending event: exception on thread: Thread-24 msg:java.lang.NullPointerException; Titanium 1.6.0,2011/02/08 16:18,17c1ea\nE/TiUncaughtHandler( 8676): java.lang.NullPointerException\nE/TiUncaughtHandler( 8676): at ti.modules.titanium.ui.widget.TiUIImageView$Loader.getStart(TiUIImageView.java:220)\nE/TiUncaughtHandler( 8676): at ti.modules.titanium.ui.widget.TiUIImageView$Loader.run(TiUIImageView.java:251)\nE/TiUncaughtHandler( 8676): at java.lang.Thread.run(Thread.java:1096)
\n
One additional way to test this and try to break it is to go in\nand out of the test quickly. Or go into it, click \"Stop\", click\n\"Start\" but then back out quickly before it really has a chance to\nstart. Also go in, click \"Stop\", click \"Reverse\", click \"Start\",\nthen go back fast before it can start.
\nTry to make it break, in other words.
(from [67b6bde7b0c14e4b916180abd228a242432f8ff9])\nPut more null checks in image view animator to avoid NPEs when user\nbacks out of an animation. [#3078 state:fixed-in-qa] \nhttps://github.com/appcelerator/titanium_mobile/commit/67b6bde7b0c1...
(from [f666f8d2c6ccb03e523ad2216b66808ea054573e])\nPut more null checks in image view animator to avoid NPEs when user\nbacks out of an animation. [#3078 state:fixed-in-qa] \nhttps://github.com/appcelerator/titanium_mobile/commit/f666f8d2c6cc...
Verified on Droid 2 (2.2) against KS built with 1_6_X