Tháng 13 là hết giới hạn?


23

Gần đây, máy Mac của tôi đang hiển thị một số tin nhắn kỳ lạ như "Tháng 13 đã hết giới hạn".

nhập mô tả hình ảnh ở đây

Làm cách nào để khắc phục lỗi này Tôi không thể đến trung tâm sửa chữa được ủy quyền của ant apple vì nó rất xa trung tâm Apple


Từ @tgray: "Tôi đã bắt đầu sử dụng CPU cao từ hôm nay vì UserEventAgent. Nó cũng sử dụng một lượng RAM rất lớn (hơn 30 GB nếu tôi để nó chạy đủ lâu). Buộc bỏ và khởi động lại không thay đổi gì. Tôi đã làm một mẫu Quá trình và thấy hàng tấn dòng xử lý ngày. Khi tôi thay đổi ngày thành tháng 11, việc sử dụng CPU của tôi đã trở lại bình thường. Lần thứ hai tôi đổi nó thành hiện tại, nó lại chuyển sang bonkers. Tôi tự hỏi liệu điều này có liên quan đến ngày iOS không Lỗi trong 11.2.1? Tôi hy vọng Apple sẽ sửa nó sớm vì máy tính của tôi không sử dụng được. "
JMY1000

Câu trả lời:


10

Lỗi này được ghi lại trên iOS 11 và trên macOS 10.13 và tôi không thấy nó gây ra bất kỳ chức năng hoặc sự cố cụ thể nào trên bất kỳ nền tảng nào.

Tôi sẽ liên kết đến câu hỏi chính ở đây về việc "macOS có đăng nhập quá nhiều không" vì đó là một ý kiến ​​và ấn tượng đáng để thảo luận. Một số người có thể cảm thấy tốt hơn nếu không có tin nhắn trừ khi một tình trạng thực sự nghiêm trọng cần hành động. Những người khác muốn chi tiết hơn nữa để họ có thể biết những gì đang xảy ra / tìm hiểu / đo lường. Vì vậy, đây sẽ là một sự đánh đổi như thế nào đây là những vấn đề / được phân loại / sử dụng.

Một nhà phát triển thú vị có một số công cụ là Howard Oakley, người viết blog tại https://eclecticlight.co/

Trang tải xuống của anh ấy có hai ứng dụng đáng quan tâm (sử dụng liên kết tải xuống bên trái vì các phiên bản sản phẩm bên dưới là bản beta và có thể không có trong một ngày hoặc một tuần):

  • Consolation - một trình duyệt giao diện điều khiển thay thế
  • Woodpile - một công cụ để đếm / bin / phân tích các mẫu đăng nhập

10

Tôi có thể xác minh tính hợp pháp của vấn đề này. Tôi đã gặp vấn đề tương tự vào ngày hôm qua và sau khi khởi động lại, máy tính đã bị vô hiệu hóa do lỗi này. Vì một số lý do, máy tính không thể xử lý trong tháng này và đưa ra lỗi ở bất cứ nơi nào có cơ sở dữ liệu hoặc nguyên tắc.

Để khắc phục điều này:

  1. Mở Activity Monitor và buộc bỏ hai tiến trình : lsd,UserEventAgent

  2. Mở tùy chọn hệ thống và điều hướng đến "Ngày & giờ"

  3. Bỏ chọn "Đặt ngày và giờ tự động"

  4. Trong lịch, chọn một ngày trước tháng 12 năm 2017 và nhấn Save

  5. Nếu UserEventAgenthoặc lsdtiếp tục gây ra sự cố, sau đó buộc bỏ chúng lại sau khi đặt ngày.

Những người khác ở đây có vấn đề này

Tại sao?

Dường như với tôi, UserEventAgent đã cố gắng sử dụng hai tệp plist:

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

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

Khi nó cố gắng sử dụng các bảng, nó đã gặp lỗi:

Month 13 is out of bounds

Tôi không chắc điều gì đã thực sự xảy ra trong UserEventAgent, nhưng rõ ràng là khi gặp lỗi, nó không thể xử lý và gây ra việc sử dụng CPU và RAM cao.


Điều này không hiệu quả với tôi, tôi đã thử gần ba lần nhưng không có gì xảy ra.
không ai sử dụng

@qwerty Bạn vẫn nhận được lỗi mặc dù đã đặt ngày giờ trước tháng 12 năm 2017? Lý tưởng nhất là đặt Ngày và Giờ thành ngày 1 tháng 11, sau đó hủy các quy trình được đề cập ở trên bằng trình giám sát hoạt động.
Ckacmaster

Tôi thậm chí đã thử điều đó trước đây. Tôi cũng đã thử thay đổi nó thành ngày 1 tháng 1 nhưng nó vẫn không hoạt động. Tôi nghĩ tôi nên bỏ qua lỗi này vì tôi không sử dụng CPU hoặc sử dụng RAM cao. Tôi hy vọng apple sửa lỗi này trong bản cập nhật phần mềm tiếp theo. Ít nhất thì điều này tốt hơn lỗi gốc: macrumors.com/how-to/temporantly-fix-macos-high-sierra-root-orms
không ai sử dụng

(Tôi không thể thêm nhận xét, xin lỗi.) Tôi đã bắt đầu sử dụng CPU cao ngay hôm nay vì UserEventAgent. Nó cũng sử dụng một lượng RAM khổng lồ (hơn 30 GB nếu tôi để nó chạy đủ lâu). Buộc bỏ và khởi động lại không có gì thay đổi. Tôi đã làm một mẫu của quá trình và thấy rất nhiều dòng liên quan đến ngày. Khi tôi thay đổi ngày thành tháng 11, việc sử dụng CPU của tôi đã trở lại bình thường. Lần thứ hai tôi đổi nó thành hiện tại nó lại đi bonkers. Tôi tự hỏi nếu điều này có liên quan đến lỗi ngày iOS trong 11.2.1? Tôi hy vọng Apple sẽ sửa nó sớm vì máy tính của tôi không sử dụng được.
hmode

1
@qwerty Đừng để máy tính của bạn tắt hoàn toàn cho đến khi Apple vá lỗi này. Tôi đã phạm sai lầm khi khởi động lại khi lần đầu tiên tôi thấy lỗi trong bảng điều khiển XCode của tôi và việc sử dụng RAM và CPU của tôi đã trở nên tồi tệ hơn .. Sau một vài cuộc điều tra, tôi đã tìm ra cách giải quyết tạm thời ở trên, vì máy tính của tôi gần như vô dụng. Lỗi hầu như vô hại trừ khi bạn khởi động lại hoặc cố gắng tải bất kỳ tập tin nào.
Ckacmaster

2

Tôi gặp vấn đề tương tự với việc sử dụng bộ nhớ và CPU UserEventAgent cực kỳ cao bắt đầu từ đầu tháng 12 năm 2017. Bảng điều khiển cho thấy lỗi "hết tháng" như mô tả ở trên.

Tôi đã thử tiện ích đĩa "sơ cứu", khởi động lại, chế độ an toàn (để xóa bộ đệm hệ thống), xóa NVRAM và SMD, không có gì giúp được. Tôi đã nhận thấy rằng việc sử dụng CPU và bộ nhớ không tăng đột biến ở chế độ an toàn.

Giống như @tgray và u / kidtexas , đến một lúc nào đó tôi phát hiện ra rằng nếu tôi vô hiệu hóa tất cả các launchd tùy chỉnh của mình thì sẽ xảy ra sự cố.

Cuối cùng tôi đã viết kịch bản nhỏ dưới đây để giúp tôi gỡ lỗi mà nguyên nhân gây ra vấn đề. Nó đã trở thành một plist chạy vào đầu tiên mỗi tháng:

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

Nhiều người trong số tôi sử dụng StartCalendarIntervalkhóa và sử dụng tập lệnh bên dưới tôi có thể cho thấy rằng họ dường như không gây ra vấn đề về RAM và bộ nhớ, vì vậy tôi không hiểu rõ tại sao một nguyên nhân cụ thể gây ra sự cố. Bất kể, đây là cách tôi sắp xếp nó ra.

Tôi mạnh mẽ đề nghị bạn đọc xem xét thông qua kịch bản để cố gắng hiểu những gì nó làm thay vì chỉ cần sao chép và dán. Cụ thể, như đã viết, điều này sẽ chỉ hoạt động cho những người tham gia ~/Library/LaunchAgents(không phải /Library/LaunchDaemonsnhững người khác) và nó chỉ cố ý kiểm tra những người có tên tệp và <key>Label</key>theo mẫu cụ thể : com.USERNAME.my_plist_name[.plist]. Trước khi chạy nó, tôi đã sử dụng một lớp lót cho bootouttất cả các thông số của mình: for plist in com."$(whoami)".*.plist; do launchctl bootout gui/"${MYUID}"/"${plist%.plist}" || true; donevà sau đó xác minh chúng không còn xuất hiện dưới launchctl listkết quả.

#! /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

Lưu ý với những người đang chạy cái này: nó giả định rằng tất cả các tác nhân mà nó đang thử nghiệm đã bị vô hiệu hóa, vì vậy hãy chú ý chạy bootout(hoặc tương tự) mà n8henrie khuyên dùng.
Ken Williams

1

Giống như những người khác, tôi đã sử dụng CPU cao và sử dụng RAM rất lớn từ UserEventAgent (xem nhận xét của tôi ở trên). Thay đổi ngày thành tháng 11 và buộc bỏ các thứ cố định UserEventAgent. Tất cả điều này bắt đầu vào thứ bảy sau khi tôi khởi động lại.

Sửa chữa

Tôi đã tìm ra điều này cho tôi. Hy vọng cho những người khác có vấn đề, điều này sẽ làm việc cho bạn.

Vấn đề là một số nguyên LaunchAgent tôi có trong ~ / Library / LaunchAgents. Đây là một tệp plist đơn giản gọi StartCalWikiInterval, đây là một khóa hợp lệ cho các chuỗi khởi chạy. Công việc LaunchAgent gọi một tập lệnh shell sao chép một số tệp vào vị trí sao lưu vào ngày đầu tiên của tháng. Công việc hoàn toàn không được gọi - Tôi nghĩ rằng đó là launchd kiểm tra các công việc được tải so với Lịch gây ra sự cố. Ngay sau khi tôi dỡ bỏ bảng này và chuyển tệp ra khỏi thư mục, UserEventAgent vẫn ổn (sau khi thoát khỏi lực lượng). Lần thứ hai tôi tải plist (launchctl load xxxx), UserEventAgent đã bị hỏng.

StartCalWikiInterval là một khóa hợp lệ cho launchd như được thấy ở đây trong các tài liệu của Apple .

Vì vậy, đối với bất kỳ ai gặp sự cố, hãy kiểm tra các thư mục LaunchAgent của bạn và tìm khóa StartCalWikiInterval (hoặc bất kỳ khóa nào liên quan đến lịch khác). Tôi không có bất kỳ vấn đề nào với khoảng thời gian dựa trên thời gian.

Lưu ý: Điều này không khắc phục được lỗi 'Tháng 13 ngoài giới hạn', chỉ là hành vi UserEventAgent điên rồ.


Trên thực tế tôi không có mức sử dụng CPU của Tác nhân sự kiện cao. Và tôi cũng không có mức sử dụng RAM và ZCPU cao.
không ai sử dụng

Câu trả lời này đã giúp tôi. Mặc dù tôi không gặp vấn đề với UserEventAgent nhưng lsd đã phát điên. May mắn thay, tôi nhớ rằng tôi đã tự mình tạo ra plist với StartCalWikiEvent. Chỉ cần vô hiệu hóa nó và buộc lsd giết chết.
Denis The Menace

0

Sau khi báo cáo điều này với Apple và nhân rộng chuỗi leo thang, tôi được cho biết điều này nên được sửa trong macOS 10.13.3.

Rõ ràng, điều này là do một ứng dụng gọi thủ tục NSDate không dùng nữa là 'descriptionWithCalWikiFormat' .

Bạn có thể đọc thêm tại https://forums.developer.apple.com/thread/88417 .

Trong một số trường hợp, chỉnh sửa hoặc xóa một số tệp plist nhất định sẽ ngăn các chương trình gọi thủ tục không dùng nữa, nhưng cách khắc phục thực sự là cập nhật hệ điều hành.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.