Next.jsでビルド時にエラーに遭遇した時の話。

Next.js+WordPress+Vercelの構成で運営しているCheckWebTechというギャラリーサイトを運営しています。(https://cwt.jp/

WordPressで記事公開をトリガーにVercelにデプロイを投げる仕組みなのですが、これが動かなくなりました。

エラー内容

Vercelのビルドログを確認するとエラーが発生しているようです

Error occurred prerendering page "/404". Read more: https://nextjs.org/docs/messages/prerender-error
Error: Error serializing `.allPosts` returned from `getStaticProps` in "/404".

ローカルの開発環境を立ち上げてみると下記のエラーでした。

Error: Error serializing `.allPosts` returned from `getStaticProps` in "/".
Reason: `undefined` cannot be serialized as JSON. Please use `null` or omit this value.

下記のエラーになることもあります。

FetchError: invalid json response body at https://**********/ reason: Unexpected end of JSON input
This error happened while generating the page. Any console logs will be displayed in the terminal window.

さくらサーバのログを確認した所、下記のエラーを吐いていた。
処理落ちしてるんではないか。

[Wed Sep 22 08:09:14.246179 2021] [core:notice] [pid 27531] AH00052: child pid 1323 exit signal Bus error (10)

記事数を減らしてビルドしてみるとエラーなく通る。

原因

Next.jsは関係なし。WordPress側の問題でした。
「exit signal Bus error (10)」はメモリー不足が原因になる事がある。
試しに195件あった記事を100件程下書きにステータスを変えてビルドしてみた所、エラーなく通ることが確認できた。

WP GraphQLが結構なメモリを食っているかも。

解決策

memory_limitが256MBだったので512MBに引き上げて問題解決しました。
11月1日現在記事数は300件に迫っていますが問題なし。


この記事が気に入ったらサポートをしてみませんか?