Bulan 13 di luar batas?

23

Baru-baru ini Mac saya menampilkan beberapa pesan aneh seperti "Bulan 13 di luar batas".

masukkan deskripsi gambar di sini

Bagaimana cara memperbaiki kesalahan ini saya tidak bisa pergi ke pusat perbaikan resmi semut apel karena sangat jauh dari pusat Apple

tidak ada pengguna
sumber
From @tgray: "Saya mulai mendapatkan penggunaan CPU yang tinggi hari ini karena UserEventAgent. Ini juga menggunakan sejumlah besar RAM (30+ GB jika saya membiarkannya berjalan cukup lama). Berhenti secara paksa dan mem-boot ulang tidak mengubah apa pun. Saya melakukan sampel proses dan melihat satu ton garis berurusan dengan tanggal. Ketika saya mengubah tanggal ke November penggunaan CPU saya kembali normal .. Yang kedua saya mengubahnya ke sekarang, ia menjadi gila lagi. Aku ingin tahu apakah ini terkait dengan tanggal iOS bug di 11.2.1? Saya harap Apple segera memperbaikinya karena komputer saya tidak dapat digunakan. "
JMY1000

Jawaban:

10

Kesalahan ini dicatat pada iOS 11 dan pada macOS 10.13 pasti dan saya tidak melihatnya menyebabkan fungsi atau masalah spesifik pada platform apa pun.

Saya akan tautkan ke pertanyaan utama di sini tentang "apakah log MacOS terlalu banyak" karena itu adalah pendapat dan kesan yang layak untuk dibahas. Beberapa orang mungkin merasa lebih baik jika tidak ada pesan kecuali kondisi yang sangat serius membutuhkan tindakan. Yang lain ingin lebih detail sehingga mereka bisa tahu apa yang terjadi / belajar / ukur. Jadi, itu akan menjadi tradeoff bagaimana masalah ini / dikategorikan / digunakan.

Salah satu pengembang menarik yang memiliki beberapa alat adalah Howard Oakley yang blog di https://eclecticlight.co/

Nya halaman download memiliki dua aplikasi yang menarik (menggunakan download kiri menghubungkan dengan versi produk di bawah ini adalah beta dan mungkin tidak saat ini dalam satu hari atau minggu):

  • Penghiburan - browser konsol alternatif
  • Woodpile - alat untuk menghitung / bin / menganalisis pola logging
bmike
sumber
10

Saya dapat memverifikasi keabsahan masalah ini. Saya memiliki masalah yang sama kemarin, dan setelah restart, komputer dianggap hampir tidak berguna karena kesalahan ini. Untuk beberapa alasan, komputer tidak dapat menangani bulan ini dan membuat kesalahan di mana pun ada database atau daftar.

Untuk memperbaikinya:

  1. Terbuka Activity Monitor dan kekuatan berhenti dua proses: lsd,UserEventAgent

  2. Buka Preferensi Sistem dan navigasikan ke "Tanggal & Waktu"

  3. Hapus centang "Tetapkan tanggal dan waktu secara otomatis"

  4. Di kalender, pilih tanggal sebelum Desember 2017 dan tekan Simpan

  5. Jika UserEventAgentatau lsdterus menyebabkan masalah, maka paksa berhenti lagi setelah mengatur tanggal.

Orang lain di sini memiliki masalah ini

Mengapa?

Menurut saya, UserEventAgent berusaha menggunakan dua file plist:

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

dan

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

Ketika mencoba menggunakan daftar, itu mendapat kesalahan:

Month 13 is out of bounds

Saya tidak yakin apa yang sebenarnya terjadi di dalam UserEventAgent, tetapi sudah jelas bahwa ketika mendapat kesalahan, ia tidak bisa mengatasinya dan menyebabkan penggunaan CPU dan RAM yang tinggi.

Ckacmaster
sumber
Ini tidak berhasil untuk saya, saya sudah mencoba hampir tiga kali tetapi tidak ada yang terjadi.
tidak ada pengguna
@ qwerty Anda masih mendapatkan kesalahan meskipun tanggal dan waktu Anda sudah ditentukan sebelum Desember 2017? Idealnya, atur Tanggal dan Waktu ke 1 November, lalu matikan proses yang disebutkan di atas dengan monitor aktivitas.
Ckacmaster
Saya bahkan pernah mencobanya sebelumnya. Saya juga mencoba mengubahnya menjadi 1 Januari tetapi masih tidak berfungsi. Saya pikir saya harus mengabaikan kesalahan ini karena saya tidak memiliki penggunaan CPU atau penggunaan RAM yang tinggi. Saya harap Apple memperbaikinya dalam pembaruan perangkat lunak berikutnya. Well, setidaknya ini lebih baik daripada bug root: macrumors.com/how-to/temporarily-fix-macos-high-sierra-root-bug
tidak ada pengguna
(Saya tidak bisa menambahkan komentar, maaf.) Saya mulai mendapatkan penggunaan CPU yang tinggi hari ini karena UserEventAgent. Ini juga menggunakan sejumlah besar RAM (30+ GB jika saya biarkan berjalan cukup lama). Berhenti secara paksa dan mem-boot ulang tidak mengubah apa pun. Saya melakukan sampel dari proses dan melihat banyak garis berurusan dengan tanggal. Ketika saya mengubah tanggal menjadi November, penggunaan CPU saya kembali normal. Yang kedua saya mengubahnya menjadi sekarang jadi gila lagi. Saya ingin tahu apakah ini terkait dengan bug tanggal iOS di 11.2.1? Saya harap Apple segera memperbaikinya karena komputer saya tidak dapat digunakan.
hmode
1
@ qwerty Jangan biarkan komputer Anda mati sama sekali sampai Apple menambal ini. Saya membuat kesalahan dengan memulai kembali ketika saya pertama kali melihat kesalahan di konsol XCode saya, dan penggunaan RAM dan CPU saya semakin memburuk .. Setelah beberapa penyelidikan saya pikir saya akan melakukan hal di atas untuk solusi sementara, seperti komputer saya hampir tidak berguna. Sebagian besar kesalahan tidak berbahaya kecuali Anda me-restart atau mencoba memuat file plist.
Ckacmaster
2

Saya memiliki masalah yang sama dengan CPU UserEventAgent yang sangat tinggi dan penggunaan memori mulai pada awal Desember 2017. Konsol menunjukkan kesalahan "bulan di luar batas" seperti dijelaskan di atas.

Saya mencoba utilitas disk "pertolongan pertama," reboot, safe mode (untuk menghapus cache sistem), membersihkan NVRAM dan SMD, tidak ada yang membantu. Saya memang memperhatikan bahwa penggunaan CPU dan memori tidak lonjakan dalam mode aman.

Seperti @tgray dan u / kidtexas , pada titik tertentu saya menemukan bahwa jika saya menonaktifkan semua custom launchd saya menyatakan bahwa masalah tidak terjadi.

Saya akhirnya menulis skrip kecil di bawah ini untuk membantu saya men-debug plist mana yang menyebabkan masalah. Itu akhirnya menjadi plist yang berjalan pada tanggal 1 setiap bulan:

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

Banyak plist saya menggunakan StartCalendarIntervalkunci, dan menggunakan skrip di bawah ini saya dapat menunjukkan bahwa mereka tampaknya tidak menyebabkan RAM yang meningkat dan masalah memori, jadi tidak sepenuhnya jelas bagi saya mengapa satu plist spesifik menyebabkan masalah. Bagaimanapun, ini adalah bagaimana saya mengatasinya.

Saya sangat menyarankan pembaca membaca skrip untuk mencoba memahami apa yang dilakukannya daripada hanya menyalin dan menempel. Secara khusus, seperti yang ditulis ini hanya akan bekerja untuk plists di ~/Library/LaunchAgents(tidak /Library/LaunchDaemonsdan lain-lain), dan itu sengaja hanya menguji plists yang nama file dan <key>Label</key>mengikuti pola tertentu: com.USERNAME.my_plist_name[.plist]. Sebelum menjalankannya, saya menggunakan one-liner untuk bootoutsemua daftar saya:, for plist in com."$(whoami)".*.plist; do launchctl bootout gui/"${MYUID}"/"${plist%.plist}" || true; donedan kemudian memverifikasi bahwa mereka tidak lagi muncul di bawah launchctl listhasil.

#! /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
nhenrie
sumber
Catatan untuk orang yang menjalankan ini: mengasumsikan bahwa semua agen yang diuji sudah dinonaktifkan, jadi perhatikan untuk menjalankan bootout(atau serupa) yang direkomendasikan n8henrie.
Ken Williams
1

Seperti yang lain, saya memiliki penggunaan CPU yang tinggi dan penggunaan RAM yang sangat besar dari UserEventAgent (lihat komentar saya di atas). Mengubah tanggal ke November dan memaksa berhenti UserEventAgent memperbaiki hal-hal. Ini semua dimulai pada hari Sabtu setelah saya reboot.

Memperbaiki

Saya menemukan ini untuk saya. Semoga untuk orang lain yang bermasalah, ini akan berhasil untuk Anda.

Masalahnya adalah daftar LaunchAgent yang saya miliki di ~ / Library / LaunchAgents. Ini adalah file plist sederhana yang memanggil StartCalendarInterval, yang merupakan kunci yang valid untuk launchd plist. Pekerjaan LaunchAgent memanggil skrip shell yang menyalin beberapa file ke lokasi cadangan pada hari pertama bulan itu. Pekerjaan itu tidak dipanggil sama sekali - saya pikir itu diluncurkand memeriksa pekerjaan yang dimuat terhadap Kalender yang menyebabkan masalah. Segera setelah saya membongkar plist ini dan memindahkan file keluar dari direktori, UserEventAgent baik-baik saja (setelah kekuatan berhenti). Yang kedua saya memuat plist (launchctl load xxxx), UserEventAgent menjadi gila.

StartCalendarInterval adalah kunci yang valid untuk launchd seperti yang terlihat di sini di dokumen Apple .

Jadi, bagi siapa pun yang mengalami masalah, periksa direktori LaunchAgent Anda dan cari kunci StartCalendarInterval (atau kunci terkait kalender lainnya). Saya tidak memiliki masalah dengan daftar interval berbasis waktu.

Catatan: Ini tidak memperbaiki kesalahan 'Bulan 13 di luar batas', hanya perilaku UserEventAgent yang gila.

hmode
sumber
Sebenarnya saya tidak memiliki penggunaan CPU User Event Agent yang tinggi. Dan saya juga tidak memiliki ZCPU dan penggunaan RAM yang tinggi.
tidak ada pengguna
Jawaban ini membantu saya. Meskipun saya tidak punya masalah dengan UserEventAgent tetapi lsd menjadi gila. Untungnya, saya ingat bahwa saya membuat plist dengan StartCalendarEvent sendiri. Hanya menonaktifkannya dan mematikan lsd secara paksa.
Denis The Menace
0

Setelah melaporkan ini ke Apple dan meningkatkan rantai eskalasi, saya diberitahu ini harus diperbaiki di macOS 10.13.3.

Rupanya, ini disebabkan oleh aplikasi yang memanggil prosedur NSDate yang sudah usang 'descriptionWithCalendarFormat' .

Anda dapat membaca lebih lanjut di https://forums.developer.apple.com/thread/88417 .

Dalam beberapa kasus, mengedit atau menghapus file plist tertentu akan mencegah program memanggil prosedur yang sudah usang, tetapi perbaikan sebenarnya adalah pembaruan OS.

Phillip Remaker
sumber