I am using AG/IG ~12.3,
I get the following build errors in Azure (but not in local):
Error: node_modules/igniteui-angular-spreadsheet/lib/CustomDOMEventProxy.d.ts:11:15 - error TS2416: Property 'cp' in type 'CustomDOMEventProxy' is not assignable to the same property in base type 'CanvasGestureDOMEventProxy'. Type '(a: NormalizedEvent) => void' is not assignable to type '() => void'. 11 protected cp(a: NormalizedEvent): void; ~~ Error: node_modules/igniteui-angular-spreadsheet/lib/CustomDOMEventProxy.d.ts:12:15 - error TS2416: Property 'cq' in type 'CustomDOMEventProxy' is not assignable to the same property in base type 'CanvasGestureDOMEventProxy'. Type '(a: NormalizedEvent) => void' is not assignable to type '() => void'. 12 protected cq(a: NormalizedEvent): void; ~~ Error: node_modules/igniteui-angular-spreadsheet/lib/SpreadsheetChartAdapterBase_combined.d.ts:3388:22 - error TS2415: Class 'SpreadsheetDOMEventProxy' incorrectly extends base class 'CustomDOMEventProxy'. Property 'dq' is private in type 'CustomDOMEventProxy' but not in type 'SpreadsheetDOMEventProxy'. 3388 export declare class SpreadsheetDOMEventProxy extends CustomDOMEventProxy {
It seems to be related to Ignite UI Spreadsheet, but we haven't updated it or changed its functionality at all since the last build which had no issues.
Alternatively, since we assume that this is related to an unpublished change (it's been working fine until now), I am attempting to upgrade to 13.3 with no luck. I am completely unable to run my app in local because no amount of memory allocated seems to sufficient. There's always a form of the message "JavaScript heap out of memory" with a list of GCs requesting an extra 1-1.5GB. I have 48GB on my system and have allocated from 4GB up to 40GB without successfully starting the app.
The worst is in cases like when I assign 8GB and it immediately spits out this failure message without any useful description at all:
> start > node --max_old_space_size=8192 node_modules/@angular/cli/bin/ng s -o <--- Last few GCs ---> <--- JS stacktrace ---> # # Fatal javascript OOM in GC during deserialization #
Everything I read just says give it more memory, but the app ran with 10GB before this attempt to deploy. The error log shows its' only allocating 1.7GB and only using 1.44GB even though I'm attempting to allocate more:
{ "header": { "reportVersion": 2, "event": "Allocation failed - JavaScript heap out of memory", "trigger": "FatalError", "filename": "report.20220411.154217.23116.0.001.json", "dumpEventTime": "2022-04-11T15:42:17Z", "dumpEventTimeStamp": "1649716937092", "processId": 23116, "threadId": 0, "cwd": "C:\\Users\\csworen\\source\\repos\\Commits\\UI", "commandLine": [ "node", "--max_old_space_size=16000", "--report-on-fatalerror", "node_modules/@angular/cli/bin/ng", "s" ], "nodejsVersion": "v16.13.0", "wordSize": 32, "arch": "ia32", "platform": "win32", "componentVersions": { "node": "16.13.0", "v8": "9.4.146.19-node.13", "uv": "1.42.0", "zlib": "1.2.11", "brotli": "1.0.9", "ares": "1.17.2", "modules": "93", "nghttp2": "1.45.1", "napi": "8", "llhttp": "6.0.4", "openssl": "1.1.1l+quic", "cldr": "39.0", "icu": "69.1", "tz": "2021a", "unicode": "13.0", "ngtcp2": "0.1.0-DEV", "nghttp3": "0.1.0-DEV" }, "release": { "name": "node", "lts": "Gallium", "headersUrl": "https://nodejs.org/download/release/v16.13.0/node-v16.13.0-headers.tar.gz", "sourceUrl": "https://nodejs.org/download/release/v16.13.0/node-v16.13.0.tar.gz", "libUrl": "https://nodejs.org/download/release/v16.13.0/win-x86/node.lib" }, "osName": "Windows_NT", "osRelease": "10.0.19044", "osVersion": "Windows 10 Enterprise", "osMachine": "i686", "cpus": [ { "model": "11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz", "speed": 2995, "user": 1038484, "nice": 0, "sys": 1540937, "idle": 13208453, "irq": 160406 }, { "model": "11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz", "speed": 2995, "user": 839921, "nice": 0, "sys": 964437, "idle": 13983328, "irq": 16453 }, { "model": "11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz", "speed": 2995, "user": 1545906, "nice": 0, "sys": 1332734, "idle": 12909046, "irq": 14062 }, { "model": "11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz", "speed": 2995, "user": 1137937, "nice": 0, "sys": 1257250, "idle": 13392500, "irq": 10593 }, { "model": "11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz", "speed": 2995, "user": 1247468, "nice": 0, "sys": 1341546, "idle": 13198656, "irq": 16031 }, { "model": "11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz", "speed": 2995, "user": 1041234, "nice": 0, "sys": 1081984, "idle": 13664453, "irq": 12171 }, { "model": "11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz", "speed": 2995, "user": 1252171, "nice": 0, "sys": 1345484, "idle": 13190015, "irq": 11953 }, { "model": "11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz", "speed": 2995, "user": 1304843, "nice": 0, "sys": 1126812, "idle": 13356015, "irq": 9218 } ], "networkInterfaces": [ { "name": "Ethernet", "internal": false, "mac": "00:05:9a:3c:7a:00", "address": "10.212.177.158", "netmask": "255.255.240.0", "family": "IPv4" }, { "name": "Wi-Fi", "internal": false, "mac": "84:14:4d:13:86:0c", "address": "192.168.1.196", "netmask": "255.255.255.0", "family": "IPv4" }, { "name": "Loopback Pseudo-Interface 1", "internal": true, "mac": "00:00:00:00:00:00", "address": "::1", "netmask": "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", "family": "IPv6", "scopeid": 0 }, { "name": "Loopback Pseudo-Interface 1", "internal": true, "mac": "00:00:00:00:00:00", "address": "127.0.0.1", "netmask": "255.0.0.0", "family": "IPv4" } ], "host": "csworen-mobl1" }, "javascriptStack": { "message": "No stack.", "stack": [ "Unavailable." ], "errorProperties": { } }, "javascriptHeap": { "totalMemory": 1729368064, "totalCommittedMemory": 1729368064, "usedMemory": 1539078096, "availableMemory": 2208273816, "memoryLimit": 3917479936, "heapSpaces": { "read_only_space": { "memorySize": 139264, "committedMemory": 139264, "capacity": 127292, "used": 127292, "available": 0 }, "old_space": { "memorySize": 1441984512, "committedMemory": 1441984512, "capacity": 1280304304, "used": 1280056088, "available": 248216 }, "code_space": { "memorySize": 20799488, "committedMemory": 20799488, "capacity": 14030368, "used": 14030368, "available": 0 }, "map_space": { "memorySize": 2895872, "committedMemory": 2895872, "capacity": 1762720, "used": 1762720, "available": 0 }, "large_object_space": { "memorySize": 246222848, "committedMemory": 246222848, "capacity": 242595996, "used": 242595996, "available": 0 }, "code_large_object_space": { "memorySize": 548864, "committedMemory": 548864, "capacity": 505632, "used": 505632, "available": 0 }, "new_large_object_space": { "memorySize": 0, "committedMemory": 0, "capacity": 8121856, "used": 0, "available": 8121856 }, "new_space": { "memorySize": 16777216, "committedMemory": 16777216, "capacity": 8121856, "used": 0, "available": 8121856 } } }, "nativeStack": [ ], "resourceUsage": { "userCpuSeconds": 85.296, "kernelCpuSeconds": 12.531, "cpuConsumptionPercent": 134.01, "maxRss": 1925529600, "pageFaults": { "IORequired": 874282, "IONotRequired": 0 }, "fsActivity": { "reads": 15175, "writes": 531 } }, "libuv": [ { "type": "async", "is_active": true, "is_referenced": false, "address": "0x0000000003f619d8" }, { "type": "async", "is_active": true, "is_referenced": false, "address": "0x00000000035cfeb0" }, { "type": "timer", "is_active": true, "is_referenced": true, "address": "0x00000000065a2dc8", "repeat": 0, "firesInMsFromNow": 32, "expired": false }, { "type": "check", "is_active": true, "is_referenced": false, "address": "0x00000000065a2e28" }, { "type": "idle", "is_active": true, "is_referenced": true, "address": "0x00000000065a2e64" }, { "type": "prepare", "is_active": true, "is_referenced": false, "address": "0x00000000065a2ea0" }, { "type": "check", "is_active": true, "is_referenced": false, "address": "0x00000000065a2edc" }, { "type": "async", "is_active": true, "is_referenced": false, "address": "0x00000000065a2f18" }, { "type": "async", "is_active": true, "is_referenced": false, "address": "0x00000000035cfe10" }, { "type": "tty", "is_active": false, "is_referenced": true, "address": "0x00000000066aca78", "width": 235, "height": 17, "writeQueueSize": 0, "readable": false, "writable": true }, { "type": "signal", "is_active": true, "is_referenced": false, "address": "0x0000000006875b70", "signum": 28, "signal": "SIGWINCH" }, { "type": "tty", "is_active": false, "is_referenced": true, "address": "0x00000000066a7f90", "width": 235, "height": 17, "writeQueueSize": 0, "readable": false, "writable": true }, { "type": "tty", "is_active": false, "is_referenced": true, "address": "0x00000000066b2638", "writeQueueSize": 0, "readable": true, "writable": false }, { "type": "signal", "is_active": true, "is_referenced": false, "address": "0x000000000673a8f0", "signum": 2, "signal": "SIGINT" }, { "type": "signal", "is_active": true, "is_referenced": false, "address": "0x000000000673a9c0", "signum": 15, "signal": "SIGTERM" }, { "type": "tcp", "is_active": true, "is_referenced": true, "address": "0x00000000071c7d98", "localEndpoint": { "host": "csworen-mobl1.amr.corp.intel.com", "port": 4200 }, "remoteEndpoint": null, "sendBufferSize": 65536, "recvBufferSize": 65536, "writeQueueSize": 0, "readable": false, "writable": false }, { "type": "pipe", "is_active": false, "is_referenced": false, "address": "0x0000000044746030", "localEndpoint": null, "remoteEndpoint": "\\\\?\\pipe\\uv\\FFFFFFFF-23116", "writeQueueSize": 0, "readable": true, "writable": true }, { "type": "pipe", "is_active": true, "is_referenced": false, "address": "0x0000000044745270", "localEndpoint": null, "remoteEndpoint": "\\\\?\\pipe\\uv\\00000000-23116", "writeQueueSize": 0, "readable": true, "writable": true }, { "type": "process", "is_active": true, "is_referenced": false, "address": "0x0000000003f8a3a0", "pid": 13924 }, { "type": "timer", "is_active": true, "is_referenced": false, "address": "0x0000000003ff7b78", "repeat": 0, "firesInMsFromNow": 3441, "expired": false }, { "type": "loop", "is_active": true, "address": "0x0000000003859c90", "loopIdleTimeSeconds": 0.0058206 } ], "workers": [ ], "environmentVariables": { "=C:": "C:\\Users\\csworen\\source\\repos\\Commits\\UI", "ALLUSERSPROFILE": "C:\\ProgramData", "APPDATA": "C:\\Users\\csworen\\AppData\\Roaming", "ATERNITY_AGENT_HOME": "C:\\Program Files (x86)\\Aternity Information Systems\\Agent\\", "BROWSERSLIST_IGNORE_OLD_DATA": "1", "CHROME_CRASHPAD_PIPE_NAME": "\\\\.\\pipe\\crashpad_2500_ONGTCPGFDBVGORDW", "COLOR": "1", "COLORTERM": "truecolor", "CommonProgramFiles": "C:\\Program Files (x86)\\Common Files", "CommonProgramFiles(x86)": "C:\\Program Files (x86)\\Common Files", "CommonProgramW6432": "C:\\Program Files\\Common Files", "COMPUTERNAME": "CSWOREN-MOBL1", "ComSpec": "C:\\windows\\system32\\cmd.exe", "DriverData": "C:\\Windows\\System32\\Drivers\\DriverData", "EDITOR": "notepad.exe", "FPS_BROWSER_APP_PROFILE_STRING": "Internet Explorer", "FPS_BROWSER_USER_PROFILE_STRING": "Default", "GIT_ASKPASS": "c:\\Users\\csworen\\AppData\\Local\\Programs\\Microsoft VS Code\\resources\\app\\extensions\\git\\dist\\askpass.sh", "HOME": "C:\\Users\\csworen", "HOMEDRIVE": "C:", "HOMEPATH": "\\Users\\csworen", "INIT_CWD": "C:\\Users\\csworen\\source\\repos\\Commits\\UI", "Intellogs": "C:\\Intel\\Logs", "LANG": "en_US.UTF-8", "LOCALAPPDATA": "C:\\Users\\csworen\\AppData\\Local", "LOGONSERVER": "\\\\ORSAMR606", "NODE": "C:\\Program Files (x86)\\nodejs\\node.exe", "NODE_EXE": "C:\\Program Files (x86)\\nodejs\\\\node.exe", "NPM_CLI_JS": "C:\\Users\\csworen\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js", "npm_command": "start", "npm_config_cache": "C:\\Users\\csworen\\AppData\\Local\\npm-cache", "npm_config_email": "chris.sworen@intel.com", "npm_config_globalconfig": "C:\\Users\\csworen\\AppData\\Roaming\\npm\\etc\\npmrc", "npm_config_global_prefix": "C:\\Users\\csworen\\AppData\\Roaming\\npm", "npm_config_init_module": "C:\\Users\\csworen\\.npm-init.js", "npm_config_local_prefix": "C:\\Users\\csworen\\source\\repos\\Commits\\UI", "npm_config_metrics_registry": "https://registry.npmjs.org/", "npm_config_node_gyp": "C:\\Users\\csworen\\AppData\\Roaming\\npm\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js", "npm_config_noproxy": "", "npm_config_prefix": "C:\\Users\\csworen\\AppData\\Roaming\\npm", "npm_config_userconfig": "C:\\Users\\csworen\\.npmrc", "npm_config_user_agent": "npm/8.1.4 node/v16.13.0 win32 ia32 workspaces/false", "npm_execpath": "C:\\Users\\csworen\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js", "npm_lifecycle_event": "start", "npm_lifecycle_script": "node --max_old_space_size=16000 --report-on-fatalerror node_modules/@angular/cli/bin/ng s", "npm_node_execpath": "C:\\Program Files (x86)\\nodejs\\node.exe", "npm_package_json": "C:\\Users\\csworen\\source\\repos\\Commits\\UI\\package.json", "npm_package_name": "commits", "NPM_PREFIX_NPM_CLI_JS": "C:\\Users\\csworen\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js", "NUMBER_OF_PROCESSORS": "8", "OneDrive": "C:\\Users\\csworen\\OneDrive - Intel Corporation", "OneDriveCommercial": "C:\\Users\\csworen\\OneDrive - Intel Corporation", "ORIGINAL_XDG_CURRENT_DESKTOP": "undefined", "OS": "Windows_NT", "Path": "C:\\Users\\csworen\\source\\repos\\Commits\\UI\\node_modules\\.bin;C:\\Users\\csworen\\source\\repos\\Commits\\node_modules\\.bin;C:\\Users\\csworen\\source\\repos\\node_modules\\.bin;C:\\Users\\csworen\\source\\node_modules\\.bin;C:\\Users\\csworen\\node_modules\\.bin;C:\\Users\\node_modules\\.bin;C:\\node_modules\\.bin;C:\\Users\\csworen\\AppData\\Roaming\\npm\\node_modules\\npm\\node_modules\\@npmcli\\run-script\\lib\\node-gyp-bin;C:\\Oracle11gR2_x32\\product\\11.2.0\\client_1\\bin;C:\\app\\csworen\\product\\19.0.0\\client_1;C:\\Program Files (x86)\\Microsoft SDKs\\Azure\\CLI2\\wbin;C:\\windows\\system32;C:\\windows;C:\\windows\\System32\\Wbem;C:\\windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\windows\\System32\\OpenSSH\\;C:\\Program Files (x86)\\Microsoft SQL Server\\150\\DTS\\Binn\\;C:\\Program Files\\Azure Data Studio\\bin;C:\\Program Files\\Microsoft SQL Server\\130\\Tools\\Binn\\;C:\\Program Files\\Microsoft SQL Server\\Client SDK\\ODBC\\170\\Tools\\Binn\\;C:\\Program Files (x86)\\PuTTY\\;C:\\Program Files (x86)\\nodejs\\;C:\\Program Files\\Git\\cmd;C:\\Program Files (x86)\\Microsoft SQL Server\\110\\DTS\\Binn\\;C:\\Program Files (x86)\\Microsoft SQL Server\\120\\DTS\\Binn\\;C:\\Program Files (x86)\\Microsoft SQL Server\\130\\DTS\\Binn\\;C:\\Program Files (x86)\\Microsoft SQL Server\\140\\DTS\\Binn\\;C:\\Program Files\\dotnet\\;C:\\Users\\csworen\\AppData\\Local\\Microsoft\\WindowsApps;;C:\\Users\\csworen\\AppData\\Local\\Programs\\Microsoft VS Code\\bin;C:\\Program Files\\Azure Data Studio\\bin;C:\\Users\\csworen\\AppData\\Roaming\\npm;C:\\Users\\csworen\\.dotnet\\tools", "PATHEXT": ".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.CPL", "PROCESSOR_ARCHITECTURE": "x86", "PROCESSOR_ARCHITEW6432": "AMD64", "PROCESSOR_IDENTIFIER": "Intel64 Family 6 Model 140 Stepping 1, GenuineIntel", "PROCESSOR_LEVEL": "6", "PROCESSOR_REVISION": "8c01", "ProgramData": "C:\\ProgramData", "ProgramFiles": "C:\\Program Files (x86)", "ProgramFiles(x86)": "C:\\Program Files (x86)", "ProgramW6432": "C:\\Program Files", "PROMPT": "$P$G", "PSModulePath": "C:\\Users\\csworen\\OneDrive - Intel Corporation\\Documents\\WindowsPowerShell\\Modules;C:\\Program Files\\WindowsPowerShell\\Modules;C:\\windows\\system32\\WindowsPowerShell\\v1.0\\Modules", "PUBLIC": "C:\\Users\\Public", "SESSIONNAME": "Console", "STEELCENTRAL_ATERNITY_AGENT_HOME": "C:\\Program Files (x86)\\Aternity Information Systems\\Agent\\", "SystemDrive": "C:", "SystemRoot": "C:\\windows", "TEMP": "C:\\Users\\csworen\\AppData\\Local\\Temp", "TERM_PROGRAM": "vscode", "TERM_PROGRAM_VERSION": "1.66.1", "TMP": "C:\\Users\\csworen\\AppData\\Local\\Temp", "UATDATA": "C:\\windows\\CCM\\UATData\\D9F8C395-CAB8-491d-B8AC-179A1FE1BE77", "USERDNSDOMAIN": "AMR.CORP.INTEL.COM", "USERDOMAIN": "AMR", "USERDOMAIN_ROAMINGPROFILE": "AMR", "USERNAME": "csworen", "USERPROFILE": "C:\\Users\\csworen", "VSCODE_GIT_ASKPASS_EXTRA_ARGS": "--ms-enable-electron-run-as-node", "VSCODE_GIT_ASKPASS_MAIN": "c:\\Users\\csworen\\AppData\\Local\\Programs\\Microsoft VS Code\\resources\\app\\extensions\\git\\dist\\askpass-main.js", "VSCODE_GIT_ASKPASS_NODE": "C:\\Users\\csworen\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe", "VSCODE_GIT_IPC_HANDLE": "\\\\.\\pipe\\vscode-git-37edf79619-sock", "WEBPACK_SERVE": "true", "windir": "C:\\windows", "ZES_ENABLE_SYSMAN": "1", "_JAVA_OPTIONS": "-Djava.net.preferIPv4Stack=true" }, "sharedObjects": [ "C:\\Program Files (x86)\\nodejs\\node.exe", "C:\\windows\\SYSTEM32\\ntdll.dll", "C:\\windows\\System32\\KERNEL32.DLL", "C:\\windows\\System32\\KERNELBASE.dll", "C:\\windows\\System32\\WS2_32.dll", "C:\\windows\\System32\\RPCRT4.dll", "C:\\windows\\SYSTEM32\\dbghelp.dll", "C:\\windows\\System32\\PSAPI.DLL", "C:\\windows\\System32\\ucrtbase.dll", "C:\\windows\\System32\\ADVAPI32.dll", "C:\\windows\\System32\\msvcrt.dll", "C:\\windows\\SYSTEM32\\USERENV.dll", "C:\\windows\\System32\\sechost.dll", "C:\\windows\\SYSTEM32\\IPHLPAPI.DLL", "C:\\windows\\System32\\USER32.dll", "C:\\windows\\System32\\win32u.dll", "C:\\windows\\System32\\GDI32.dll", "C:\\windows\\System32\\gdi32full.dll", "C:\\windows\\System32\\msvcp_win.dll", "C:\\windows\\System32\\CRYPT32.dll", "C:\\windows\\System32\\bcrypt.dll", "C:\\windows\\SYSTEM32\\WINMM.dll", "C:\\windows\\SYSTEM32\\CRYPTBASE.DLL", "C:\\windows\\System32\\IMM32.DLL", "C:\\windows\\SYSTEM32\\powrprof.dll", "C:\\windows\\SYSTEM32\\UMPDC.dll", "C:\\windows\\system32\\uxtheme.dll", "C:\\windows\\System32\\combase.dll", "C:\\windows\\system32\\mswsock.dll", "C:\\windows\\SYSTEM32\\kernel.appcore.dll", "C:\\windows\\System32\\bcryptprimitives.dll", "C:\\windows\\System32\\NSI.dll", "C:\\windows\\SYSTEM32\\dhcpcsvc6.DLL", "C:\\windows\\SYSTEM32\\dhcpcsvc.DLL", "C:\\windows\\SYSTEM32\\DNSAPI.dll", "C:\\Windows\\System32\\rasadhlp.dll", "C:\\windows\\System32\\fwpuclnt.dll", "C:\\windows\\system32\\napinsp.dll", "C:\\windows\\system32\\pnrpnsp.dll", "C:\\windows\\system32\\wshbth.dll", "C:\\windows\\system32\\NLAapi.dll", "C:\\windows\\System32\\winrnr.dll" ] }
Here's my start script:
"start": "node --max_old_space_size=40000 --report-on-fatalerror node_modules/@angular/cli/bin/ng s",
Hello Chris,
My team and I have done an initial review of this thread, and the errors that you are seeing sound like they could potentially be due to a mismatch in versions of Typescript (or another dependency) that you have locally versus what is being resolved in Azure?
You mentioned that you are looking to upgrade to version 13.3 too, and so perhaps that could be a mismatch with our packages and Angular? For example, if you are using version 12.X of our packages, you will want to be targeting Angular 12, as that is what they expect to be targeting. Similarly, the 13.X packages are expecting Angular 13. If you are upgrading our packages, you will also want to ensure that all of the Infragistics Ignite UI packages are the same version, as they are dependent on one another.
I am unsure why you are consistently receiving JavaScript heap out of memory messages in this case, as trying to allocate 40,000 for the max_old_space_size should be far more than enough. Perhaps there is not enough free memory on your machine when you make a call to your start script, and it is causing the memory allocation to fail? Just as an example, I have tried running our internal Angular samples browser, which has a bunch of different components for IgxSpreadsheet and all of our other controls, and we are only allocating 12192 for max_old_space_size and it runs fine for me locally. For reference, here is the “start” script that our browser is running:
"start": "gulp updateBrowser --max_old_space_size=12192 && node --max_old_space_size=12192 node_modules/@angular/cli/bin/ng serve --configuration es5 -o"
I have also been doing some research on whether or not others are running into the JavaScript heap out of memory issue that you are seeing, and I found this thread. Perhaps it will help you? https://stackoverflow.com/questions/60509976/javascript-heap-out-of-memory-on-azure-build
Please let me know if you have any other questions or concerns on this matter.
There is a mismatch between all of Angular/Infragistics (12.2.9) and the Charts (13.0.1), but it was running fine, both in local and Azure prior to last week. It was the first instance of the Azure error. This configuration ran perfectly fine with 10gb allocated, as present in the package.json:
{ "name": "commits", "scripts": { "ng": "ng", "start": "node --max_old_space_size=10240 node_modules/@angular/cli/bin/ng s -o", "build": "node --max_old_space_size=10240 node_modules/@angular/cli/bin/ng b", "test": "ng test", "lint": "ng lint", "e2e": "ng e2e", "clean": "rmdir /q/s node_modules", "reinstall": "npm run clean && npm i --legacy-peer-deps", "rebuild": "npm run clean && npm i --legacy-peer-deps && npm run build" }, "private": true, "dependencies": { "@angular-devkit/build-optimizer": "^0.1200.0", "@angular/animations": "~12.2.9", "@angular/cdk": "^12.2.9", "@angular/common": "~12.2.9", "@angular/compiler": "~12.2.9", "@angular/core": "~12.2.9", "@angular/forms": "~12.2.9", "@angular/material": "^12.2.9", "@angular/platform-browser": "~12.2.9", "@angular/platform-browser-dynamic": "~12.2.9", "@angular/router": "~12.2.9", "@azure/msal-angular": "^2.0.5", "@azure/msal-browser": "^2.19.0", "@igniteui/material-icons-extended": "^2.4.0", "@infragistics/igniteui-angular": "~12.3.0", "@microsoft/microsoft-graph-client": "^2.2.1", "@microsoft/microsoft-graph-types": "^2.1.0", "bootstrap": "^4.6.0", "classlist.js": "1.1.20150312", "file-saver": "^2.0.5", "guid-typescript": "^1.0.9", "igniteui-angular-charts": "^13.1.0", "igniteui-angular-core": "^13.1.0", "igniteui-angular-excel": "^12.1.1", "igniteui-angular-spreadsheet": "^12.1.1", "jquery": "^3.6.0", "jszip": "^3.5.0", "minireset.css": "~0.0.4", "msal": "^1.4.15", "resize-observer-polyfill": "^1.5.1", "rxjs": "~6.6.0", "tslib": "^2.0.0", "web-animations-js": "^2.3.2", "zone.js": "~0.11.4" }, "devDependencies": { "@angular-devkit/build-angular": "^12.2.9", "@angular/cli": "^12.2.9", "@angular/compiler-cli": "~12.2.9", "@igniteui/angular-schematics": "~12.2.821", "@types/file-saver": "^2.0.2", "@types/hammerjs": "^2.0.36", "@types/jasmine": "~3.6.0", "@types/jquery": "^3.5.5", "@types/node": "^12.20.7", "codelyzer": "^6.0.0", "jasmine-core": "~3.6.0", "jasmine-spec-reporter": "~5.0.0", "karma": "~6.3.2", "karma-chrome-launcher": "~3.1.0", "karma-coverage": "~2.0.3", "karma-jasmine": "~4.0.0", "karma-jasmine-html-reporter": "^1.5.0", "protractor": "~7.0.0", "ts-node": "~8.3.0", "tslint": "~6.1.0", "typescript": "~4.2.4" } }
Separately, I have upgraded a branch from 12.2.9 to 13.3.2 and am no unable to serve or build, no matter how much memory I allocate to max_old_space_size (tested from 1gb up to 40gb). With everything running the same version (I did an automated form of update so I would be sure to have the correct version of everything), there shouldn't be an issue of dependencies, particularly since I always use --legacy-peer-deps for install. Here is the package.json for this configuration:
{ "name": "commits", "scripts": { "ng": "ng", "start": "node --max_old_space_size=10240 --report-on-fatalerror node_modules/@angular/cli/bin/ng s -o", "build": "node --max_old_space_size=10240 node_modules/@angular/cli/bin/ng b", "test": "ng test", "lint": "ng lint", "e2e": "ng e2e", "clean": "rmdir /q/s node_modules", "reinstall": "npm run clean && npm i increase-memory-limit --legacy-peer-deps", "rebuild": "npm run clean && npm i --legacy-peer-deps && npm run build" }, "private": true, "dependencies": { "@angular-devkit/build-optimizer": "^0.1202.17", "@angular/animations": "~13.3.2", "@angular/cdk": "^13.3.2", "@angular/common": "~13.3.2", "@angular/compiler": "~13.3.2", "@angular/core": "~13.3.2", "@angular/forms": "~13.3.2", "@angular/material": "^13.3.2", "@angular/platform-browser": "~13.3.2", "@angular/platform-browser-dynamic": "~13.3.2", "@angular/router": "~13.3.2", "@azure/msal-angular": "^2.2.0", "@azure/msal-browser": "^2.23.0", "@igniteui/material-icons-extended": "^2.11.0", "@infragistics/igniteui-angular": "~13.1.8", "@microsoft/microsoft-graph-client": "^3.0.2", "@microsoft/microsoft-graph-types": "^2.18.0", "bootstrap": "^5.1.3", "classlist.js": "1.1.20150312", "file-saver": "^2.0.5", "guid-typescript": "^1.0.9", "igniteui-angular-charts": "^13.1.1", "igniteui-angular-core": "^13.1.1", "igniteui-angular-excel": "^13.1.1", "igniteui-angular-spreadsheet": "^13.1.1", "increase-memory-limit": "^1.0.7", "jquery": "^3.6.0", "jszip": "^3.9.1", "minireset.css": "~0.0.7", "msal": "^1.4.16", "resize-observer-polyfill": "^1.5.1", "rxjs": "~7.5.5", "tslib": "^2.3.1", "web-animations-js": "^2.3.2", "zone.js": "~0.11.5" }, "devDependencies": { "@angular-devkit/build-angular": "^13.3.2", "@angular/cli": "^13.3.2", "@angular/compiler-cli": "~13.3.2", "@igniteui/angular-schematics": "~13.1.911", "@types/file-saver": "^2.0.5", "@types/hammerjs": "^2.0.41", "@types/jasmine": "~4.0.2", "@types/jquery": "^3.5.14", "@types/node": "^17.0.23", "codelyzer": "^6.0.2", "jasmine-core": "~4.0.1", "jasmine-spec-reporter": "~7.0.0", "karma": "~6.3.17", "karma-chrome-launcher": "~3.1.1", "karma-coverage": "~2.2.0", "karma-jasmine": "~4.0.2", "karma-jasmine-html-reporter": "^1.7.0", "protractor": "~7.0.0", "ts-node": "~10.7.0", "tslint": "~6.1.0", "typescript": "~4.6.3" } }
Since I haven't changed any code for this configuration, I believe it should still run on an allocation close to 10gb. I would consider the 12gb you referenced as close to my threshold, but at present, no amount of memory that I can allocate is sufficient.
Your example may have many components, but last time I checked, it didn't contain spreadsheet or chart components, which are in my app. Perhaps adding those to the 12.2.9 version, then upgrading to the 13.3.2 version will reproduce the memory issue for you. I have suggested something similar to Angular devs.
I have tried to utilize your package.json configuration, but I get a ton of errors when trying to do an npm install with that particular configuration. I’m guessing perhaps you are invoking npm run reinstall to include the legacy-peer-deps in this case, but I am unsure.
I am not personally familiar with, nor am I set up to use an Azure environment, but as a test, I did take one of our IgxSpreadsheet samples from our browser and inject one of our more complex IgxDataChart samples into it after upgrading it to use the igniteui-angular-<X> packages that you have mentioned as well as upgrading it to use Angular 13.3.2. I did initially run into some errors with dependencies when trying to do an npm install, but after resolving them and adding the modules to get the chart to work normally, I am able to load the IgxSpreadsheet with the IgxDataChart without receiving any JavaScript heap errors, and with an allocation of 12GB via the max_old_space_size.
I am attaching the sample to demonstrate the above. I’m curious to know if the sample works in an Azure environment for you, or if perhaps the sample simply isn’t complex enough to reproduce the memory issue you are seeing.
overview.zip
It does not serve on my system. At 12GB (which you provided), I got these error messages:
<--- Last few GCs ---> [24736:04463BF0] 68031 ms: Mark-sweep (reduce) 1590.3 (1667.0) -> 1468.3 (1626.3) MB, 3131.7 / 0.0 ms (average mu = 0.904, current mu = 0.914) last resort GC in old space requested [24736:04463BF0] 71474 ms: Mark-sweep (reduce) 1468.3 (1626.3) -> 1466.3 (1565.8) MB, 3443.7 / 0.0 ms (average mu = 0.789, current mu = 0.000) last resort GC in old space requested <--- JS stacktrace ---> FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
In multiples of 8gb (and other random values), I get the same unhelpful errors as before:
<--- Last few GCs ---> <--- JS stacktrace ---> # # Fatal javascript OOM in GC during deserialization #
Anything above 12gb that does not throw the useless error above stops processing at the phase:building step of generating browser bundles. Either it hangs there forever or it just ends the process without any indicator of why:
**************************************************************************************** This is a simple server for use in testing or debugging Angular applications locally. It hasn't been reviewed for security issues. DON'T USE IT FOR PRODUCTION! **************************************************************************************** ⠋ Generating browser application bundles (phase: building)...
You are correct in assuming it is not complex enough to run in Azure environments. Azure requires terraform scripts to facilitate the build, config files that include your subscription and specific app landing zones, and/or configurations for a VM if you are using one. Additionally, our systems require the use of MSAL to utilize single sign-on.
I just wanted to confirm a couple of things in this case, as it doesn’t make a lot of sense to me that your machine sounds quite a bit more powerful than the one I am testing on, but yet I am able to run the sample I sent you. Can you confirm the following?
1. When you say it does not serve on your system, is this to say you are trying to run the sample locally or in an Azure environment?
2. What is the NPM command you are running to try to run the sample. I am curious if perhaps you are calling ng serve, as this will use the default space size for the application. You will need to run npm run start in order to have the max_old_space_size flag applied in the sample project I sent you.
To clarify, downgrading Node/NPM was half of the answer. With updating properly (some packages needed to be tweaked for versioning), I can now run locally with "ng s -o" and our build on Azure is going swimmingly. I have a coworker to thank for the tedious portion of figuring out which packages needed realignment.
Thank you for your assistance.
Thank you for your update on this matter. I will continue to monitor this thread and await your next update on if a different LTS and Node / NPM environment helps you in this case.
I am running "npm start" in my local environment and not getting anywhere with it.
I'm wondering if it's because I'm on Node 16.x and NPM 8.x. I am downgrading to the LTS for Node 14 to see if it performs better.