From nobody Mon Oct 17 18:42:09 2022 X-Original-To: freebsd-hackers@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Mrm7g6SPdz4f8fS for ; Mon, 17 Oct 2022 18:42:23 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-vs1-f51.google.com (mail-vs1-f51.google.com [209.85.217.51]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Mrm7f71W3z3rZB for ; Mon, 17 Oct 2022 18:42:22 +0000 (UTC) (envelope-from asomers@gmail.com) Received: by mail-vs1-f51.google.com with SMTP id k6so12473294vsp.0 for ; Mon, 17 Oct 2022 11:42:22 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=xQ7cCvcQvA+TaTjFwM28rdjfQ/oO/dSVwMp328i3A60=; b=hps+JD/2p7ajX+yJfGuT9CqhaPwUvqF6qdLghql7Vl0vI4g1XhNs5TMs1uBrVtkwlW ISAjiVg0jsYeiJv1+aomSPf0F/XgoIN+FdyC7dZIYbraWPPdZb5b5i8id+RcZrhpb0KE hEX6LCZJhIUR0bGxohN2cpgZnjc2jUqwI5Y6xZlwT4ZF54oPjNSZE+fh9zT9YBI602aa 38/+jagYgMBIOiJP3tbgdLXvlrnqPklONveucvRoPjl+p4eQa4tjgC3pVkQCqIWehjYj EAwAlRFvNucx/HUkU5noml3ZiC/IUWiVBi1BxFZPirndimkvNIQxrAFClIyeCdcHMWd4 mpgw== X-Gm-Message-State: ACrzQf2hXXIr2U8e1rkAGWodQNu7c3fWiEt0I6FOujtjIGrWvPkI1Ryn a1TZX2NipY8kBanmHvSk8t2AoWPtujEKOtmGhn5Wxts7f9I= X-Google-Smtp-Source: AMsMyM474NPBEB0bFimTaSr0giSmERsicaEhwTiEVxc16R7wAipqSrifxmY45GpYNte7IMLuSa6phJDnVKROCRdtH7s= X-Received: by 2002:a67:b303:0:b0:3a9:61e4:2769 with SMTP id a3-20020a67b303000000b003a961e42769mr4236280vsm.0.1666032141280; Mon, 17 Oct 2022 11:42:21 -0700 (PDT) List-Id: Technical discussions relating to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-hackers List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-hackers@freebsd.org MIME-Version: 1.0 References: In-Reply-To: From: Alan Somers Date: Mon, 17 Oct 2022 12:42:09 -0600 Message-ID: Subject: Re: host unresponsive when setting time very far in the future To: freebsd-hackers@freebsd.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 4Mrm7f71W3z3rZB X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of asomers@gmail.com designates 209.85.217.51 as permitted sender) smtp.mailfrom=asomers@gmail.com X-Spamd-Result: default: False [-2.93 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.93)[-0.928]; FORGED_SENDER(0.30)[asomers@freebsd.org,asomers@gmail.com]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; MIME_GOOD(-0.10)[text/plain]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; MLMMJ_DEST(0.00)[freebsd-hackers@freebsd.org]; R_DKIM_NA(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.217.51:from]; DMARC_NA(0.00)[freebsd.org]; RCVD_IN_DNSWL_NONE(0.00)[209.85.217.51:from]; RCVD_TLS_LAST(0.00)[]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[]; FREEFALL_USER(0.00)[asomers]; FREEMAIL_ENVFROM(0.00)[gmail.com]; FROM_NEQ_ENVFROM(0.00)[asomers@freebsd.org,asomers@gmail.com]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_NONE(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[freebsd-hackers@freebsd.org]; RCPT_COUNT_ONE(0.00)[1]; TO_DOM_EQ_FROM_DOM(0.00)[] X-ThisMailContainsUnwantedMimeParts: N On Mon, Oct 17, 2022 at 12:05 PM Jan Schaumann wr= ote: > > Warner Losh wrote: > > > We do know that if the year (tm_year) overflows an int (32-bit signed), > > we'll > > have problems. It would be approximately year 2,147,483,648 (since I th= ink > > the limitation is signed, not unsigned, but if unsigned it's 4294967296 > > instead). > > Right, though since tm_year is defined as "year =C2=AD > 1900", I'd expect to be able to reach 12/31 23:59:59 > in 2,147,485,547, as on e.g., NetBSD and Linux: > > netbsd$ date -r 67768036191676799 > Wed Dec 31 23:59:59 UTC 2147485547 > > linux$ date --date '@67768036191676799' > Wed Dec 31 11:59:59 PM UTC 2147485547 > > But FreeBSD: > freebsd$ date -r 67768036191676799 > date: invalid time > freebsd$ date -r 67767976233532799 > Tue Dec 31 23:59:59 UTC 2147483647 > > Kinda unclear to me how FreeBSD ended up with a > tm_year value that's not 1900 based here? > > > Anything beyond that we know definitely won't work. Why we fall short > > and "only" make it to year 1.561,694,399, I don't know the root > > cause of. It's not even a nice, round multiple of the above... > > Regardless of the root cause, though, I think > something somewhere should return EINVAL before the > system freaks out. :-) > > -Jan Definitely. And the place that should do it is clock_ts_to_ct, where the assertions were added in git rev 90a79ac5765 . They should be converted from assertions into EINVALs. -Alan