13 개월은 끝났습니까? 같은 이상한 메시지가 나타납니다. 이

최근에 나의 Mac에서 “Month 13 is out of bounds”와 같은 이상한 메시지가 나타납니다.

여기에 이미지 설명을 입력하십시오

이 오류를 해결하는 방법 Apple 공인 수리 센터는 Apple Center와 매우 멀리 떨어져 있기 때문에 개미 Apple 공인 수리 센터에 갈 수 없습니다.



답변

이 오류는 iOS 11 및 macOS 10.13에 확실히 기록되어 있으며 플랫폼에서 특정 기능이나 문제를 일으키는 것으로 보이지 않습니다.

“macOS 로그가 너무 많습니까?”에 대한 주요 질문과 관련하여 논의 할 가치가있는 의견과 인상입니다. 실제로 심각한 상태가 필요한 경우가 아니면 메시지가 없으면 기분이 나아질 수 있습니다. 어떤 사람들은 더 자세한 내용을 원하므로 무슨 일이 일어나고 있는지 배우고 측정 할 수 있습니다. 따라서 이것이 이슈 / 분류 / 사용 방식에 대한 절충점이 될 것입니다.

몇 가지 도구가있는 흥미로운 개발자 중 하나는 Howard Oakley입니다 ( https://eclecticlight.co/).

그의 다운로드 페이지 에는 관심있는 두 가지 앱이 있습니다 (아래의 제품 버전은 베타 버전이므로 하루 또는 주에 최신 버전이 아닐 수 있으므로 왼쪽 다운로드 링크를 사용하십시오).

  • 위로 -대체 콘솔 브라우저
  • Woodpile- 로깅 패턴 계산 / 빈 / 분석 도구

답변

이 문제의 정당성을 확인할 수 있습니다. 어제 같은 문제가 발생했으며 컴퓨터를 다시 시작한 후이 오류로 인해 컴퓨터가 거의 쓸모 없게되었습니다. 어떤 이유로 든 컴퓨터는이 달을 처리 할 수 ​​없으며 데이터베이스 나 plist가있는 곳에서 오류를 발생시킵니다.

이 문제를 해결하려면

  1. 활동 모니터를 열고 다음 두 프로세스를 강제 종료하십시오. lsd,UserEventAgent

  2. 시스템 환경 설정을 열고 “날짜 및 시간”으로 이동하십시오

  3. “자동으로 날짜 및 시간 설정”을 선택 해제하십시오.

  4. 일정에서 2017 년 12 월 이전 날짜를 선택하고 저장을 누릅니다.

  5. 경우 UserEventAgent또는 lsd원인이 문제를 계속하고 힘이 날짜를 설정 한 후 다시 종료합니다.

다른 사람들이 여기에 문제가 있습니다

왜?

UserEventAgent가 두 개의 plist 파일을 사용하려고 시도한 것 같습니다.

System/Library/LaunchAgents/com.apple.UserEventAgent-Aqua.plist

System/Library/LaunchAgents/com.apple.UserEventAgent-LoginWindow.plist

plists를 사용하려고 할 때 오류가 발생했습니다.

Month 13 is out of bounds

실제로 UserEventAgent 내에서 무슨 일이 있었는지 잘 모르겠지만 오류가 발생하면 처리 할 수없고 CPU 및 RAM 사용량이 높아집니다.


답변

2017 년 12 월 초에 매우 높은 UserEventAgent CPU 및 메모리 사용량과 동일한 문제가 발생했습니다. 콘솔에 위에서 설명한대로 “범위를 벗어난 달”오류가 표시되었습니다.

디스크 유틸리티 “응급 처치”, 재부팅, 안전 모드 (시스템 캐시 지우기), NVRAM 및 SMD 지우기를 시도했지만 아무런 도움이되지 않았습니다. 안전 모드에서 CPU 및 메모리 사용량이 급증하지 않음을 알았습니다.

@tgray 및 u / kidtexas와 같이 어느 시점에서 나는 모든 사용자 정의 실행 plist를 비활성화하면 문제가 발생하지 않는다는 것을 알았습니다.

결국 아래에 작은 스크립트를 작성하여 문제를 일으킨 plist를 디버깅하는 데 도움이되었습니다. 결국 매월 1 일에 실행되는 plist가되었습니다.

<key>StartCalendarInterval</key>
<dict>
    <key>Day</key>
    <integer>1</integer>
    <key>Hour</key>
    <integer>03</integer>
    <key>Minute</key>
    <integer>00</integer>
</dict>

많은 plists가 StartCalendarInterval키를 사용하고 아래 스크립트를 사용하면 spiking RAM 및 메모리 문제를 유발하지 않는 것으로 보일 수 있으므로 특정 plist가 왜 문제를 일으키는 지 명확하지 않습니다. 어쨌든, 이것은 내가 그것을 분류하는 방법입니다.

나는 강력하게 독자가 대신 복사 및 붙여 넣기의 무엇을 이해하려고 노력하는 스크립트를 통해 볼 것을 권장합니다. 작성된 특히,이 단지의 속성 목록을 위해 작동 할 ~/Library/LaunchAgents(안 /Library/LaunchDaemons등), 그리고 의도적으로 대해서만 파일 이름과 속성 목록 테스트 <key>Label</key>특정 패턴을 따르십시오 : com.USERNAME.my_plist_name[.plist]. 그것을 실행하기 전에 bootout모든 plist에 하나의 라이너를 사용하여 for plist in com."$(whoami)".*.plist; do launchctl bootout gui/"${MYUID}"/"${plist%.plist}" || true; done더 이상 launchctl list결과에 나타나지 않는지 확인했습니다 .

#! /bin/bash
# /apple/307512/month-13-is-out-of-bounds

set -euf -o pipefail

MYUID="$(id -u)"

pushd "${HOME}"/Library/LaunchAgents

while IFS= read -r -d '' plist; do
  echo "${plist}"
  stats=($(ps ux | grep -v grep | grep UserEventAgent | awk '{ print $3, $5}'))
  cpu="${stats[0]}"
  vmem="${stats[1]}"
  echo "CPU use and virtual memory size while disabled: ${stats[@]}"
  launchctl bootstrap gui/"${MYUID}" "${plist}"
  sleep 5
  stats=($(ps ux | grep -v grep | grep UserEventAgent | awk '{ print $3, $5}'))
  echo "CPU use and virtual memory size while enabled: ${stats[@]}"
  echo "Change in vmem: $(( "${vmem}" - "${stats[1]}" ))"
  echo
done < <(find . -iname "com.$(whoami).*.plist" -print0)

popd


답변

다른 사람들과 마찬가지로 UserEventAgent의 CPU 사용량과 RAM 사용량이 많았습니다 (위의 의견 참조). 날짜를 11 월로 변경하고 UserEventAgent가 강제로 종료했습니다. 이것은 모두 재부팅 후 토요일에 시작되었습니다.

고치다

나는 이것을 위해 알아 냈다. 바라건대 문제가있는 다른 사람들에게 도움이 될 것입니다.

~ / Library / LaunchAgents에있는 LaunchAgent plist가 문제였습니다. 시작된 plist에 유효한 키인 StartCalendarInterval을 호출하는 간단한 plist 파일입니다. LaunchAgent 작업은 매월 1 일에 일부 파일을 백업 위치로 복사하는 쉘 스크립트를 호출합니다. 작업이 전혀 호출되지 않습니다.로드 된 작업을 캘린더와 비교하여 문제를 일으키는 것으로 시작됩니다. 이 plist를 언로드하고 파일을 디렉토리 밖으로 이동하자마자 UserEventAgent가 정상이었습니다 (강제 종료 후). 두 번째로 plist (launchctl load xxxx)를로드하면 UserEventAgent가 문제를 일으켰습니다.

StartCalendarInterval은 여기 Apple의 문서 에서 볼 수있는 유효한 키입니다 .

따라서 문제가있는 사람은 LaunchAgent 디렉토리를 확인하고 StartCalendarInterval 키 (또는 다른 캘린더 관련 키)를 찾으십시오. 시간 기반 간격 plist에 문제가 없었습니다.

참고 : 이것은 ‘Month 13 out of bounds’오류가 아니라 미친 UserEventAgent 동작 만 수정합니다.


답변

이것을 Apple 에보 고하고 에스컬레이션 체인을 확장 한 후 이것이 macOS 10.13.3에서 수정되어야한다고 들었습니다.

분명히 이것은 Deprecated NSDate 프로 시저 ‘descriptionWithCalendarFormat’을 호출 하는 응용 프로그램으로 인해 발생합니다 .

https://forums.developer.apple.com/thread/88417 에서 더 많은 내용을 읽을 수 있습니다 .

경우에 따라 특정 plist 파일을 편집하거나 제거하면 프로그램이 더 이상 사용되지 않는 프로 시저를 호출하지 못할 수 있지만 실제 수정 사항은 OS 업데이트입니다.


답변