เดือนที่ 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.