NativeScript / nativescript-cli

Command-line interface for building NativeScript apps
https://www.npmjs.com/package/nativescript
Apache License 2.0
1.04k stars 195 forks source link

Unable to Build after Upgrade - JS Heap Error #5361

Open LorenDorez opened 4 years ago

LorenDorez commented 4 years ago

Environment Provide version numbers for the following components (information can be retrieved by running tns info in your project folder or by inspecting the package.json of the project):

Describe the bug I had an existing project running in the old version of {N} 4.1.3. I ran through the upgrade instructions from here https://docs.nativescript.org/releases/upgrade-instructions After i finished all of them tried to run tns build android and it seem to finished 1 time but now all i get is a Javascript heap error every time i try to build the application. I even tried updating all my plugins to their respective latest versions

Error Message

Preparing project...

<--- Last few GCs --->

[6292:000001EBC9C4CFF0]   776738 ms: Scavenge 3694.2 (4116.4) -> 3685.8 (4116.7) MB, 203.2 / 0.0 ms  (average mu = 0.345, current mu = 0.375) allocation failure
[6292:000001EBC9C4CFF0]   776785 ms: Scavenge 3695.4 (4116.7) -> 3689.8 (4117.2) MB, 19.1 / 0.0 ms  (average mu = 0.345, current mu = 0.375) allocation failure

<--- JS stacktrace --->

==== JS stack trace =========================================

    0: ExitFrame [pc: 00007FF6CF7DB3BD]
Security context: 0x025fd44008d1 <JSObject>
    1: walkFunctionExpression [00000071D731B649] [F:\GLSS\Clients\Oversii\MobileApps\NativeScript\Patrolman_Mobile_App\node_modules\webpack\lib\Parser.js:~946] [pc=00000366A1834CA5](this=0x01128b1f66a9 <Tapable map 
= 000000534C2CD6D9>,0x00d7345200f1 <Node map = 00000211E55FDCE9>)
    2: walkExpression [00000071D731B531] [F:\GLSS\Clients\Oversii\MobileApps\...

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
 1: 00007FF6CEBC5EBF napi_wrap+114095
 2: 00007FF6CEB70B46 v8::base::CPU::has_sse+66998
 3: 00007FF6CEB71946 v8::base::CPU::has_sse+70582
 4: 00007FF6CF386E4E v8::Isolate::ReportExternalAllocationLimitReached+94
 5: 00007FF6CF36EF21 v8::SharedArrayBuffer::Externalize+833
 6: 00007FF6CF23B18C v8::internal::Heap::EphemeronKeyWriteBarrierFromCode+1436
 7: 00007FF6CF2463C0 v8::internal::Heap::ProtectUnprotectedMemoryChunks+1312
 8: 00007FF6CF242EE4 v8::internal::Heap::PageFlagsAreConsistent+3204
 9: 00007FF6CF2386E3 v8::internal::Heap::CollectGarbage+1283
10: 00007FF6CF236D54 v8::internal::Heap::AddRetainedMap+2452
11: 00007FF6CF25809D v8::internal::Factory::NewFillerObject+61
12: 00007FF6CEFBE1E1 v8::internal::interpreter::JumpTableTargetOffsets::iterator::operator=+1665
13: 00007FF6CF7DB3BD v8::internal::SetupIsolateDelegate::SetupHeap+546637
14: 00000366A1834CA5
Executing webpack failed with exit code 134.

Additional context here is a copy of my package.json dependancies after all the steps

 "dependencies": {
    "moment": "^2.21.0",
    "moment-timezone": "^0.5.14",
    "nativescript-appversion": "^1.4.4",
    "nativescript-background-http": "^4.2.1",
    "nativescript-camera": "^4.5.0",
    "nativescript-downloader": "^2.1.5",
    "nativescript-filterable-listpicker": "^2.2.6",
    "nativescript-fontawesome": "^1.0.0",
    "nativescript-geolocation": "^5.1.0",
    "nativescript-google-maps-sdk": "^2.9.1",
    "nativescript-insomnia": "^1.2.3",
    "nativescript-loading-screen": "^1.0.6",
    "nativescript-locate-address": "^1.0.3",
    "nativescript-sqlite": "^2.6.4",
    "nativescript-sqlite-commercial": "file:nativescript-sqlite-commercial-1.4.3.tgz",
    "nativescript-theme-core": "^2.0.24",
    "nativescript-ui-listview": "^8.2.0",
    "nativescript-ui-sidedrawer": "^8.0.1",
    "tns-core-modules": "^6.5.15"
  },
  "devDependencies": {
    "babel-traverse": "6.4.5",
    "babel-types": "6.4.5",
    "babylon": "6.4.5",
    "copy-webpack-plugin": "~4.3.0",
    "css-loader": "~0.28.7",
    "eslint": "~4.9.0",
    "extract-text-webpack-plugin": "~3.0.2",
    "lazy": "1.0.11",
    "nativescript-dev-sass": "~1.3.5",
    "nativescript-dev-webpack": "^0.9.2",
    "nativescript-worker-loader": "~0.8.1",
    "raw-loader": "~0.5.1",
    "resolve-url-loader": "~2.2.1",
    "sass-loader": "~6.0.6",
    "uglifyjs-webpack-plugin": "~1.1.6",
    "webpack": "~3.10.0",
    "webpack-bundle-analyzer": "^2.9.1",
    "webpack-sources": "~1.1.0"
  }
}
LorenDorez commented 4 years ago

I have 2 pc environments for testing. I managed on one to roll everything back and can build just fine under the older version 4.1.3 if that helps

LorenDorez commented 4 years ago

I managed to get this almost running on one of the pc enviroments with {N} v6. I get a random error Command gradlew.bat failed with exit code 1 with no details. I tried doing with '--log trace' but that doesn seem to give me anything either

tns build android
Preparing project...
Built aar for nativescript-fontawesome
Built aar for nativescript-loading-screen
Project successfully prepared (android)
Building project...
Gradle build...
         + setting applicationId
         + applying user-defined configuration from F:\GLSS\Clients\Oversii\MobileApps\NativeScript\Patrolman_Mobile_App\app\App_Resources\Android\app.gradle
         Applying settings from F:\GLSS\Clients\Oversii\MobileApps\NativeScript\Patrolman_Mobile_App\app\App_Resources\Android\settings.json
         + using android X library androidx.legacy:legacy-support-v4:1.0.0
         + adding nativescript runtime package dependency: nativescript-optimized-with-inspector
         + adding aar plugin dependency: F:\GLSS\Clients\Oversii\MobileApps\NativeScript\Patrolman_Mobile_App\node_modules\nativescript-background-http\platforms\android\uploadservice-release.aar
         + adding aar plugin dependency: F:\GLSS\Clients\Oversii\MobileApps\NativeScript\Patrolman_Mobile_App\node_modules\nativescript-camera\platforms\android\nativescript_camera.aar
         + adding aar plugin dependency: F:\GLSS\Clients\Oversii\MobileApps\NativeScript\Patrolman_Mobile_App\node_modules\nativescript-fontawesome\platforms\android\nativescript_fontawesome.aar
         + adding aar plugin dependency: F:\GLSS\Clients\Oversii\MobileApps\NativeScript\Patrolman_Mobile_App\node_modules\nativescript-geolocation\platforms\android\nativescript_geolocation.aar
         + adding aar plugin dependency: F:\GLSS\Clients\Oversii\MobileApps\NativeScript\Patrolman_Mobile_App\node_modules\nativescript-google-maps-sdk\platforms\android\nativescript_google_maps_sdk.aar
         + adding aar plugin dependency: F:\GLSS\Clients\Oversii\MobileApps\NativeScript\Patrolman_Mobile_App\node_modules\nativescript-loading-screen\platforms\android\nativescript_loading_screen.aar
         + adding aar plugin dependency: F:\GLSS\Clients\Oversii\MobileApps\NativeScript\Patrolman_Mobile_App\node_modules\nativescript-ui-listview\platforms\android\TNSListView-release.aar
         + adding aar plugin dependency: F:\GLSS\Clients\Oversii\MobileApps\NativeScript\Patrolman_Mobile_App\node_modules\nativescript-ui-sidedrawer\platforms\android\TNSSideDrawer-release.aar
         + adding aar plugin dependency: F:\GLSS\Clients\Oversii\MobileApps\NativeScript\Patrolman_Mobile_App\node_modules\nativescript-ui-core\platforms\android\TNSCore-release.aar
         + adding aar plugin dependency: F:\GLSS\Clients\Oversii\MobileApps\NativeScript\Patrolman_Mobile_App\node_modules\tns-core-modules-widgets\platforms\android\widgets-release.aar
Command gradlew.bat failed with exit code 1