V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Showfom
26.39D
2.04D
V2EX  ›  iOS

Jan 1, 1970

  •  
  •   Showfom ·
    PRO
    · Feb 14, 2016 via iPhone · 4532 views
    This topic created in 3726 days ago, the information mentioned may be changed or developed.
    17 replies    2016-02-15 20:34:28 +08:00
    FurN1
        1
    FurN1  
       Feb 14, 2016
    日常
    Tink
        2
    Tink  
    PRO
       Feb 14, 2016 via iPhone
    推上看到一个说法:八个小时后开机就好了
    miyuki
        3
    miyuki  
       Feb 14, 2016
    VersusClyne
        4
    VersusClyne  
       Feb 14, 2016
    UTC 也好 GMT 也罢 最多不都是+12 或者-12 么 为什么八小时就可以 推论也应该是“ 12 小时以内”吧
    wql
        5
    wql  
       Feb 14, 2016 via Android
    有些人作死改到 unix 时间起始点很早之前的日期的话就......... @Tink @VersusClyne
    kn007
        6
    kn007  
       Feb 14, 2016
    早上就看到了
    VersusClyne
        7
    VersusClyne  
       Feb 14, 2016
    @wql 所以不是最低数值只能是 1970.1.1 0:00 utc-12 么 最多欠 12 小时的节奏?
    mccally
        8
    mccally  
       Feb 15, 2016
    iPhone 时间戳的 0000000000000000 是 1970.1.1 GMT+0 8:00 ,之前的都是负值,也就是未来。于是,设备呆掉了。。。
    qq529633582
        9
    qq529633582  
       Feb 15, 2016 via iPhone
    @VersusClyne 因为您在 utc+8 呀
    aprikyblue
        10
    aprikyblue  
       Feb 15, 2016
    于是想起另一个问题, 2038 年以后怎么办。。。另类千年虫?
    typcn
        11
    typcn  
       Feb 15, 2016   ❤️ 1
    @VersusClyne unix 的 time_t 是有符号的 int64

    也就是说,最小的 Unix 时间戳是 -2147483648 ,而不是 0
    typcn
        12
    typcn  
       Feb 15, 2016
    尝试用调试器跟进了一下,并没有发现什么问题
    typcn
        13
    typcn  
       Feb 15, 2016   ❤️ 2
    猜想:
    BUG 在重启之前并没有触发,表明 kernel 和所有的用户态软件都是可以接受这个负时间值的,而且正常的开机流程并不会触发白底的界面,判断白底的界面是用代码手工 show 出来的,这更像是代码手动拒绝了开机,可能性比较大的就是开机的时候会验证一些东西,例如数字证书的过期时间,而这个证书验证程序用了 unsigned int 来表示时间,于是这个变量就溢出到了一个奇怪的值,这个证书被判定为过期,系统拒绝了开机。

    拆了电池再装上能开机的原因应该是时间被重设到了 0
    等几个小时能开机就证明了硬件时钟也是 signed int
    bullettrain1433
        14
    bullettrain1433  
       Feb 15, 2016
    @typcn 的确有理
    ech0x
        15
    ech0x  
       Feb 15, 2016 via iPhone
    作为亲身试验过的人。第一会卡死而且 dfu 刷机无用,二要恢复目前只有拆机断电源是 100%可行的。
    ech0x
        16
    ech0x  
       Feb 15, 2016 via iPhone
    @typcn 貌似时间的负值影响到了证书。
    Liir
        17
    Liir  
       Feb 15, 2016
    @aprikyblue 是啊,另一个千年虫
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3251 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 89ms · UTC 14:00 · PVG 22:00 · LAX 07:00 · JFK 10:00
    ♥ Do have faith in what you're doing.