AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1123895
Accepted
Cecilia
Cecilia
Asked: 2023-02-27 22:40:55 +0800 CST2023-02-27 22:40:55 +0800 CST 2023-02-27 22:40:55 +0800 CST

可能受时间跳跃严重影响的软件示例有哪些?

  • 772

chrony 文档警告

警告:某些软件会受到系统时间中此类跳跃的严重影响。(这就是 chronyd 正常使用回转的原因。)文档

但是文档没有给出示例。将受到严重影响的软件示例有哪些?操作系统或任何后台进程是否存在风险?

chrony
  • 7 7 个回答
  • 4027 Views

7 个回答

  • Voted
  1. Best Answer
    Romeo Ninov
    2023-02-27T22:59:10+08:002023-02-27T22:59:10+08:00

    这是一个悬而未决的问题,但让我举一些例子:

    • 数据库——它们中的大多数依赖于大量的精确时间来存储记录、索引等
    • 安全 - 精确的时间对于安全将操作映射到时间和间隙非常重要,否则不接受时间重复
    • 数字签名 - 通常签名文档的一部分是时间戳,所以错误的时间可能会使签名无效
    • 调度软件 - 可能会跳过或重复两次作业,具体取决于时间跳跃方向。
    • 集群软件——可能任何集群都需要同步,一个或多个节点的任何跳转都可能产生不可预测的结果。
    • 28
  2. Guntram Blohm
    2023-02-28T19:08:49+08:002023-02-28T19:08:49+08:00

    所有与实时硬件交互的软件。如果你有一个烤面包 20 秒的烤面包机,而且它的软件愚蠢到可以对照挂钟,如果你在等待烤面包时校正时钟,你得到的面包要么是白面包,要么是烧焦的面包。

    实际上,控制任何类型工业设备的所有应用程序都需要精确计时,例如,“打开阀门 5.3 秒以获得正确的流体量”。关闭超过几毫秒会毁掉你的产品。

    使用电机定位任何东西的应用程序将使用步进电机(速度较慢)或末端开关来确定何时停止。但通常情况下,您不会在每个重要位置都有开关,因此您会执行一些“xm/s 用于 A 毫秒,然后 ym/s 用于 B 毫秒”的逻辑。现在想象你的 NTP 守护进程在这个逻辑运行时调整时间甚至一毫秒......

    • 8
  3. Selali Adobor
    2023-03-01T08:37:51+08:002023-03-01T08:37:51+08:00

    我最近遇到了一个可追溯到 1999 年的错误,该错误同时影响 JVM 和 Android 运行时:https://bugs.java.com/bugdatabase/view_bug.do ?bug_id=4290274

    ... 当使用 scheduleAtFixedRate() 安排任务后一分钟将系统时钟提前设置时,会(意外地)触发两次额外的执行。

    我在一台以 1970 年纪元作为当前时间开始的设备上工作,然后稍后收到正确的网络时间。有时,第 3 方库会在设置时间之前初始化,导致它经历 50 年的时间跳跃。

    结果是scheduleAtFixedRate试图赶上大约 50 年的调用……这大约是 2700万次背靠背调用,它们之间没有延迟。

    这将导致 GC 失控并通常使系统陷入停滞,直到它重新启动

    • 6
  4. Kingsley
    2023-03-01T18:06:35+08:002023-03-01T18:06:35+08:00

    我们遇到了车载嵌入式系统的问题,其中时钟会显着浪费时间(由于电气问题)。但是无线连接时断时续,所以时间只是偶尔校正一下。结果是,当车辆最终接收到无线信号,然后接收到 NTP 更新时,时钟将显着向前跳动。

    各种系统正在检查某些事物的“最后有效”时间,例如 GPS 读数等。尽管仅在 0.5 秒前更新,但突然间所有这些都“过时”了。

    显然,重新配置可以解决问题,但这是一个问题。

    • 3
  5. Radovan Garabík
    2023-03-02T18:03:57+08:002023-03-02T18:03:57+08:00

    Dovecot IMAP 服务器受到影响,并且(在旧版本中)如果它检测到系统时间向后跳转,它会(故意)自杀。在 v2.0 中,它至少尝试补救这种情况。

    请参阅https://wiki.dovecot.org/TimeMovedBackwards

    • 0
  6. Halfgaar
    2023-03-02T18:32:16+08:002023-03-02T18:32:16+08:00

    它已经在评论中,但我想我也会将其作为答案发布:

    本应使用稳定单调时钟但未使用的应用程序也会受到影响。例如,如果软件使用当前时间检查客户端保持活动状态,则时间跳跃可能会踢出所有客户端。

    我经常看到软件使用了错误的时钟。

    • 0
  7. filo
    2023-03-02T18:53:10+08:002023-03-02T18:53:10+08:00

    很多例子...

    • 图表 1 - Cloudflare闰秒漏洞
    • 图表 2 - F-22 猛禽日期变更线漏洞
    • 图表 3 - 787 梦想飞机发动机控制器时间环绕(时间归零的极端示例)
    • 0

相关问题

  • chrony:使用 RTC 作为气隙(隔离)系统上的权威时钟来托管时间

  • ntpdate -q 的 Chronyc 等效项

  • 尽管时间同步准确,但 Chrony 的“根色散”随着时间的推移不断上升

  • 巨大时间差异上的时间同步

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve