Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gatsby build fails with FATAL ERROR exit code 134: JavaScript heap out of memory #36

Closed
melo0187 opened this issue Aug 27, 2019 · 7 comments

Comments

@melo0187
Copy link

Hey there, thanks for this starter!
It looks interesting and I appreciate how you make everything editable through netlify cms.

I wanted to give it a try, but sadly the develop build fails.
Running gatsby build fails with exit code 134 and this output:

[...] // all good up to this point
success run static queries - 0.012 s — 1/1 106.03 queries/second
⠋ Building production JavaScript and CSS bundles

<--- Last few GCs --->

[10220:0x3773400]    31655 ms: Mark-sweep 1314.9 (1451.5) -> 1311.9 (1453.5) MB, 1782.6 / 0.0 ms  (average mu = 0.080, current mu = 0.008) allocation failure scavenge might not succeed
[10220:0x3773400]    33380 ms: Mark-sweep 1320.2 (1453.5) -> 1319.7 (1455.0) MB, 1711.5 / 0.0 ms  (average mu = 0.044, current mu = 0.008) allocation failure scavenge might not succeed


<--- JS stacktrace --->

==== JS stack trace =========================================

    0: ExitFrame [pc: 0x39df90bdbe1d]
Security context: 0x1e20dd29e6e9 <JSObject>
    1: /* anonymous */ [0x192d0c3dd5a1] [/home/csc/Code/apo/node_modules/acorn-dynamic-import/node_modules/acorn/dist/acorn.js:~2695] [pc=0x39df91741efa](this=0x003fa0283879 <Parser map = 0x2f448ffc2579>,liberal=0x25eae9d828c9 <true>,isBinding=0x25eae9d826f1 <undefined>)
    2: arguments adaptor frame: 1->2
    3: /* anonymous */ [0x192d0c3dcfa9] [/home/csc/...

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
 1: 0x919150 node::Abort() [/snap/node/2485/bin/node]
 2: 0x91919c  [/snap/node/2485/bin/node]
 3: 0xb23d9e v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [/snap/node/2485/bin/node]
 4: 0xb23fe3 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [/snap/node/2485/bin/node]
 5: 0xf349f2  [/snap/node/2485/bin/node]
 6: 0xf34af8 v8::internal::Heap::CheckIneffectiveMarkCompact(unsigned long, double) [/snap/node/2485/bin/node]
 7: 0xf40ed2 v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [/snap/node/2485/bin/node]
 8: 0xf41742 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/snap/node/2485/bin/node]
 9: 0xf4466c v8::internal::Heap::AllocateRawWithRetryOrFail(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) [/snap/node/2485/bin/node]
10: 0xf0f734 v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationSpace) [/snap/node/2485/bin/node]
11: 0x11bac4e v8::internal::Runtime_AllocateInNewSpace(int, v8::internal::Object**, v8::internal::Isolate*) [/snap/node/2485/bin/node]
12: 0x39df90bdbe1d 
Aborted (core dumped)
npm ERR! code ELIFECYCLE
npm ERR! errno 134
npm ERR! [email protected] build: `gatsby build`
npm ERR! Exit status 134
npm ERR! 
npm ERR! Failed at the [email protected] build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/csc/.npm/_logs/2019-08-27T06_52_32_898Z-debug.log

It always fails at Building production JavaScript and CSS bundles.
This is true for two local attempts on different machines and for netlify, too.
It is 100% reproducible meaning I did not manage to create a production build from your starter yet. I did not start making any modifications to it.

So is it just me or is this failing for everyone?
I did not manage to find anything that acutally indicates the source of the problem, but I'm happy to help looking further into it.

@edemirbag
Copy link
Contributor

See gatsbyjs/gatsby#15190 (comment)

@melo0187
Copy link
Author

@edemirbag thank you for pointing out that option. It looks like --max_old_space_size is a V8 option available for node. Do you know what it actually does?

I actually preferred following another path after reading through gatsbyjs/gatsby#15256 and upgraded some dependencies in the starter:

-    "gatsby": "^2.0.98",
+    "gatsby": "^2.14.0",
-    "gatsby-plugin-netlify-cms": "^3.0.10",
+    "gatsby-plugin-netlify-cms": "^4.1.11",
-    "netlify-cms": "^2.3.3",
+    "netlify-cms": "^2.9.7",

This way gatsby build is succeeding both locally and on netlify without the need to set NODE_OPRTIONS env var.
In the process of this I noticed that netlify-cms is deprecated anyway, so I'm considering to swap that one out for netlify-cms-app.

@v4iv maybe you want to consider to update the 3 dependencies mentioned above to allow gatsby build to work out of the box?

@v4iv
Copy link
Owner

v4iv commented Aug 29, 2019

hey @melo0187 thanks for notifying, will make the required updates, just one question:

In the process of this I noticed that netlify-cms is deprecated anyway, so I'm considering to swap that one out for netlify-cms-app.

what do you mean by 'netlify-cms is deprecated'?

@melo0187
Copy link
Author

@v4iv When performing npm install I noticed the command output saying, that netlify-cms is deprecated and that it can be replaced with netlify-cms-app. The strange thing about it is that the official netlifycsm documentation still points to the netlify-cms package and not to netlify-cms-app, see here

Anyway, I quickly tried to "migrate" from netlify-cms to netlify-cms-app, with the only required code change being the line CMS.init added to cms.js before any other call to CMS.
It all builds and can be deployed to netlify, where I managed to test the CMS and did not notice any errors.

@v4iv
Copy link
Owner

v4iv commented Aug 29, 2019

@melo0187 when I tried updating I didn't get any such output, and given that the documentation still states 'netlify-cms', we'll be sticking to that for now.

@melo0187
Copy link
Author

melo0187 commented Aug 30, 2019

@v4iv I need to partially correct myself.
The deprecation warning did not show up in the output of npm install.

But it did show up in the gatsby build output. Furthermore this only happend after I fixed the build by updating the dependencies gatsby, gatsby-plugin-netlify-cms and netlify-cms to the versions I stated in the diff above.
I found the output in my netlify deployment history, too. See for yourself:

1:42:04 PM: Executing user command: gatsby build
1:42:08 PM: success open and validate gatsby-configs — 0.229
1:42:10 PM: success load plugins — 2.186
1:42:10 PM: warning The netlify-cms package is deprecated, please install netlify-cms-app instead. You can do this by running "npm install netlify-cms-app"
1:42:10 PM: success onPreInit — 0.049

@v4iv
Copy link
Owner

v4iv commented Sep 4, 2019

@melo0187 thanks, I did check and I found it as well, thank you for notifying

@v4iv v4iv closed this as completed in 26f446b Sep 15, 2019
v4iv added a commit that referenced this issue Sep 15, 2019
fix: #36 `gatsby build` fails with FATAL ERROR exit code 134: JavaScr…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants