{ "id": "174264", "key": "TIMOB-27518", "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": null, "resolutiondate": null, "created": "2019-10-16T20:56:50.000+0000", "priority": null, "labels": [], "versions": [], "issuelinks": [], "assignee": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2019-11-03T00:07:20.000+0000", "status": { "description": "The issue is open and ready for the assignee to start work on it.", "name": "Open", "id": "1", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "components": [], "description": "Hi,\r\n\r\nOur app stopped working today, it didn't even hit the splash screen. In my logs I found the following, and it came back after 10 minutes. This was our production app, both Android and iOS were down, the warnings below came from iOS.\r\n\r\nAny thoughts on what the warnings mean? We didn't see any errors logged, just these warnings, and the apps stopped.\r\n\r\nThanks\r\n\r\n{code:java}\r\n[WARN] %cUnhandled rejection\r\n[WARN] r\r\n[WARN] _settlePromiseFromHandler\r\n[WARN] _settlePromise\r\n[WARN] _settlePromise0\r\n[WARN] _settlePromises\r\n[WARN] c\r\n[WARN] a\r\n[WARN] _drainQueues\r\n[WARN] drainQueues\r\n[WARN] run@file:///var/containers/Bundle/Application/EBC3C045-AEBC-4136-B7D8-9E52E4C0C97B/Lemonaid.app/ti.main.js:1756:29\r\n[WARN] file:///var/containers/Bundle/Application/EBC3C045-AEBC-4136-B7D8-9E52E4C0C97B/Lemonaid.app/ti.main.js:1777:10\r\n[WARN] flush@file:///var/containers/Bundle/Application/EBC3C045-AEBC-4136-B7D8-9E52E4C0C97B/Lemonaid.app/ti.main.js:1581:11\r\n[WARN] promiseReactionJob@[native code] color: red\r\n[WARN] %cUnhandled rejection (<{\"e\":{\"success\":false,\"code\":400,\"sour...>, no stack trace) color: red\r\n{code}\r\n", "attachment": [ { "id": "67075", "filename": "error1.png", "author": { "name": "capsizeno4", "key": "capsizeno4", "displayName": "eric harms", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-10-21T17:52:49.000+0000", "size": 45297, "mimeType": "image/png" }, { "id": "67074", "filename": "error2.png", "author": { "name": "capsizeno4", "key": "capsizeno4", "displayName": "eric harms", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-10-21T17:52:49.000+0000", "size": 45345, "mimeType": "image/png" } ], "flagged": false, "summary": "Android/iOS production apps went down, warnings from ti.main.js", "creator": { "name": "capsizeno4", "key": "capsizeno4", "displayName": "eric harms", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "capsizeno4", "key": "capsizeno4", "displayName": "eric harms", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "452119", "author": { "name": "topener", "key": "topener", "displayName": "Rene Pot", "active": true, "timeZone": "Europe/Berlin" }, "body": "Did you have axway analytics enabled? As well as any other axway services?", "updateAuthor": { "name": "topener", "key": "topener", "displayName": "Rene Pot", "active": true, "timeZone": "Europe/Berlin" }, "created": "2019-10-17T13:19:29.000+0000", "updated": "2019-10-17T13:19:29.000+0000" }, { "id": "452120", "author": { "name": "capsizeno4", "key": "capsizeno4", "displayName": "eric harms", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I do have analytics enabled, I was thinking this could have been the issue. \r\n\r\nI am using ACA crash reporting, so I don't think I can disable analytics?\r\n\r\nIf so, is there anyway to check if the api's are working and disable it if there is an issue?\r\n\r\nThanks\r\n\r\n", "updateAuthor": { "name": "capsizeno4", "key": "capsizeno4", "displayName": "eric harms", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-10-17T15:03:18.000+0000", "updated": "2019-10-17T15:03:18.000+0000" }, { "id": "452129", "author": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~capsizeno4] It looks like your app is making a HTTP request that's failing. Are you handling the fail case correctly?\r\n\r\nLooks like you're doing something similar to this:\r\n{code:js}\r\nnew Promise((resolve, reject) => {\r\n\tconst client = Ti.Network.createHTTPClient({\r\n\t\tonload: resolve,\r\n\t\tonerror: reject,\r\n\t\ttimeout: 5000\r\n\t});\r\n\tclient.open('GET', 'https://httpbin.org/status/400');\r\n\tclient.send();\r\n});\r\n{code}\r\n\r\nYou need to either enclose the {{Promise}} in a try-catch or handle the rejection with {{.catch()}}", "updateAuthor": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-10-17T18:56:44.000+0000", "updated": "2019-10-17T18:56:44.000+0000" }, { "id": "452131", "author": { "name": "capsizeno4", "key": "capsizeno4", "displayName": "eric harms", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Hi Gary,\r\n\r\nyes, I am catching my HTTP promise requests (im using bluebird.js), and I usually get a hint at which one fails, if it does. This one happened before my splash screen even showed, so to me that looked like it was erroring before any of my HTTP calls were being made. I was hoping that the warning I provided might be able to shed a clue as to where the error was originating within ti.main.js\r\n\r\nMy api team assured me that all our apis were operable at the time, and unfortunately the logs from the incident are long gone. Best I can do is keep watch moving forward. \r\n\r\nThanks\r\nEric", "updateAuthor": { "name": "capsizeno4", "key": "capsizeno4", "displayName": "eric harms", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-10-17T19:03:12.000+0000", "updated": "2019-10-17T19:03:12.000+0000" }, { "id": "452161", "author": { "name": "capsizeno4", "key": "capsizeno4", "displayName": "eric harms", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Hi Gary,\r\n\r\nIn looking through my ACA crash logs, I came across these 2 errors, both of which happened on the same day we reported this issue - I've never seen these errors before and seem to coincide with my issue's timeline. !error2.png|thumbnail! !error1.png|thumbnail! \r\n\r\nThanks!\r\nEric", "updateAuthor": { "name": "capsizeno4", "key": "capsizeno4", "displayName": "eric harms", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-10-21T17:53:06.000+0000", "updated": "2019-10-21T17:53:06.000+0000" }, { "id": "452313", "author": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "body": "What you are seeing is a \"chain\" of exceptions. The 1st exception being reported is the root cause of the issue. The 2nd exception (such as \"failed to leave a valid exports object\") is happening because the required-in JS file failed to load due to the 1st exception that is happening. Ignore it.\r\n\r\nCase-in-point, if you run the following \"app.js\" code on iOS, notice that you'll get 2 exceptions on startup. The 1st exception is the root cause (I purposely created a bug below) and the 2nd exception will be the \"failed to leave a valid exports object\" because the \"app.js\" failed to load.\r\n{code:javascript}\r\n// This is the \"app.js\". Purposely cause a crash.\r\niDontExist.toString();\r\n{code}\r\n\r\nFor the onscreen exception dialog, perhaps we should reconsider only showing the 1st exception and not display a dialog on top for all of the following exceptions that are triggered. Might make it less confusing. But for our ACA website, I think it's okay to list them all.", "updateAuthor": { "name": "jquick", "key": "jquick", "displayName": "Joshua Quick", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-10-28T18:52:14.000+0000", "updated": "2019-10-28T18:52:14.000+0000" } ], "maxResults": 7, "total": 7, "startAt": 0 } } }