NativeScript / NativeScript/nativescript-cli
Unable to Build after Upgrade - JS Heap Error
还没有人认领这个 Issue。
- 主要语言
- JavaScript
- 星标
- 1.1k
- 派生
- 204
- 平均合并
- 1 天 9 小时
- 30 天内合并 PR
- 8
描述
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"
}
}
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
首先,使用报告中的 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 内容生成。
评估
- 技术栈
- android, javascript, webpack
- 领域
- build-system, cli, mobile-dev
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 需要澄清
- 新手友好度
- 20/100