Playground (almost) always crash on iPhone 6(s)
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.
- Open https://play.nativescript.org/?template=play-ng&id=rPhRoK&v=3 and try to load that on iPhone 6s
- 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
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.
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 hey man, I'd described everything in details in the issue description ☝️
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.
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
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.
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 🤷♂️
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.
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.
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.
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.