question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Azure Devops builds failing - Javascript Heap out of memory

See original GitHub issue

Getting “Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory” on all azure builds. Local builds are fine.

PS: I have seen Issue# 262

What did I try?

  1. I tried all steps listed on Issue 262
  2. Tried all solutions listed at https://developercommunity.visualstudio.com/content/problem/398343/azure-devops-pipeline-fatal-error-ineffective-mark.html
  3. Edited csproject msbuild task RunWebpack to add node --max_old_space_size=4096. I see this gets executed twice and max_old_space_size is being ignored the second time. See below error.
<Target Name="RunWebpack" AfterTargets="ComputeFilesToPublish">
    <Exec Command="npm install" />
    <Exec Command="node --max_old_space_size=4096 node_modules/webpack/bin/webpack.js --config webpack.config.vendor.js --env.prod" />
    <Exec Command="node --max_old_space_size=4096 node_modules/webpack/bin/webpack.js --env.prod" />
    <!-- Include the newly-built files in the publish output -->
    <ItemGroup>
      <DistFiles Include="wwwroot\dist\**; ClientApp\dist\**" />
      <ResolvedFileToPublish Include="@(DistFiles->'%(FullPath)')" Exclude="@(ResolvedFileToPublish)">
        <RelativePath>%(DistFiles.Identity)</RelativePath>
        <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
      </ResolvedFileToPublish>
    </ItemGroup>
  </Target>

Exact Error:

Getting error at "RunWebpackBuild"
EXEC(0,0): Error : Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
Web.csproj(119,5): Error MSB3073: The command "node node_modules/webpack/bin/webpack.js --env.prod" exited with code 134.
Process 'msbuild.exe' exited with code '1'.

Location of Error:

node node_modules/webpack/bin/webpack.js --config webpack.config.vendor.js --env.prod
  env = {"prod":true}
  Hash: 2e377ce94a017387bb5e67cbd26fb64a7dcb8f06
  Version: webpack 4.20.2
  Child
      Hash: 2e377ce94a017387bb5e
      Time: 2455ms
      Built at: 07/31/2019 6:47:48 PM
          Asset     Size  Chunks                    Chunk Names
      vendor.js  273 KiB       0  [emitted]  [big]  vendor
      Entrypoint vendor [big] = vendor.js
      
  Child
      Hash: 67cbd26fb64a7dcb8f06
      Time: 17716ms
      Built at: 07/31/2019 6:48:03 PM
          Asset     Size  Chunks             Chunk Names
      vendor.js  1.9 MiB       0  [emitted]  vendor
      Entrypoint vendor = vendor.js
     
node node_modules/webpack/bin/webpack.js --env.prod
[error]EXEC(0,0): Error : Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
[debug]Processed: vso[task.logissue type=Error;sourcepath=EXEC;linenumber=0;columnnumber=0;code=;]Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
EXEC : FATAL error : Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory [D:\a\3\s\SCACostingProgram\MAIN\SCACP\SCACP.Web\SCACP.Web.csproj]
   1: 00007FF79553C6AA v8::internal::GCIdleTimeHandler::GCIdleTimeHandler+4506
   2: 00007FF795517416 node::MakeCallback+4534
   3: 00007FF795517D90 node_module_register+2032
   4: 00007FF79583189E v8::internal::FatalProcessOutOfMemory+846
   5: 00007FF7958317CF v8::internal::FatalProcessOutOfMemory+639
   6: 00007FF795A17F94 v8::internal::Heap::MaxHeapGrowingFactor+9620
   7: 00007FF795A0EF76 v8::internal::ScavengeJob::operator=+24550
   8: 00007FF795A0D5CC v8::internal::ScavengeJob::operator=+17980
   9: 00007FF795A16317 v8::internal::Heap::MaxHeapGrowingFactor+2327
  10: 00007FF795A16396 v8::internal::Heap::MaxHeapGrowingFactor+2454
  11: 00007FF795B40637 v8::internal::Factory::NewFillerObject+55
  12: 00007FF795BBD826 v8::internal::operator<<+73494
  13: 000002B2769DC5C1 

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:8

github_iconTop GitHub Comments

10reactions
MrzJklcommented, Jan 25, 2021

Solution for Azure Pipeline in Azure DevOps:

- task: PowerShell@2
  displayName: Build
  env:
    NODE_OPTIONS: --max_old_space_size=16384

Set the Environment VariableNODE_OPTIONSwith value --max_old_space_size=16384 in your Build-Task.

5reactions
alexbenitezcommented, Jul 31, 2019

I do not know why but I got this error last week. I fixed our automated build by updating the webpack script as follows (I put a random higher number).

"build:webpack": "webpack --max_old_space_size=16384 --progress --color",

However, later I read that apparently, the correct approach is to set an environment variable

NODE_OPTIONS=--max_old_space_size=16384

Hope it helps.

Read more comments on GitHub >

github_iconTop Results From Across the Web

JavaScript heap out of memory on Azure build - Stack Overflow
Solution for Azure Pipeline in Azure DevOps: - task: PowerShell@2 displayName: Build env: NODE_OPTIONS: --max_old_space_size=16384.
Read more >
FATAL ERROR: Ineffective mark-compacts near heap limit ...
When running ng build --prod in a build pipeline, the script fails with the following error message: 'FATAL ERROR: Ineffective mark-compacts near heap...
Read more >
JavaScript heap out of memory in Angular 7 using Azure ...
I'm receiving the following error: FATAL ERROR: CALL_AND_RETRY_LAST After upgrading to Angular 7.1, the allocation failed because the ...
Read more >
Intermittent JavaScript heap out of memory error ... - Reddit
Intermittent JavaScript heap out of memory error when building Angular app on Azure DevOps build agent. We get this error about once every...
Read more >
My pipeline fails with a FATAL ERROR ... - Microsoft Learn
... Allocation failed - JavaScript heap out of memory ... in azure devops that continuous build and deploy my node js project on...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found