NativeScript / NativeScript/nativescript-cli
Unable to Build after Upgrade - JS Heap Error
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- JavaScript
- Star
- 1.1k
- Fork
- 204
- Merge trung bình
- 1 ngày 9 giờ
- Pull request đã merge (30 ngày)
- 8
Mô tả
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"
}
}
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu bằng cách tái hiện tns build android với các phiên bản NativeScript CLI 6.8.0, webpack 3.10.0 và nativescript-dev-webpack 0.9.2 được báo cáo. Kiểm tra đường dẫn build của webpack xung quanh node_modules/webpack/lib/Parser.js và xác định liệu lỗi heap được báo cáo có chỉ xảy ra với dự án này hay với quy trình build của CLI; được xem là hoàn tất khi bản build Android hoàn thành mà không có lỗi heap JavaScript.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- android, javascript, webpack
- Lĩnh vực
- build-system, cli, mobile-dev
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 20/100