High SierraやiOS 11などにエラーメッセージ「Month 13 is out of bounds」を出すCoreFoundationのコードがGitHubに公開されています。詳細は以下から。
2017年12月以降、macOS 10.13.1 High SierraやiOS 11.2の各プロセスやXcode 9.2のログに「Month 13 is out of bounds (13月は範囲外です)」というエラーメッセージが出るという報告がされていますが、このエラーメッセージを出すCoreFoundationのソースコードがAppleのリポジトリに公開されているそうです。
'Month 13 is out of bounds': The official CoreFoundation '__CFYMDFromAbsolute' source code is available online. You can see the new 'ASSERT_VALID_MONTH' define causing all the 'Month 13 is out of bounds' logs.
See https://t.co/KEkyczI36I pic.twitter.com/Y2wRPrm0s7
— Timac (@timacfr) 2017年12月5日
//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月エラーが出ているそうです。
#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やメモリ、バッテリーを消費する可能性がある様なので、ユーザーの方はチェックしてみて下さい。
コメント