playground-feedback icon indicating copy to clipboard operation
playground-feedback copied to clipboard

Playground (almost) always crash on iPhone 6(s)

Open fyodorio opened this issue 6 years ago • 11 comments

Details:

Did you search for the problem in other open issues in this repo?

Yes. Probably this issue has something in common with #156, but this one is more specific (to phone model in particular) and more persistent without dependency on previous unsuccessful runs

Tell us about the problem

Playground apps (most of them, from tutorial apps to showcase apps like last year's Ns/Uplabs challenge winners) crash on iPhone 6s with latest iOS (13.1.3). In most cases they let user to go throw app flow and then crash on some stage. The same apps run successfully on iPhone 8 plus.

Did you try it outside of {N} Playground?

  • Yes - it has the same behavior as in the playground (tried to run downloaded apps locally on the same phone through tns preview)

Which browser are you using?

  • Chrome
  • Safari

Are there any errors/warnings logged in your browser console?

Mostly not, though I didn't check all the cases

Which platform(s) does your issue occur on?

  • iOS

Are there any entries logged in the Device Logs tab?

The Preview app has terminated unexpectedly. Please run it again to get a detailed crash report.

Please provide the following information shown in the devices tab in the playground:

  • Model iPhone 6S
  • OS version iOS 13.1.3
  • Preview app version 1.26.0
  • Runtime version 6.2.0

Please tell us how to recreate the issue with as much detail as possible.

  1. Open https://play.nativescript.org/?template=play-ng&id=rPhRoK&v=3 and try to load that on iPhone 6s
  2. In my case, it crashes immediately. If recreate the tutorial app myself, it lets me open the login screen and press login, then crashes

Example error log (from the device screen) is below

2019-11-11 10:46:14.001 nsplaydev[2480:186658] ***** Fatal JavaScript exception - application has been terminated. *****
2019-11-11 10:46:14.001 nsplaydev[2480:186658] Native stack trace:
1   0x1050a22bc NativeScript::reportFatalErrorBeforeShutdown(JSC::ExecState*, JSC::Exception*, bool)
2   0x1050e6900 -[TNSRuntime executeModule:referredBy:]
3   0x1061b225c -[UIApplication(PlayLiveSync) swizzled_executeModule:]
4   0x1047a7524
5   0x182b6b460 <redacted>
2019-11-11 10:46:14.003 nsplaydev[2480:186658] JavaScript stack trace:
2019-11-11 10:46:14.003 nsplaydev[2480:186658] require(file:///app/app.module.js:5:23)
at anonymous(file:///app/app.module.js:5:23)
at evaluate([native code])
at moduleEvaluation([native code])
at promiseReactionJob([native code])
at require([native code])
at anonymous(file:///app/main.js:5:29)
at evaluate([native code])
at moduleEvaluation([native code])
at promiseReactionJob([native code])
at require([native code])
at anonymous(file:///app/__main.js:3:8)
at evaluate([native code])
at moduleEvaluation([native code])
at promiseReactionJob([native code])
2019-11-11 10:46:14.003 nsplaydev[2480:186658] JavaScript error:
file:///app/app.module.js:5:23: JS ERROR Error: Could not find module 'nativescript-angular/http'. Computed path '/var/mobile/Containers/Data/Application/DD9F8AF1-04FE-43EE-93B2-D8C28630134B/Documents/Playground/LiveSync/app/tns_modules/nativescript-angular/http'. (evaluating 'require("nativescript-angular/http")')
2019-11-11 10:46:14.004 nsplaydev[2480:186658] PlayLiveSync: Uncaught Exception
2019-11-11 10:46:14.004 nsplaydev[2480:186658] *** JavaScript call stack:
(

)
2019-11-11 10:46:14.004 nsplaydev[2480:186658] *** Terminating app due to uncaught exception 'NativeScript encountered a fatal error: Error: Could not find module 'nativescript-angular/http'. Computed path '/var/mobile/Containers/Data/Application/DD9F8AF1-04FE-43EE-93B2-D8C28630134B/Documents/Playground/LiveSync/app/tns_modules/nativescript-angular/http'. (evaluating 'require("nativescript-angular/http")')
 at 
require(file:///app/app.module.js:5:23)
at anonymous(file:///app/app.module.js:5:23)
at evaluate([native code])
at moduleEvaluation([native code])
at promiseReactionJob([native code])
at require([native code])
at anonymous(file:///app/main.js:5:29)
at evaluate([native code])
at moduleEvaluation([native code])
at promiseReactionJob([native code])
at require([native code])
at anonymous(file:///app/__main.js:3:8)
at evaluate([native code])
at moduleEvaluation([native code])
at promiseReactionJob([native code])
', reason: '(null)'
*** First throw call stack:
(0x182d6898c 0x182a910a4 0x1050a2738 0x1050e6900 0x1061b225c 0x1047a7524 0x182b6b460)
libc++abi.dylib: terminating with uncaught exception of type NSException
2019-11-11 10:46:14.004 nsplaydev[2480:186658] PlayLiveSync: Uncaught Exception

fyodorio avatar Nov 11 '19 05:11 fyodorio

I am able to duplicate the problem on my iPhone 6S Plus. Scanning the barcode mentioned from play.nativescript.org causes an immediate crash without the UI ever appearing.

The app I am working on works fine on an Android device, but also crashes in Nativescript Playground/Preview when launching. Uninstalling and reinstalling both the playground and preview does not solve the problem.

pandralouis avatar Nov 12 '19 21:11 pandralouis

Have you tried the issue without using Playground? What I mean is to use tns run ios or tns build ios on this device. What iOS version is your phone? I have tried on iPhone 6s with iOS 12.2 and it is working on our side.

vhristov5555 avatar Nov 13 '19 13:11 vhristov5555

@vhristov5555 hey man, I'd described everything in details in the issue description ☝️

fyodorio avatar Nov 13 '19 14:11 fyodorio

Sorry I have skipped some part of the information.

  • could you try 'tns run ios' on you device in such way we could find if the problem is in the preview itself or in some package (e.g. ios-runtime)
  • could send us some sample project (e.g. saved session) so we could try to reproduce it on our side.

vhristov5555 avatar Nov 13 '19 14:11 vhristov5555

Looks like I cannot build to a device directly with tns because I have no Apple developer ID (not going to buy it now). Please, take a shot at some apps from here

fyodorio avatar Nov 14 '19 07:11 fyodorio

FYI I was able to use the preview app on my iPhone 6, but it is behind on software updates. It would be useful if someone could try it who has an up to date iPhone 10 or 11 to see if it really is unique to the iPhone 6S and 6S+. I suspect this is an iOS problem. My mac is remote, so I can only test easily in the simulator, which I've found doesn't usually simulate iOS problems on actual devices. Hopefully this will go away with the next iOS update. This is broken for now though.

pandralouis avatar Nov 15 '19 01:11 pandralouis

As I mentioned, I can confirm that the apps that fail on iPhone 6s run successfully on iPhone 8 plus (the same iOS 13), at least. So I think the reason must be not only in the operating system but also in some kind of hardware incompatibility 🤷‍♂️

fyodorio avatar Nov 15 '19 05:11 fyodorio

Well I have tried on iPhone 6s with iOS 12.2 and it is working on our side. I will try some samples too. If you could point a sample that is not working on your side it is going to be faster for me to try to reproduce it.

vhristov5555 avatar Nov 18 '19 15:11 vhristov5555

Your iOS version is out of date. I currently have 13.1.3 on my iPhone 6S Plus and have automatic install of updates on. My iOS version matches that of the original problem reporter. I have an iPhone 6 with an iOS version 12.x installed and that is working ok. The original reporter also gives a simple test using play.nativescript.org. I'm betting on an iOS problem that only affects the 6S and 6S Plus.

pandralouis avatar Nov 18 '19 15:11 pandralouis

I have tested it on iPhone 6s with ios 13.1.3 and the app from the initial report is still working on our side.

vhristov5555 avatar Nov 18 '19 16:11 vhristov5555

I am trying to test with an iPhone6 on 12.4 which is the latest version for this model. What version of {N} works on this environment? I am getting similar crashes when using the Playground.

jalberto-ghub avatar Jan 20 '20 13:01 jalberto-ghub