【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をこよなく愛すフルスタックエンジニア。
専門は生理心理学、趣味はヨガ(8年前にRYT200取得)やサウナ、美容EMSや電気風呂などヘルスケア全般。
脳波や筋電、心拍を中心とした、生体情報の解析とインタラクティブアートづくりがライフワーク。

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

日常を垂れ流すだけのアカウント
Instagram:@malmal0v0

発信を今後がんばる予定のアカウント
Youtube:https://www.youtube.com/@malmal0v0

まる。をフォローする
その他の記事はこちら
英雄のポーズ(ヴィーラーサナ)のやり方|効果・コツ・注意点【ヨガ】
リバースウォーリア(リバース戦士のポーズ)のやり方|効果・コツ・注意点【ヨガ】
壁に脚を上げるポーズ(足を壁に上げるポーズ)のやり方|効果・コツ・注意点【ヨガ】
サソリのポーズ(ヴリシュチカーサナ)のやり方|効果・コツ・注意点【ヨガ】
戦士のポーズ3(ヴィーラバドラーサナ・スリー)のやり方|効果・コツ・注意点【ヨガ】

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