{ "id": "142853", "key": "AC-1190", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "12217", "key": "AC", "name": "Appcelerator - INBOX", "projectCategory": { "id": "10000", "description": "", "name": "Customer Service" } }, "resolution": { "id": "8", "description": "", "name": "Needs more info" }, "resolutiondate": "2015-02-03T15:05:45.000+0000", "created": "2015-01-15T03:01:42.000+0000", "labels": [], "versions": [], "issuelinks": [], "assignee": { "name": "sliang", "key": "sliang", "displayName": "Shuo Liang", "active": true, "timeZone": "Asia/Harbin" }, "updated": "2016-03-08T07:37:33.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": [], "description": "I am attempting to get our Titanium Classic app working on 3.5.0.GA and it is crashing a lot. The stacktrace isn't exactly the same every time it crashes, but it is close.\r\n\r\nHere is the stacktrace (from the simulator):\r\n{code}\r\n(lldb) bt\r\n* thread #7: tid = 0x3c1429, 0x0000000101e7721f WorkPlan`bool TI::JSObject::putDirectInternal<(TI::JSObject::PutMode)1>(TI::VM&, TI::PropertyName, TI::TiValue, unsigned int, TI::PutPropertySlot&, TI::JSCell*) + 1647, name = 'KrollContext', stop reason = EXC_BAD_ACCESS (code=1, address=0xffffffffffffffe8)\r\n frame #0: 0x0000000101e7721f WorkPlan`bool TI::JSObject::putDirectInternal<(TI::JSObject::PutMode)1>(TI::VM&, TI::PropertyName, TI::TiValue, unsigned int, TI::PutPropertySlot&, TI::JSCell*) + 1647\r\n frame #1: 0x0000000101e761b3 WorkPlan`TI::putDescriptor(TI::ExecState*, TI::JSObject*, TI::PropertyName, TI::PropertyDescriptor const&, unsigned int, TI::PropertyDescriptor const&) + 435\r\n frame #2: 0x0000000101e752d7 WorkPlan`TI::JSObject::defineOwnNonIndexProperty(TI::ExecState*, TI::PropertyName, TI::PropertyDescriptor const&, bool) + 551\r\n frame #3: 0x0000000101e6ec00 WorkPlan`TI::JSObject::defineOwnProperty(TI::JSObject*, TI::ExecState*, TI::PropertyName, TI::PropertyDescriptor const&, bool) + 80\r\n frame #4: 0x0000000101e7a9fe WorkPlan`TiObjectSetProperty + 494\r\n * frame #5: 0x0000000101b4a4dc WorkPlan`-[KrollObject noteObject:forTiString:context:](self=0x00007fd0fe8b89c0, _cmd=0x000000010208c74e, storedJSObject=0x000000011e925c50, keyString=0x000000011e821060, jsContextRef=0x00000001168c83b8) + 284 at KrollObject.m:1227\r\n frame #6: 0x0000000101b45cc6 WorkPlan`KrollGetProperty(jsContext=0x00000001168c83b8, object=0x000000011ebdf630, prop=0x000000011e821060, exception=0x0000000115e6b138) + 1462 at KrollObject.m:239\r\n frame #7: 0x0000000101e2e997 WorkPlan`TI::JSCallbackObject::getOwnPropertySlot(TI::JSObject*, TI::ExecState*, TI::PropertyName, TI::PropertySlot&) + 487\r\n frame #8: 0x0000000101db779a WorkPlan`TI::TiValue::get(TI::ExecState*, TI::PropertyName, TI::PropertySlot&) const + 362\r\n frame #9: 0x0000000101df8cf2 WorkPlan`operationGetById + 114\r\n frame #10: 0x000007b8e5791b76\r\n frame #11: 0x000007b8e57919f8\r\n frame #12: 0x000007b8e57919f8\r\n frame #13: 0x000007b8e57919f8\r\n frame #14: 0x000007b8e57919f8\r\n frame #15: 0x000007b8e57919f8\r\n frame #16: 0x0000000101ee7c0e WorkPlan`llint_op_call + 153\r\n frame #17: 0x0000000101ee7c0e WorkPlan`llint_op_call + 153\r\n frame #18: 0x0000000101ee7c0e WorkPlan`llint_op_call + 153\r\n frame #19: 0x0000000101ee7c0e WorkPlan`llint_op_call + 153\r\n frame #20: 0x0000000101ee7cc4 WorkPlan`llint_op_construct + 153\r\n frame #21: 0x0000000101ee7cc4 WorkPlan`llint_op_construct + 153\r\n frame #22: 0x000007b8e56f275d\r\n frame #23: 0x0000000101ee7bda WorkPlan`llint_op_call + 101\r\n frame #24: 0x0000000101ee7c0e WorkPlan`llint_op_call + 153\r\n frame #25: 0x000007b8e56f275d\r\n frame #26: 0x0000000101ee7bda WorkPlan`llint_op_call + 101\r\n frame #27: 0x0000000101ee7c0e WorkPlan`llint_op_call + 153\r\n frame #28: 0x0000000101ee7cc4 WorkPlan`llint_op_construct + 153\r\n frame #29: 0x0000000101ee7c0e WorkPlan`llint_op_call + 153\r\n frame #30: 0x000007b8e56f275d\r\n frame #31: 0x0000000101ee7c0e WorkPlan`llint_op_call + 153\r\n frame #32: 0x0000000101ee7c0e WorkPlan`llint_op_call + 153\r\n frame #33: 0x0000000101ee3fc5 WorkPlan`callToJavaScript + 191\r\n frame #34: 0x0000000101dd6df0 WorkPlan`TI::JITCode::execute(TI::VM*, TI::ProtoCallFrame*, TI::Register*) + 48\r\n frame #35: 0x000007b8e56f275d\r\n frame #36: 0x0000000101ee7bda WorkPlan`llint_op_call + 101\r\n frame #37: 0x0000000101ee7d38 WorkPlan`llint_op_call_varargs + 87\r\n frame #38: 0x0000000101ee7d38 WorkPlan`llint_op_call_varargs + 87\r\n frame #39: 0x0000000101ee3fc5 WorkPlan`callToJavaScript + 191\r\n{code}\r\n{code}\r\n(lldb) bt\r\n* thread #7: tid = 0x3c762b, 0x000000010879f820 WorkPlan`TI::JSCallbackObject::getOwnPropertySlot(TI::JSObject*, TI::ExecState*, TI::PropertyName, TI::PropertySlot&) + 112, name = 'KrollContext', stop reason = EXC_BAD_ACCESS (code=1, address=0x10)\r\n frame #0: 0x000000010879f820 WorkPlan`TI::JSCallbackObject::getOwnPropertySlot(TI::JSObject*, TI::ExecState*, TI::PropertyName, TI::PropertySlot&) + 112\r\n frame #1: 0x00000001087ee11c WorkPlan`TI::JSObject::get(TI::ExecState*, TI::PropertyName) const + 236\r\n frame #2: 0x00000001087eb6b6 WorkPlan`TiObjectGetProperty + 182\r\n * frame #3: 0x00000001084bb677 WorkPlan`-[KrollObject objectForTiString:context:](self=0x00007f8597829680, _cmd=0x00000001089fe3e5, keyString=0x0000000118e91090, jsContextRef=0x000000011d23f468) + 183 at KrollObject.m:1264\r\n frame #4: 0x00000001084b67b5 WorkPlan`KrollGetProperty(jsContext=0x000000011d23f468, object=0x000000012060ff10, prop=0x000000011d5015d0, exception=0x000000011c7b3138) + 165 at KrollObject.m:198\r\n frame #5: 0x000000010879f997 WorkPlan`TI::JSCallbackObject::getOwnPropertySlot(TI::JSObject*, TI::ExecState*, TI::PropertyName, TI::PropertySlot&) + 487\r\n frame #6: 0x000000010872879a WorkPlan`TI::TiValue::get(TI::ExecState*, TI::PropertyName, TI::PropertySlot&) const + 362\r\n frame #7: 0x0000000108769cf2 WorkPlan`operationGetById + 114\r\n frame #8: 0x000006b9956db443\r\n frame #9: 0x000006b9956de5ee\r\n frame #10: 0x000006b9956df049\r\n frame #11: 0x000006b9956df3d8\r\n frame #12: 0x000006b9956df3d8\r\n frame #13: 0x0000000108858c0e WorkPlan`llint_op_call + 153\r\n frame #14: 0x0000000108858c0e WorkPlan`llint_op_call + 153\r\n frame #15: 0x0000000108858c0e WorkPlan`llint_op_call + 153\r\n frame #16: 0x0000000108858c0e WorkPlan`llint_op_call + 153\r\n frame #17: 0x0000000108858cc4 WorkPlan`llint_op_construct + 153\r\n frame #18: 0x0000000108858cc4 WorkPlan`llint_op_construct + 153\r\n frame #19: 0x000006b99560f9de\r\n frame #20: 0x0000000108858bda WorkPlan`llint_op_call + 101\r\n frame #21: 0x0000000108858c0e WorkPlan`llint_op_call + 153\r\n frame #22: 0x000006b99560f9de\r\n frame #23: 0x0000000108858bda WorkPlan`llint_op_call + 101\r\n frame #24: 0x0000000108858c0e WorkPlan`llint_op_call + 153\r\n frame #25: 0x0000000108858cc4 WorkPlan`llint_op_construct + 153\r\n frame #26: 0x0000000108858c0e WorkPlan`llint_op_call + 153\r\n frame #27: 0x000006b99560f9de\r\n frame #28: 0x0000000108858c0e WorkPlan`llint_op_call + 153\r\n frame #29: 0x0000000108858c0e WorkPlan`llint_op_call + 153\r\n frame #30: 0x0000000108854fc5 WorkPlan`callToJavaScript + 191\r\n frame #31: 0x0000000108747df0 WorkPlan`TI::JITCode::execute(TI::VM*, TI::ProtoCallFrame*, TI::Register*) + 48\r\n frame #32: 0x000006b99560f9de\r\n frame #33: 0x0000000108858bda WorkPlan`llint_op_call + 101\r\n frame #34: 0x0000000108858d38 WorkPlan`llint_op_call_varargs + 87\r\n frame #35: 0x0000000108858d38 WorkPlan`llint_op_call_varargs + 87\r\n frame #36: 0x0000000108854fc5 WorkPlan`callToJavaScript + 191\r\n{code}\r\n\r\nThe only frame I can inspect in the debugger is [KrollObject objectForTiString:context: ... if I try to inspect keyString in the debugger it appears to be __EX\\1\\0 most of the time, but it has also been __EX\\2EC\\0. I don't know if that means anything to anyone.\r\n\r\nI got it to fail once where the keyString was a key string from my codebase. The string appeared to have some stuff after the key name and the before the null terminator ie it should have been \"nodeName\" and it was \"nodeName\" then 65320, 65535, 65535, 65535, 8072, 7107, 1, 0. Possibly indicates memory corruption?\r\n\r\nThe crash is occurring at a point in the code when it's deserializing a large chunk of XML and turing it into JS objects. It wouldn't surprise me if the JS allocator is under a lot of load when it's crashing.", "attachment": [ { "id": "53647", "filename": "WorkPlan.build.log", "author": { "name": "mark.catley@telogis.com", "key": "mark.catley@telogis.com", "displayName": "Mark Catley", "active": true, "timeZone": "Pacific/Auckland" }, "created": "2015-01-15T22:47:02.000+0000", "size": 2655162, "mimeType": "text/plain" }, { "id": "53652", "filename": "WorkPlan.crash.log", "author": { "name": "mark.catley@telogis.com", "key": "mark.catley@telogis.com", "displayName": "Mark Catley", "active": true, "timeZone": "Pacific/Auckland" }, "created": "2015-01-16T02:46:50.000+0000", "size": 503471, "mimeType": "text/plain" } ], "flagged": false, "summary": "3.5.0.GA Crashing on iOS", "creator": { "name": "mark.catley@telogis.com", "key": "mark.catley@telogis.com", "displayName": "Mark Catley", "active": true, "timeZone": "Pacific/Auckland" }, "subtasks": [], "reporter": { "name": "mark.catley@telogis.com", "key": "mark.catley@telogis.com", "displayName": "Mark Catley", "active": true, "timeZone": "Pacific/Auckland" }, "environment": "iPhone 5s iOS 8.1.2\r\niOS simulator (iOS 8.1 and iOS 8.0)", "comment": { "comments": [ { "id": "339191", "author": { "name": "sliang", "key": "sliang", "displayName": "Shuo Liang", "active": true, "timeZone": "Asia/Harbin" }, "body": "Please provide the full output from studio console when you build the app. Thanks\r\n", "updateAuthor": { "name": "sliang", "key": "sliang", "displayName": "Shuo Liang", "active": true, "timeZone": "Asia/Harbin" }, "created": "2015-01-15T06:22:33.000+0000", "updated": "2015-01-15T06:22:33.000+0000" }, { "id": "339337", "author": { "name": "mark.catley@telogis.com", "key": "mark.catley@telogis.com", "displayName": "Mark Catley", "active": true, "timeZone": "Pacific/Auckland" }, "body": "I have attached the log.", "updateAuthor": { "name": "mark.catley@telogis.com", "key": "mark.catley@telogis.com", "displayName": "Mark Catley", "active": true, "timeZone": "Pacific/Auckland" }, "created": "2015-01-15T22:47:19.000+0000", "updated": "2015-01-15T22:47:19.000+0000" }, { "id": "339372", "author": { "name": "sliang", "key": "sliang", "displayName": "Shuo Liang", "active": true, "timeZone": "Asia/Harbin" }, "body": "Based on your log, I only can see the error about \"you can't use push notification with a simulator\". Actually, we would suggest you test your push notification service in physical device, not in simulator.\r\n\r\nSo please try to test it with actual IOS device.\r\n\r\n", "updateAuthor": { "name": "sliang", "key": "sliang", "displayName": "Shuo Liang", "active": true, "timeZone": "Asia/Harbin" }, "created": "2015-01-16T02:41:15.000+0000", "updated": "2015-01-16T02:41:15.000+0000" }, { "id": "339375", "author": { "name": "mark.catley@telogis.com", "key": "mark.catley@telogis.com", "displayName": "Mark Catley", "active": true, "timeZone": "Pacific/Auckland" }, "body": "I thought you just wanted the build log? I can give you the log of the actual crash if you like.", "updateAuthor": { "name": "mark.catley@telogis.com", "key": "mark.catley@telogis.com", "displayName": "Mark Catley", "active": true, "timeZone": "Pacific/Auckland" }, "created": "2015-01-16T02:45:37.000+0000", "updated": "2015-01-16T02:45:37.000+0000" }, { "id": "339376", "author": { "name": "mark.catley@telogis.com", "key": "mark.catley@telogis.com", "displayName": "Mark Catley", "active": true, "timeZone": "Pacific/Auckland" }, "body": "I have attached the crashlog. It doesn't have any information in it though.", "updateAuthor": { "name": "mark.catley@telogis.com", "key": "mark.catley@telogis.com", "displayName": "Mark Catley", "active": true, "timeZone": "Pacific/Auckland" }, "created": "2015-01-16T02:49:32.000+0000", "updated": "2015-01-16T02:49:32.000+0000" }, { "id": "341828", "author": { "name": "mpmiranda", "key": "mpmiranda", "displayName": "Mauro Parra-Miranda", "active": true, "timeZone": "America/Mexico_City" }, "body": "Hello,\r\nthis doesn't include a testcase, so we can't reproduce this one. \r\n\r\nPlease read this guide:\r\n\r\nhttp://docs.appcelerator.com/titanium/3.0/#!/guide/How_to_Submit_a_Bug_Report\r\n\r\nwe recommend you to provide a testcase in the form of app.js with instructions on how to reproduce your issue. \r\n\r\nBest Regards", "updateAuthor": { "name": "mpmiranda", "key": "mpmiranda", "displayName": "Mauro Parra-Miranda", "active": true, "timeZone": "America/Mexico_City" }, "created": "2015-02-03T15:05:45.000+0000", "updated": "2015-02-03T15:05:45.000+0000" } ], "maxResults": 6, "total": 6, "startAt": 0 } } }