NativeScript / nativescript-app-sync

♻️ Update your app without going through the app store!
MIT License
125 stars 24 forks source link

Error on app reopen after an update is installed #45

Open koraykupe opened 4 years ago

koraykupe commented 4 years ago

Hello,

I get that error when I add a new release using release command and close the app and reopen on iOS simulator. I test it on local. tns build ios command is successful. What could be the cause of the error?

JavaScript stack trace:
copyEntriesInFolderDestFolderError(file:///node_modules/nativescript-app-sync/TNSLocalPackage.js:36:48)
at onUnzipComplete(file:///node_modules/nativescript-app-sync/TNSLocalPackage.js:36:48)
at file:///node_modules/nativescript-app-sync/TNSLocalPackage.js:90:35
at UIApplicationMain([native code])
at _start(file:///node_modules/tns-core-modules/application/application.js:295:26)
at run(file:///node_modules/tns-core-modules/application/application.js:323:11)
at $start(file:///node_modules/nativescript-vue/dist/index.js:14050:2)
at file:///app/bundle.js:4373:10
at ./main.js(file:///app/bundle.js:4377:34)
at __webpack_require__(file:///app/webpack/bootstrap:74:0)
at checkDeferredModules(file:///app/webpack/bootstrap:43:0)
at webpackJsonpCallback(file:///app/webpack/bootstrap:30:0)
at anonymous(file:///app/bundle.js:2:61)
at evaluate([native code])
at moduleEvaluation([native code])
at promiseReactionJob([native code])
JavaScript error:
file:///node_modules/nativescript-app-sync/TNSLocalPackage.js:36:48: JS ERROR NSErrorWrapper: The folder “5720a69d6efaf9154f960105a59a75b08467452bb792b779bba221cb1d73692d” doesn’t exist.
NativeScript caught signal 11.
Native Stack:
1   0x10fb9bcb1 sig_handler(int)
2   0x113206b1d _sigtramp
3   0x10fab70a8
4   0x11312db85 libunwind::UnwindCursor<libunwind::LocalAddressSpace, libunwind::Registers_x86_64>::step()
5   0x113131e58 _Unwind_RaiseException
6   0x112c6f8bd __cxa_throw
7   0x1121dec44 _objc_exception_destructor(void*)
8   0x10fb51bbf NativeScript::reportFatalErrorBeforeShutdown(JSC::ExecState*, JSC::Exception*, bool)
9   0x10fb684e9 NativeScript::FFICallback<NativeScript::ObjCBlockCallback>::ffiClosureCallback(ffi_cif*, void*, void**, void*)
10  0x110539756 ffi_closure_unix64_inner
11  0x11053a17a ffi_closure_unix64
12  0x111e8458d +[SSZipArchive unzipFileAtPath:toDestination:progressHandler:completionHandler:]
13  0x111e9fba9 __66+[TNSAppSync unzipFileAtPath:toDestination:onProgress:onComplete:]_block_invoke
14  0x112da3848 _dispatch_call_block_and_release
15  0x112da47b9 _dispatch_client_callout
16  0x112da6861 _dispatch_queue_override_invoke
17  0x112db3bf9 _dispatch_root_queue_drain
18  0x112db439b _dispatch_worker_thread2
19  0x11321871d _pthread_wqthread
20  0x1132185c3 start_wqthread
JS Stack unavailable. Current thread hasn't initialized a {N} runtime.
JS ERROR NSErrorWrapper: The folder “5720a69d6efaf9154f960105a59a75b08467452bb792b779bba221cb1d73692d” doesn’t exist.

Tried both on ON_NEXT_RESUME and IMMEDIATE install modes. I test the app while tns run ios --emulator --no-watch --no-hmrcommand is running. It only happens sometimes.

EddyVerbruggen commented 4 years ago

What's the exact command used to release a new AppSync version?

koraykupe commented 4 years ago

What's the exact command used to release a new AppSync version?

nativescript-app-sync release myappname ios

EddyVerbruggen commented 4 years ago

Hmm strange. The stacktrace seems to indicate you've used the "diff" feature.. Perhaps you're not using the latest version of the plugin?

In any case: is there a way for me to reproduce this? You mentioned "It only happens sometimes." so I hope you can narrow it down to a useful reproduction path.

koraykupe commented 4 years ago

I've checked and it's v1.0.7 Actually it happens most of the time, and only for iOS probably. My colleague works on the same project, but test Android side on a Windows machine and he don't get the error. This is an in-house project, but I will check if I can share it with you to test. I will also try to check it for Android on my own dev environment.

EddyVerbruggen commented 4 years ago

I'm pretty sure this is platform specific so no need to test Android.

Did you also test on a real device? The simulator filesystem is quite different from a real device so it would be interesting to know if you see the same problem there.

AnthonyLenglet commented 3 years ago

We're seeing this issue on our end big times:

NativeScript encountered a fatal error: NSErrorWrapper: Le dossier « app » n’existe pas.
 at copyEntriesInFolderDestFolderError(file:///app/vendor.js:1:1930458)

It fairly present but its not always reproductible apparent, which is super annoying, never seen it while developing

that name is super awkward as well, is this just a file format error ? (could be since I'm seeing n’existe instead of n'existe)

AnthonyLenglet commented 3 years ago

ok we fixed it on our end, it was caused by our last deployment being for version 3.3.3 only but being deployed as 3.3, so the people on version 3.3.4 (version update which came from the app store this time) were getting it and it was crashing the app on startup

the fix was to remove the deployment, it sucks a bit but we used it for hotfixes only and they came out in a full fledged release later on so it was fine for us 😄