第13个月越界?


23

最近,我的Mac出现了一些奇怪的消息,例如“第13个月超出范围”。

在此处输入图片说明

如何解决此错误,我无法去蚂蚁苹果授权维修中心,因为它离苹果中心很远


来自@tgray:“由于UserEventAgent,我今天开始获得较高的CPU使用率。它还使用了大量的RAM(如果我让它运行足够长的时间,则需要30 GB以上的内存。)强制退出并重新启动并没有改变。我做了一个示例这个过程,并看到处理日期的大量行。当我将日期更改为11月时,我的CPU使用率恢复了正常;第二次将其更改为现在,它又变得笨拙了。我想知道这是否与iOS日期有关11.2.1中的错误?我希望苹果尽快修复它,因为我的计算机无法使用。”
JMY1000 '17

Answers:


10

肯定会在iOS 11和macOS 10.13上记录此错误,并且在任何平台上都不会导致任何特定功能或问题。

我将在此处链接有关“ macOS日志过多”的主要问题,因为这是一种意见和印象,值得讨论。如果没有消息,除非真正严重的状况需要采取行动,否则有些人可能会感觉更好。其他人则需要更多细节,以便他们可以了解正在发生的事情/学习/衡量的事情。因此,如何对这些问题进行分类/使用将是一个权衡。

霍华德·奥克利(Howard Oakley)是一位拥有一些工具的有趣开发者,他在https://eclecticlight.co/上发表博客。

他的下载页面上有两个有趣的应用程序(使用左侧下载链接,因为下面的产品版本是beta版,一天或一周内可能不是最新版本):

  • 安慰 -备用控制台浏览器
  • Woodpile-一种计数/分类/分析日志记录模式的工具

10

我可以验证此问题的合法性。昨天我遇到了同样的问题,重新启动后,由于此错误,计算机几乎变得无用。由于某种原因,该计算机本月无法处理,并且在有数据库或访问者的任何地方引发错误。

要解决此问题:

  1. 打开活动监视器和强制退出两个过程:lsdUserEventAgent

  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

当它尝试使用塑料桩时,出现错误:

Month 13 is out of bounds

我不确定UserEventAgent内实际上发生了什么,但是很明显,当收到错误时,它无法处理该错误并导致较高的CPU和RAM使用率。


这对我不起作用,我尝试了近3次,但没有任何反应。
没有人用户

@qwerty尽管在2017年12月之前设置了日期和时间,您仍然会收到错误消息?理想情况下,将日期和时间设置为11月1日,然后使用活动监视器终止上述进程。
Ckacmaster

我什至尝试过。我也尝试将其更改为1月1日,但仍然无法正常工作,我认为我应该忽略此错误,因为我的CPU使用率或RAM使用率不高。我希望苹果在下一个软件更新中解决此问题。好吧,至少这比根本错误要好:macrumors.com/how-to/temporarily-fix-macos-high-sierra-root-bug
没有人用户

(对不起,我无法添加评论。)由于UserEventAgent,我今天开始获得了很高的CPU使用率。它还使用大量的RAM(如果我让它运行足够长的时间,则需要30 GB以上的内存)。强制退出并重新启动并没有改变。我对过程进行了采样,并看到大量处理日期的行。当我将日期更改为11月时,我的CPU使用率恢复了正常。我第二次将其更改为现在,再次变得疯狂。我想知道这是否与11.2.1中的iOS日期错误有关吗?我希望Apple可以尽快修复它,因为我的计算机无法使用。
hmode

1
@qwerty在Apple对此进行修补之前,请不要让计算机完全关闭。当我第一次在XCode控制台中看到错误时,我犯了重新启动的错误,并且我的RAM和CPU使用情况变得更糟了。几乎没用。除非您重新启动或尝试加载任何plist文件,否则该错误几乎是无害的。
Ckacmaster

2

从2017年12月开始,UserEventAgent CPU和内存使用率过高,我也遇到了同样的问题。如上所述,控制台显示“月份超出范围”错误。

我尝试了磁盘实用程序“急救”,重新启动,安全模式(以清除系统缓存),清除NVRAM和SMD,没有任何帮助。我确实注意到,在安全模式下,CPU和内存使用率并未达到峰值。

像@tgray和u / kidtexas一样,在某些时候,我发现如果禁用所有自定义启动的plists,则不会发生此问题。

我最终写了下面的小脚本来帮助我调试导致问题的plist。它最终成为一个在每个月的第一天运行的plist:

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

我的许多专家都使用该StartCalendarInterval密钥,使用下面的脚本,我可以证明它们似乎并没有引起尖峰的RAM和内存问题,因此,对于一个特定的plist为何会导致此问题,我尚不完全清楚。无论如何,这就是我整理出来的方式。

强烈建议读者浏览脚本以尝试了解脚本的功能,而不仅仅是复制和粘贴。具体来说,按照本文所述,此方法仅适用于~/Library/LaunchAgents(而不是/Library/LaunchDaemons其他)使用者,并且有意仅测试其文件名并<key>Label</key>遵循特定模式的使用者com.USERNAME.my_plist_name[.plist]。在运行它之前,我对bootout所有plists都使用了一个衬里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

运行此程序的人员请注意:它假设已测试的所有代理都已禁用,因此请注意运行bootoutn8henrie建议的(或类似程序)。
肯·威廉姆斯

1

像其他人一样,我从UserEventAgent获得了很高的CPU使用率和巨大的RAM使用率(请参见上面的评论)。将日期更改为11月并强制退出UserEventAgent,以解决问题。这一切都在我重启后的星期六开始。

固定

我为我解决了这个问题。希望对于有问题的其他人,这对您有用。

问题是我在〜/ Library / LaunchAgents中有一个LaunchAgent plist。这是一个简单的plist文件,它调用StartCalendarInterval,这是启动的plists的有效密钥。LaunchAgent作业调用一个Shell脚本,该脚本在每月的第一天将一些文件复制到备份位置。根本没有调用该作业-我认为它已启动,并对照引起问题的Calendar检查加载的作业。我卸载此plist并将文件移出目录后,UserEventAgent正常(在强制退出后)。我第二次加载了plist(launchctl加载xxxx),UserEventAgent疯了。

如在Apple的文档中所示,StartCalendarInterval是一个有效的启动密钥。

因此,对于任何有问题的人,请检查您的LaunchAgent目录并查找StartCalendarInterval项(或其他任何与日历相关的项)。我没有任何关于基于时间间隔的问题。

注意:这不能解决“第13个月超出范围”错误,而不能解决疯狂的UserEventAgent行为。


其实我没有很高的User Event Agent CPU使用率,也没有很高的ZCPU和RAM使用率。
没有人用户

这个答案帮助了我。尽管我在UserEventAgent上没有遇到问题,但lsd变得疯狂了。幸运的是,我记得我自己用StartCalendarEvent创建了plist。只是禁用它并强制杀死了lsd。
丹尼斯的威胁

0

在向苹果公司报告并扩展升级链之后,我被告知应该在macOS 10.13.3中解决此问题。

显然,这是由调用不推荐使用的NSDate过程'descriptionWithCalendarFormat'的应用程序引起

您可以在https://forums.developer.apple.com/thread/88417上阅读更多内容。

在某些情况下,编辑或删除某些plist文件将阻止程序调用不建议使用的过程,但真正的解决方法是操作系统更新。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.