High SierraやiOS 11などにエラーメッセージ「Month 13 is out of bounds」を出すCoreFoundationのコードがGitHubに公開。

GitHubのロゴ。 macOS High Sierra
記事内に広告が含まれています。
スポンサーリンク

 High SierraやiOS 11などにエラーメッセージ「Month 13 is out of bounds」を出すCoreFoundationのコードがGitHubに公開されています。詳細は以下から。

GitHubのロゴ。

 2017年12月以降、macOS 10.13.1 High SierraやiOS 11.2の各プロセスやXcode 9.2のログにMonth 13 is out of bounds (13月は範囲外です)というエラーメッセージが出るという報告がされていますが、このエラーメッセージを出すCoreFoundationのソースコードがAppleのリポジトリに公開されているそうです。

//Calculations above should guarantee that 0 <= absolute < 336, meaning 1 <= m <= 11 and that __CFDaysBeforeMonth(m + 1, …) will at some point be > absolute.

 このエラーメッセージを出すCoreFoundationの「CFDate.c」は昨年12月にmacOS 10.12 Sierraにインポートされた後、AppleのPhilippe Hauslerさんらにより今年11月に新しい”ASSERT_VALID_MONTH“という月の有効値をチェックする関数が追加され、ここから13月エラーが出ているそうです。

CoreFoundationのASSERT_VALID_MONTH

#define ASSERT_VALID_MONTH(month) do { if (!((month) >= 1 && (month) <= 12)) { os_log_error(OS_LOG_DEFAULT, "Month %d is out of bounds", (int)month); /* HALT */ } } while(0)

 13月エラー自体はあまり実害はないようですがエラーがトリガーとなり、UserEventAgentプロセスがMacのCPUやメモリ、バッテリーを消費する可能性がある様なので、ユーザーの方はチェックしてみて下さい。

コメント

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