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件に迫っていますが問題なし。
この記事が気に入ったらサポートをしてみませんか?