{ "id": "175582", "key": "TIMOB-28174", "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": "21129", "name": "Release 9.2.2", "archived": false, "released": true, "releaseDate": "2020-10-29" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2020-10-29T13:10:23.000+0000", "created": "2020-09-30T07:35:57.000+0000", "priority": { "name": "Low", "id": "4" }, "labels": [ "analytics", "ios" ], "versions": [], "issuelinks": [], "assignee": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2020-10-29T13:10:23.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": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "After upgrading an application to SDK 9.2.0.GA we noticed that the entire application crashed after calling logHandledException.\r\n\r\nTo replicate the issue we created a new empty application, set the SDK to 9.2.0 and only used the com.appcelerator.aca module.\r\n\r\nEnvironment information available in the environment field.\r\n\r\nindex.js code:\r\n\r\n{code:javascript}\r\nconst aca = require('com.appcelerator.aca');\r\n\r\nadd('Breadcrumb', () => {\r\n aca.leaveBreadcrumb('example breadcrumb #1');\r\n // do stuff...\r\n aca.leaveBreadcrumb('example breadcrumb #2');\r\n});\r\n\r\nadd('Username', () => {\r\n aca.setUsername('Tester');\r\n});\r\n\r\nadd('Metadata', () => {\r\n // specify metadata using key, value\r\n aca.setMetadata('testKey', 'testKeyValue');\r\n\r\n // specify metadata using object\r\n aca.setMetadata({\r\n testObj: 'testObjValue'\r\n });\r\n});\r\n\r\nadd('Log Exception', () => {\r\n try {\r\n throw new Error('example exception');\r\n } catch (e) {\r\n aca.logHandledException(e);\r\n }\r\n});\r\n\r\nadd('Opt Out', () => {\r\n aca.setOptOutStatus(!aca.getOptOutStatus());\r\n console.log('set optOutStatus: ' + aca.getOptOutStatus());\r\n});\r\n\r\nfunction add(name, callback) {\r\n const btn = Ti.UI.createButton({ title: name, top:20, left: 5, right: 5 });\r\n btn.addEventListener('click', callback);\r\n $.index.add(btn);\r\n}\r\n\r\n$.index.open();\r\n{code}\r\n\r\n\r\nTerminal output:\r\n{code}\r\nappc run --project-dir \"/Users/vdlp/Mobile/demos/acatest\" --log-level info --platform ios --color --no-prompt --liveview --target simulator --sdk \"9.2.0.GA\" --device-id D2525A08-2CDA-41CA-AB58-F505A055E3E8 \r\n\r\nAppcelerator Command-Line Interface, version 8.1.1\r\nCopyright (c) 2014-2020, Appcelerator, Inc. All Rights Reserved.\r\n\r\n9/30/2020, 9:26:38 AM\r\n\r\nOperating System\r\n Name = Mac OS X\r\n Version = 10.15.6\r\n Architecture = 64bit\r\n # CPUs = 8\r\n Memory = 17179869184\r\n\r\nNode.js\r\n Node.js Version = 12.9.0\r\n npm Version = 6.14.8\r\n\r\nTitanium CLI\r\n CLI Version = 5.2.5\r\n\r\nTitanium SDK\r\n SDK Version = 9.2.0.GA\r\n SDK Path = /Users/vdlp/Library/Application Support/Titanium/mobilesdk/osx/9.2.0.GA\r\n Target Platform = iphone\r\n\r\nCommand\r\n /Users/vdlp/.nvm/versions/node/v12.9.0/bin/node /Users/vdlp/.appcelerator/install/8.1.1/package/node_modules/titanium/lib/titanium.js build --project-dir /Users/vdlp/Mobile/demos/acatest --log-level info --platform ios --color --no-prompt --liveview --target simulator --sdk 9.2.0.GA --device-id D2525A08-2CDA-41CA-AB58-F505A055E3E8 --config-file /var/folders/hy/91fthb9n5rb58slwgwj4l__c0000gn/T/build-1601450786538.json --no-banner --project-dir /Users/vdlp/Mobile/demos/acatest\r\n\r\n[INFO] Found Titanium module id=ti.cloud version=3.2.11 platform=commonjs deploy-type=development path=/Users/vdlp/Library/Application Support/Titanium/modules/commonjs/ti.cloud/3.2.11\r\n[INFO] Found Titanium module id=com.appcelerator.aca version=3.0.0 platform=ios deploy-type=development path=/Users/vdlp/Library/Application Support/Titanium/modules/iphone/com.appcelerator.aca/3.0.0\r\n[INFO] Found Titanium plugin id=ti.alloy version=1.0 \r\n[INFO] Deploy type: development\r\n[INFO] Building for target: simulator\r\n[INFO] Building using iOS SDK: 13.5\r\n[INFO] Building for iOS Simulator: iPhone 8\r\n[INFO] Building for device family: universal\r\n[INFO] Team ID: n/a\r\n[INFO] Minimum iOS version: 10.0\r\n[INFO] Logging disabled\r\n[INFO] Debugging disabled\r\n[INFO] Profiler disabled\r\n[INFO] Set to copy files instead of symlinking\r\n[INFO] Transpile javascript: true\r\n[INFO] Generate source maps: true\r\n[INFO] Forcing rebuild: tiapp.xml Titanium SDK version changed since last build\r\n[INFO] Was: 8.2.0.GA\r\n[INFO] Now: 9.2.0.GA\r\n[INFO] Initializing the build directory\r\n[INFO] Found Alloy app in /Users/vdlp/Mobile/demos/acatest/app\r\n[INFO] Executing Alloy compile: /Users/vdlp/.nvm/versions/node/v12.9.0/bin/node /Users/vdlp/.appcelerator/install/8.1.1/package/node_modules/alloy/bin/alloy compile /Users/vdlp/Mobile/demos/acatest/app --config platform=ios,version=0,simtype=none,devicefamily=universal,deploytype=development,target=simulator\r\n[INFO] [config.json] config.json unchanged, using cached config.json...\r\n[INFO] ----- MVC GENERATION -----\r\n[INFO] [app.tss] global style processing...\r\n[INFO] [global style] writing to cache...\r\n[INFO] [index.xml] view processing...\r\n[INFO] style: \"index.tss\"\r\n[INFO] view: \"index.xml\"\r\n[INFO] controller: \"index.js\"\r\n[INFO] created: \"Resources/iphone/alloy/controllers/index.js\"\r\n[INFO] created: \"Resources/iphone/alloy/styles/index.js\"\r\n[INFO] \r\n[INFO] [app.js] Titanium entry point processing...\r\n[INFO] created: \"Resources/iphone/app.js\"\r\n[INFO] \r\n[INFO] ----- OPTIMIZING -----\r\n[INFO] - iphone/alloy.bootstrap.js\r\n[INFO] - iphone/alloy.js\r\n[INFO] - iphone/alloy/sync/localStorage.js\r\n[INFO] - iphone/alloy/sync/properties.js\r\n[INFO] - iphone/alloy/sync/sql.js\r\n[INFO] \r\n[INFO] Alloy compiled in 1.26513s\r\n[INFO] Alloy compiler completed successfully\r\n[INFO] Creating Xcode project\r\n[INFO] Creating Entitlements.plist\r\n[INFO] Creating Info.plist\r\n[INFO] Disabling ATS\r\n[INFO] Creating main.m\r\n[INFO] Creating Xcode config files\r\n[INFO] Copying Titanium iOS files\r\n[INFO] Installing default LaunchScreen.storyboard\r\n[INFO] Cleaning Xcode derived data\r\n[INFO] Creating debugger and profiler plists\r\n[INFO] Analyzing Resources directory\r\n[INFO] Analyzing platform files\r\n[INFO] Analyzing module files\r\n[INFO] Analyzing localized launch images\r\n[INFO] Analyzing CommonJS modules\r\n[INFO] Analyzing CommonJS module: ti.cloud\r\n[INFO] Creating asset catalog\r\n[INFO] Creating app icon set\r\n[INFO] Creating launch logo image set\r\n[INFO] Missing 5 launch logos, generating missing launch logos from DefaultIcon.png\r\n[WARN] If this app has been previously installed on this simulator, you may need restart it to see the latest launch logo\r\n[WARN] iOS renders and caches the launch screen to a PNG image that seems to only be invalidated by restarting iOS\r\n[INFO] Missing 17 app icons, generating missing icons\r\n[INFO] appicon-Small.png - Used for iPad - size: 29x29\r\n[INFO] appicon-Small@2x.png - Used for iPhone, iPad - size: 58x58\r\n[INFO] appicon-Small@3x.png - Used for iPhone - size: 87x87\r\n[INFO] appicon-Small-40.png - Used for iPad - size: 40x40\r\n[INFO] appicon-Small-40@2x.png - Used for iPhone, iPad - size: 80x80\r\n[INFO] appicon-Small-40@3x.png - Used for iPhone - size: 120x120\r\n[INFO] appicon-60@2x.png - Used for iPhone - size: 120x120\r\n[INFO] appicon-60@3x.png - Used for iPhone - size: 180x180\r\n[INFO] appicon-76.png - Used for iPad - size: 76x76\r\n[INFO] appicon-76@2x.png - Used for iPad - size: 152x152\r\n[INFO] appicon-83.5@2x.png - Used for iPad - size: 167x167\r\n[INFO] appicon-Marketing.png - Used for iPhone - size: 1024x1024\r\n[INFO] LaunchLogo~iphone - Used for iphone - size: 320x320 - size: 320x320\r\n[INFO] LaunchLogo@2x~iphone - Used for iphone - size: 374x374 - size: 374x374\r\n[INFO] LaunchLogo@3x~iphone - Used for iphone - size: 621x621 - size: 621x621\r\n[INFO] LaunchLogo~ipad - Used for ipad - size: 384x384 - size: 384x384\r\n[INFO] LaunchLogo@2x~ipad - Used for ipad - size: 1024x1024 - size: 1024x1024\r\n[INFO] Processing JavaScript files\r\n[INFO] Writing app properties\r\n[INFO] Writing bootstrap json\r\n[INFO] Creating launch image set\r\n[INFO] Creating assets image set\r\n[INFO] Writing i18n files\r\n[INFO] Processing Titanium symbols\r\n[INFO] Removing files\r\n[INFO] Writing index.json with listing of JS/JSON files\r\n[INFO] Invoking xcodebuild\r\n[INFO] Finished building the application in 1m 1s 989ms\r\n[LiveView] version 1.5.4\r\n[LiveView] Alloy project monitor started\r\n[INFO] Launching iOS Simulator\r\n[LiveView] File Server Started on 0.0.0.0:8324\r\n[LiveView] Event Server Started on 0.0.0.0:8323\r\n[LiveView] Client connected\r\n-- Start simulator log -------------------------------------------------------\r\n[INFO] acatest 1.0 (Powered by Titanium 9.2.0.58a34e529d)\r\n[INFO] ACA started\r\n[INFO] Reachability Flag Status: -R ------- networkStatusForFlags\r\n[LiveView] Alloy recompile initiated for ios\r\n[INFO] Application started\r\n[INFO] Simulator user has requested new graphics quality: 10\r\n[LiveView] Reload Triggered\r\n REASON: File Changed\r\n FILE: /Users/vdlp/Mobile/demos/acatest/app/views/index.xml\r\n[LiveView] Client disconnected\r\n[INFO] [LiveView] Reloading App\r\n[INFO] UI SHUTDOWN COMPLETE. TRYING TO RESUME RESTART\r\n[INFO] acatest 1.0 (Powered by Titanium 9.2.0.58a34e529d)\r\n[INFO] ACA started\r\n[INFO] Reachability Flag Status: -R ------- networkStatusForFlags\r\n[LiveView] Client connected\r\n[LiveView] Alloy recompile initiated for ios\r\n[LiveView] Reload Triggered\r\n REASON: File Changed\r\n FILE: /Users/vdlp/Mobile/demos/acatest/app/views/index.xml\r\n[LiveView] Client disconnected\r\n[LiveView] Client connected\r\n[INFO] [LiveView] Reloading App\r\n[INFO] UI SHUTDOWN COMPLETE. TRYING TO RESUME RESTART\r\n[INFO] acatest 1.0 (Powered by Titanium 9.2.0.58a34e529d)\r\n[INFO] ACA started\r\n[INFO] Reachability Flag Status: -R ------- networkStatusForFlags\r\n[LiveView] Alloy recompile initiated for ios\r\n[LiveView] Reload Triggered\r\n REASON: File Changed\r\n FILE: /Users/vdlp/Mobile/demos/acatest/app/views/index.xml\r\n[LiveView] Client disconnected\r\n[LiveView] Client connected\r\n[INFO] [LiveView] Reloading App\r\n[INFO] UI SHUTDOWN COMPLETE. TRYING TO RESUME RESTART\r\n[INFO] acatest 1.0 (Powered by Titanium 9.2.0.58a34e529d)\r\n[INFO] ACA started\r\n[INFO] Reachability Flag Status: -R ------- networkStatusForFlags\r\n[LiveView] Alloy recompile initiated for ios\r\n[LiveView] Reload Triggered\r\n REASON: File Changed\r\n FILE: /Users/vdlp/Mobile/demos/acatest/app/controllers/index.js\r\n[LiveView] Client disconnected\r\n[LiveView] Client connected\r\n[INFO] [LiveView] Reloading App\r\n[INFO] UI SHUTDOWN COMPLETE. TRYING TO RESUME RESTART\r\n[INFO] acatest 1.0 (Powered by Titanium 9.2.0.58a34e529d)\r\n[INFO] ACA started\r\n[INFO] Reachability Flag Status: -R ------- networkStatusForFlags\r\n[LiveView] Client disconnected\r\n[ERROR] Script Error {\r\n[ERROR] column = 30;\r\n[ERROR] line = 77;\r\n[ERROR] message = \"*** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[2]\";\r\n[ERROR] nativeStack = \"3 CoreFoundation 0x00007fff23eda4a6 -[__NSPlaceholderDictionary initWithObjects:forKeys:count:].cold.4 + 38\\n4 CoreFoundation 0x00007fff23e9b787 -[__NSPlaceholderDictionary initWithObjects:forKeys:count:] + 247\\n5 CoreFoundation 0x00007fff23e38e11 +[NSDictionary dictionaryWithObjects:forKeys:count:] + 49\\n6 TitaniumKit0x000000010c55e386 -[APSAnalytics createDataPayload:] + 478\\n7 TitaniumKit0x000000010c55d5c3 -[APSAnalytics sendCrashReport:] + 30\\n8 acatest 0x000000010c1cedf5 -[ComAppceleratorAcaModule handleScriptError:handled:] + 968\\n9 acatest 0x000000010c1ce292 -[ComAppceleratorAcaModule logHandledException:] + 370\\n10 CoreFoundation 0x00007fff23e43e8c __invoking___ + 140\\n11 CoreFoundation 0x00007fff23e41071 -[NSInvocation invoke] + 321\\n12 TitaniumKit0x000000010c54f1a2 -[KrollMethod call:] + 1382\\n13 TitaniumKit0x000000010c54e3ad __KrollCallAsFunction_block_invoke + 30\\n14 TitaniumKit0x000000010c54e1c7 KrollCallAsFunction + 415\\n15 JavaScriptCore 0x00007fff26c91223 _ZN3JSC16JSCallbackObjectINS_16JSNonFinalObjectEE4callEPNS_14JSGlobalObjectEPNS_9CallFrameE + 627\\n16 JavaScriptCore 0x00007fff271649bf _ZN3JSC5LLInt9setUpCallEPNS_9CallFrameENS_22CodeSpecializationKindENS_7JSValueEPNS_17LLIntCallLinkInfoE + 959\\n17 JavaScriptCore 0x00007fff26c4e73f llint_entry + 93330\\n18 JavaScriptCore 0x00007fff26c378ff vmEntryToJavaScript + 200\\n19 JavaScriptCore 0x00007fff2706e6d5 _ZN3JSC11Interpreter11executeCallEPNS_14JSGlobalObjectEPNS_8JSObjectENS_8CallTypeERKNS_8CallDataENS_7JSValueERKNS_7ArgListE + 549\\n20 JavaScriptCore 0x00007fff272a898a _ZN3JSC12profiledCallEPNS_14JSGlobalObjectENS_15ProfilingReasonENS_7JSValueENS_8CallTypeERKNS_8CallDataES3_RKNS_7ArgListE + 170\\n21 JavaScriptCore 0x00007fff26c9f75c JSObjectCallAsFunction + 620\\n22 TitaniumKit0x000000010c52b1e9 TiBindingEventProcess + 686\";\r\n[ERROR] stack = \"[native code]\\n\";\r\n[ERROR] type = Error;\r\n[ERROR] } \r\n{code}", "attachment": [], "flagged": false, "summary": "Analytics: Exception can occur when constructing payload", "creator": { "name": "menzo", "key": "menzo", "displayName": "VDLP", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "menzo", "key": "menzo", "displayName": "VDLP", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "Operating System\r\n Name = Mac OS X\r\n Version = 10.15.6\r\n Architecture = 64bit\r\n # CPUs = 8\r\n Memory = 17179869184\r\n\r\nNode.js\r\n Node.js Version = 12.9.0\r\n npm Version = 6.14.8\r\n\r\nTitanium CLI\r\n CLI Version = 5.2.5\r\n\r\nTitanium SDK\r\n SDK Version = 9.2.0.GA\r\n SDK Path = /Users/vdlp/Library/Application Support/Titanium/mobilesdk/osx/9.2.0.GA\r\n Target Platform = iphone\r\n", "closedSprints": [ { "id": 1207, "state": "closed", "name": "2020 Sprint 20", "startDate": "2020-09-28T15:30:47.481Z", "endDate": "2020-10-09T15:30:00.000Z", "completeDate": "2020-10-09T16:33:43.453Z", "originBoardId": 114 }, { "id": 1208, "state": "closed", "name": "2020 Sprint 21", "startDate": "2020-10-12T16:34:00.000Z", "endDate": "2020-10-23T16:34:00.000Z", "completeDate": "2020-10-23T02:32:43.674Z", "originBoardId": 114 }, { "id": 1209, "state": "closed", "name": "2020 Sprint 22", "startDate": "2020-10-27T02:33:00.000Z", "endDate": "2020-11-07T02:33:00.000Z", "completeDate": "2020-11-06T17:45:42.610Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "457224", "author": { "name": "menzo", "key": "menzo", "displayName": "VDLP", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Any updates on this? I see the priority has been changed from critical to low. What's the reasoning behind this? We're currently unable to upgrade our applications because they crash when we attempt to report exceptions.\r\n\r\nIf we could prevent this in any way that would be great.", "updateAuthor": { "name": "menzo", "key": "menzo", "displayName": "VDLP", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-10-09T13:59:06.000+0000", "updated": "2020-10-09T13:59:06.000+0000" }, { "id": "457354", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "https://github.com/appcelerator/titanium_mobile/pull/12220", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2020-10-27T13:56:47.000+0000", "updated": "2020-10-27T13:56:47.000+0000" }, { "id": "457355", "author": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "body": "FR Passed, Waiting on Jenkins build and build for 9_2_X. ", "updateAuthor": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-10-27T15:34:43.000+0000", "updated": "2020-10-27T15:34:43.000+0000" }, { "id": "457360", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "merged to master for 9.3.0 target. backport PR for 9_2_X merged for 9.2.2 target.", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2020-10-27T19:00:54.000+0000", "updated": "2020-10-28T14:09:02.000+0000" }, { "id": "457389", "author": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "body": "*Closing ticket*. Fix verified in SDK version {{9.3.0.v20201028071437}}, and {{9.2.2.v20201028132228}}.\r\n\r\n*Test and other information can be found at:*\r\nhttps://github.com/appcelerator/titanium_mobile/pull/12220", "updateAuthor": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-10-29T13:10:14.000+0000", "updated": "2020-10-29T13:10:14.000+0000" } ], "maxResults": 8, "total": 8, "startAt": 0 } } }