Unable to Build after Upgrade - JS Heap Error

未关闭
#5,361 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
20/100
Issue 类型
缺陷
描述清晰度
需要澄清
活跃度
停滞
技术栈
android, javascript, webpack

调研方向

首先,使用报告中的 NativeScript CLI 6.8.0、webpack 3.10.0 和 nativescript-dev-webpack 0.9.2 版本重现 tns build android。检查 node_modules/webpack/lib/Parser.js 附近的 webpack 构建路径,并确定报告的堆错误是此项目特有的,还是 CLI 构建过程特有的;当 Android 构建在没有 JavaScript 堆错误的情况下完成时,即视为完成。

由索引模型根据 Issue 内容生成。

描述

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):

  • CLI: 6.8.0
  • Cross-platform modules: 6.5.15 (tns-core-modules)
  • Android Runtime: 6.5.3
  • iOS Runtime: Not installed
  • Plugin(s):

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"
 }
}
主要语言
JavaScript
星标
1.1k
派生
204
平均合并
1 天 9 小时
30 天内合并 PR
8

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

NativeScript/nativescript-cli 的其他 Issue

查看 NativeScript/nativescript-cli 的全部 Issue

相似的 Issue

更多 JavaScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。