【ESP32】CORRUPT HEAP: Bad tail at 0x3ffcfc3c. Expected 0xbaad5678 got 0x3ffcfb58エラーの対処法

※当サイトにはプロモーションリンクが含まれます。

Arduino IDEにてErrorが表示された時の解決法

事象

こちらのマイコンを使ってJ〇J〇の奇妙な天気予報アプリを作っていたところ、

ORRUPT HEAP: Bad tail at 0xXXXXXXXX
Expected 0xXXXXXXXX got 0xXXXXXXXX

というエラーがシリアルモニタにて表示され、突然再起動を繰り返すようになった。

原因

JSON形式のデータを格納する為のメモリサイズをオーバーした書き込みを行っていた。(いわゆるバッファオーバーフローまたはバッファオーバーランと呼ばれる事象)

const size_t mem_cap = 2048;                                  // JSON形式データ格納用メモリサイズ
StaticJsonDocument<mem_cap> n_jsondata;                       // JSON形式データ格納用

解決法

バッファを許容サイズに設定し直す。

const size_t mem_cap = 8192;                                  // JSON形式データ格納用メモリサイズ
StaticJsonDocument<mem_cap> n_jsondata;                       // JSON形式データ格納用

なお、書き込みサイズの計算はこちらのサイトで行うと非常に便利。
Processor:ESP32, Mode:Deserialize, Input Type:String を選択)

以上です。

まる。

お仕事のご依頼はDM又はメールにて。
━━━━━━━━━━━━━━━━━
Python/Touchdesigner/M5Stackをこよなく愛すフルスタックエンジニア。
専門は生理心理学、趣味はヨガやサウナ、EMS電気風呂などヘルスケア全般。
脳波や筋電、心拍を中心とした生体情報のセンシング&インタラクティブアートづくりがライフワーク。

普段はワントゥーテンという会社で空間演出エンジニアをしています。
リファラル採用お繋ぎできますので、我こそはという尖った方は経歴と希望職種添えてDMください(エンジニア以外、営業職等もOK)。ご飯行きましょ。

↓日常垢
Instagram:@malmal0v0

まる。をフォローする
その他の記事はこちら
【QNAP】Amazonで購入したNASの修理代理店に問い合わせしてみた【無償保証】
Touchdesigner 2025 注目のアップデートまとめ|10年越し!POPsのGPU革命&Python IDE大幅強化等
【副業・転職ロードマップ付】未経験からAIエンジニアは独学でなれる?スクールとの違いを比較
Androidを自宅でWi-Fi接続時、LINEなど一部のアプリのみネットワークが繋がらず不安定になる問題
POPs Operators Quick Reference/Cheat Sheet|Touchdesigner

タイトルとURLをコピーしました