เดือนที่ 13 ไม่อยู่ในขอบเขต?


23

เมื่อเร็ว ๆ นี้ Mac ของฉันแสดงข้อความแปลก ๆ เช่น "เดือนที่ 13 พ้นขอบเขต"

ป้อนคำอธิบายรูปภาพที่นี่

ฉันจะแก้ไขข้อผิดพลาดนี้ได้อย่างไรฉันไม่สามารถไปที่ศูนย์ซ่อมที่ได้รับอนุญาตของ apple ได้เพราะอยู่ไกลจากศูนย์ Apple มาก


จาก @tgray: "ฉันเริ่มได้รับการใช้งาน CPU สูงในวันนี้เพราะ UserEventAgent นอกจากนี้ยังใช้ RAM จำนวนมาก (30+ GB ถ้าฉันปล่อยให้มันทำงานได้นานพอ) การออกจากระบบและการรีบูตเครื่องไม่มีอะไรเปลี่ยนแปลง กระบวนการและเห็นเส้นจำนวนมากที่เกี่ยวข้องกับวันที่เมื่อฉันเปลี่ยนวันที่เป็นเดือนพฤศจิกายนการใช้งาน CPU ของฉันกลับมาเป็นปกติครั้งที่สองฉันเปลี่ยนเป็นปัจจุบันมันกลายเป็น bonkers อีกครั้งฉันสงสัยว่านี่เกี่ยวข้องกับวันที่ iOS ข้อผิดพลาดใน 11.2.1 ฉันหวังว่า Apple จะแก้ไขได้ในไม่ช้าเพราะคอมพิวเตอร์ของฉันใช้ไม่ได้ "
JMY1000

คำตอบ:


10

ข้อผิดพลาดนี้ถูกบันทึกไว้ใน iOS 11 และใน macOS 10.13 แน่นอนและฉันไม่เห็นมันทำให้เกิดการทำงานหรือปัญหาเฉพาะบนแพลตฟอร์มใด ๆ

ฉันจะเชื่อมโยงกับคำถามหลักที่นี่เกี่ยวกับ "ทำบันทึก macOS มากเกินไป" เนื่องจากเป็นความคิดเห็นและความประทับใจที่ควรค่าแก่การอภิปราย บางคนอาจรู้สึกดีขึ้นถ้าไม่มีข้อความหากไม่ได้รับการแก้ไข คนอื่นต้องการรายละเอียดเพิ่มเติมเพื่อให้พวกเขาสามารถรู้ว่าเกิดอะไรขึ้น / เรียนรู้ / วัด ดังนั้นมันจะเป็นการแลกเปลี่ยนว่าสิ่งเหล่านี้เป็นปัญหา / จัดหมวดหมู่ / ใช้อย่างไร

ผู้พัฒนาที่น่าสนใจรายหนึ่งที่มีเครื่องมือบางอย่างคือ Howard Oakley ซึ่งบล็อกที่https://eclecticlight.co/

หน้าดาวน์โหลดของเขามีสองแอพที่น่าสนใจ (ใช้ลิงค์ดาวน์โหลดด้านซ้ายเนื่องจากรุ่นผลิตภัณฑ์ด้านล่างเป็นรุ่นเบต้าและอาจไม่เป็นปัจจุบันในหนึ่งวันหรือหนึ่งสัปดาห์):

  • Consolation - เบราว์เซอร์คอนโซลทางเลือก
  • Woodpile - เครื่องมือในการนับ / bin / วิเคราะห์รูปแบบการบันทึก

10

ฉันสามารถตรวจสอบความถูกต้องของปัญหานี้ได้ ฉันมีปัญหาเดียวกันเมื่อวานนี้และหลังจากรีสตาร์ทคอมพิวเตอร์แสดงผลเกือบไร้ประโยชน์เนื่องจากข้อผิดพลาดนี้ ด้วยเหตุผลบางอย่างคอมพิวเตอร์ไม่สามารถจัดการกับเดือนนี้และส่งข้อผิดพลาดที่ใดก็ตามที่มีฐานข้อมูลหรือ plists

ในการแก้ไขปัญหานี้:

  1. เปิดการตรวจสอบกิจกรรมและบังคับให้ออกจากสองกระบวนการ: lsd,UserEventAgent

  2. เปิดการตั้งค่าระบบและไปที่ "วันที่และเวลา"

  3. ยกเลิกการเลือก "ตั้งวันที่และเวลาอัตโนมัติ"

  4. ในปฏิทินเลือกวันที่ก่อนเดือนธันวาคม 2017 และกดบันทึก

  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 สูง


นี่ไม่ได้ผลสำหรับฉันฉันลองเกือบสามครั้ง แต่ไม่มีอะไรเกิดขึ้น
ไม่มีผู้ใช้

@qwerty คุณยังคงได้รับข้อผิดพลาดแม้จะมีวันและเวลาที่กำหนดไว้ก่อนเดือนธันวาคม 2017 เป็นการดีที่ตั้งค่าวันที่และเวลาเป็น 1 พฤศจิกายนจากนั้นฆ่ากระบวนการที่กล่าวถึงข้างต้นด้วยการตรวจสอบกิจกรรม
Ckacmaster

ฉันเคยลองมาก่อน ฉันได้ลองเปลี่ยนเป็น 1 มกราคม แต่ก็ยังใช้งานไม่ได้ฉันคิดว่าฉันควรละเลยข้อผิดพลาดนี้เพราะฉันไม่มีการใช้งาน CPU สูงหรือการใช้ RAM ฉันหวังว่าแอปเปิ้ลจะแก้ไขปัญหานี้ในการอัพเดตซอฟต์แวร์ครั้งต่อไป อย่างน้อยนี่จะดีกว่าข้อผิดพลาดรูท: macrumors.com/how-to/temporarily-fix-macos-high-sierra-root-bug
ไม่มีผู้ใช้

(ฉันไม่สามารถเพิ่มความคิดเห็นขออภัย) ฉันเริ่มได้รับการใช้งาน CPU สูงในวันนี้เพราะ UserEventAgent นอกจากนี้ยังใช้ RAM จำนวนมาก (30+ GB ถ้าฉันปล่อยให้มันรันนานพอ) บังคับให้เลิกและรีบูตเครื่องไม่มีอะไรเปลี่ยนแปลง ฉันทำตัวอย่างของกระบวนการและเห็นเส้นจำนวนมากที่เกี่ยวข้องกับวันที่ เมื่อฉันเปลี่ยนวันที่เป็นเดือนพฤศจิกายนการใช้งาน CPU ของฉันกลับมาเป็นปกติ ครั้งที่สองที่ฉันเปลี่ยนมันเป็นของขวัญ ฉันสงสัยว่าสิ่งนี้เกี่ยวข้องกับข้อบกพร่องของวันที่ iOS ใน 11.2.1 หรือไม่? ฉันหวังว่า Apple จะแก้ไขได้ในไม่ช้าเพราะคอมพิวเตอร์ของฉันใช้ไม่ได้
hmode

1
@qwerty อย่าปล่อยให้คอมพิวเตอร์ของคุณปิดเลยจนกว่า Apple จะทำการแก้ไข ฉันทำผิดพลาดในการเริ่มต้นใหม่เมื่อฉันเห็นข้อผิดพลาดในคอนโซล XCode ของฉันครั้งแรกและการใช้ RAM และ CPU ของฉันแย่ลง .. หลังจากการตรวจสอบฉันพบว่าฉันทำตามวิธีแก้ปัญหาชั่วคราวเช่นเดียวกับคอมพิวเตอร์ เกือบไร้ประโยชน์ ข้อผิดพลาดส่วนใหญ่จะไม่เป็นอันตรายเว้นแต่ว่าคุณจะรีสตาร์ทหรือพยายามโหลดไฟล์ plist ใด ๆ
Ckacmaster

2

ฉันมีปัญหาเดียวกันกับการใช้งาน CPU และหน่วยความจำที่สูงมาก UserEventAgent เริ่มต้นเมื่อต้นเดือนธันวาคม 2560 คอนโซลแสดงข้อผิดพลาด "หมดเดือน" ตามที่อธิบายไว้ข้างต้น

ฉันลองใช้ยูทิลิตี้ของดิสก์ "การปฐมพยาบาล" รีบูตเครื่องเซฟโหมด (เพื่อล้างแคชของระบบ) การล้าง NVRAM และ SMD ไม่ช่วยอะไรเลย ฉันสังเกตเห็นว่าการใช้งาน CPU และหน่วยความจำไม่ได้ขัดขวางในเซฟโหมด

เช่น @tgray และu / kidtexasในบางครั้งฉันก็พบว่าถ้าฉันปิดการใช้งาน launchd ที่กำหนดเองทั้งหมดของฉันว่าปัญหาไม่ได้เกิดขึ้น

ในที่สุดฉันก็เขียนสคริปต์เล็กน้อยด้านล่างเพื่อช่วยในการแก้ไขข้อผิดพลาดซึ่งเป็นสาเหตุให้เกิดปัญหา มันจบลงด้วยการเป็นคนที่ทำงานในวันแรกของทุกเดือน:

<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กุญแจและใช้สคริปต์ด้านล่างฉันสามารถแสดงให้เห็นว่าพวกเขาดูเหมือนจะไม่ทำให้เกิดปัญหา RAM และหน่วยความจำ spiking ดังนั้นจึงไม่ชัดเจนเลยสำหรับฉันว่าเหตุใดคนหนึ่งที่เฉพาะเจาะจงทำให้เกิดปัญหา นี่เป็นวิธีที่ฉันแยกออก

ฉันขอแนะนำให้ผู้อ่านตรวจสอบสคริปต์เพื่อพยายามทำความเข้าใจว่ามันทำอะไรแทนที่จะคัดลอกและวาง โดยเฉพาะในขณะที่เขียนนี้จะทำงานใน plists ~/Library/LaunchAgents(ไม่ได้/Library/LaunchDaemonsและอื่น ๆ ) และมันจงใจทดสอบเพียง plists ที่มีชื่อไฟล์และตามรูปแบบที่เฉพาะเจาะจง:<key>Label</key> com.USERNAME.my_plist_name[.plist]ก่อนใช้งานฉันใช้สายการบินหนึ่งเดียวกับbootoutผู้วางแผนทุกรายของฉัน: 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

หมายเหตุสำหรับผู้ที่ใช้งานนี้: ถือว่าผู้ทำหน้าที่ทั้งหมดที่ทดสอบอยู่นั้นถูกปิดใช้งานแล้วดังนั้นให้ระมัดระวังในการเรียกใช้bootout(หรือคล้ายกัน) ที่ n8henrie แนะนำ
เคนวิลเลียมส์

1

เช่นเดียวกับคนอื่น ๆ ฉันมีการใช้งาน CPU สูงและการใช้ RAM ขนาดใหญ่จาก UserEventAgent (ดูความคิดเห็นของฉันด้านบน) เปลี่ยนวันที่เป็นเดือนพฤศจิกายนและบังคับให้เลิกใช้ UserEventAgent แก้ไขสิ่งต่าง ๆ ทั้งหมดนี้เริ่มต้นในวันเสาร์หลังจากที่ฉันรีบูท

แก้ไข

ฉันคิดออกนี้สำหรับฉัน หวังว่าสำหรับคนอื่นที่มีปัญหานี่จะใช้กับคุณได้

ปัญหาคือตัวเลือก LaunchAgent ที่ฉันมีใน ~ / Library / LaunchAgents มันเป็นไฟล์ plist อย่างง่ายที่เรียกใช้ StartCalendarInterval ซึ่งเป็นคีย์ที่ถูกต้องสำหรับ launchd plists งาน LaunchAgent เรียกเชลล์สคริปต์ที่คัดลอกไฟล์บางไฟล์ไปยังตำแหน่งสำรองในวันแรกของเดือน งานไม่ได้ถูกเรียกเลย - ฉันคิดว่ามันเป็น launchd ตรวจสอบงานที่โหลดกับปฏิทินซึ่งเป็นสาเหตุของปัญหา ทันทีที่ฉันยกเลิกการโหลดนี้และย้ายไฟล์ออกจากไดเรกทอรี UserEventAgent ก็ใช้ได้ (หลังจากบังคับให้ออก) ครั้งที่สองที่ฉันโหลด plist (launchctl load xxxx), UserEventAgent ก็หายไป

StartCalendarInterval เป็นคีย์ที่ถูกต้องสำหรับ launchd เท่าที่เห็นที่นี่ในเอกสารแอปเปิ้ล

ดังนั้นสำหรับใครก็ตามที่มีปัญหาให้ตรวจสอบไดเรกทอรี LaunchAgent ของคุณและค้นหาคีย์ StartCalendarInterval (หรือคีย์อื่น ๆ ที่เกี่ยวข้องกับปฏิทิน) ฉันไม่ได้มีปัญหาใด ๆ กับ plists ช่วงเวลาตาม

หมายเหตุ:วิธีนี้จะไม่แก้ไขข้อผิดพลาด 'เดือนที่ 13 จากขอบเขต' เพียงพฤติกรรม UserEventAgent ที่บ้าคลั่ง


จริงๆแล้วฉันไม่มีการใช้งาน CPU ของ Event Event Agent สูงและฉันก็ไม่ได้ใช้งาน ZCPU และ RAM สูง
ไม่มีผู้ใช้

คำตอบนี้ช่วยฉัน แม้ว่าฉันจะไม่ได้มีปัญหากับ UserEventAgent แต่ก็บ้าไปแล้ว โชคดีที่ฉันจำได้ว่าฉันสร้าง plist ด้วย StartCalendarEvent ด้วยตัวเอง เพียงแค่ปิดการใช้งานและใช้คำสั่ง lsd
Denis The Menace

0

หลังจากรายงานสิ่งนี้กับ Apple และปรับขนาดห่วงโซ่การเลื่อนระดับฉันได้รับแจ้งว่าสิ่งนี้ควรได้รับการแก้ไขใน macOS 10.13.3

เห็นได้ชัดว่านี้เกิดจากการประยุกต์ใช้ในการเรียกเลิก NSDate ขั้นตอน 'descriptionWithCalendarFormat'

คุณสามารถอ่านเพิ่มเติมได้ที่https://forums.developer.apple.com/thread/88417

ในบางกรณีการแก้ไขหรือลบไฟล์ plist บางตัวจะป้องกันไม่ให้โปรแกรมเรียกโพรซีเดอร์ที่เลิกใช้ แต่การแก้ไขจริงคือการอัพเดตระบบปฏิบัติการ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.