From: Szabolcs Nagy <nsz@port70.net> To: musl@lists.openwall.com, "Érico Nogueira" <ericonr@disroot.org> Subject: Re: [musl] Re: freeswitch and musl 1.2.x (time64 most likely) Date: Fri, 29 Oct 2021 23:04:45 +0200 [thread overview] Message-ID: <20211029210445.GT37904@port70.net> (raw) In-Reply-To: <YXwHwtjsgtbvlZQl@darth.lan> * Sebastian Kemper <sebastian_ml@gmx.net> [2021-10-29 16:40:02 +0200]: > static void test_now(abts_case *tc, void *data) > { > apr_time_t timediff; > apr_time_t current; > time_t os_now; > > current = apr_time_now(); > time(&os_now); > > timediff = os_now - (current / APR_USEC_PER_SEC); > /* Even though these are called so close together, there is the chance > * that the time will be slightly off, so accept anything between -1 and > * 1 second. > */ > ABTS_ASSERT(tc, "apr_time and OS time do not agree", > (timediff > -2) && (timediff < 2)); > } > > This happens when I run it (the other two "Line" warnings are from > different tests!): > > testtime : |Line 69: apr_time and OS time do not agree > |Line 110: Mismatch in tm_sec > |Line 204: expected <Thu Jan 1 01:00:00 1970>, but saw <Sat Sep 14 21:05:36 2002> > FAILED 3 of 13 > Failed Tests Total Fail Failed % > =================================================== > testtime 13 3 23.08% > > (gdb) b test/testtime.c:57 > Breakpoint 1 at 0x405837: file testtime.c, line 61. > (gdb) c > Continuing. > > Breakpoint 1, test_now (tc=0x7fffacd0, data=0x0) at testtime.c:61 > 61 current = apr_time_now(); > (gdb) bt > #0 test_now (tc=0x7fffacd0, data=0x0) at testtime.c:61 > #1 0x00404b43 in abts_run_test (ts=0x77f0bde0, f=0x40581d <test_now>, value=0x0) at abts.c:171 > #2 0x00406733 in testtime (suite=0x77f0bde0) at testtime.c:300 > #3 0x004055d9 in main (argc=3, argv=0x7fffadb4) at abts.c:429 > (gdb) p current > $1 = 193277741781 > (gdb) p ¤t > $2 = (apr_time_t *) 0x7fffac90 > (gdb) p os_now > $3 = 19521141760827868 > (gdb) p &os_now > $4 = (time_t *) 0x7fffac88 > (gdb) p timediff > $5 = 19521141756395521 these values are completely wrong (may be not set up yet, you cannot rely on line numbers in optimized code) time on your system now should be around 1635500000 current / 1000000 is 193277 which is 1970-01-03 05:41:17 os_now is far in the future. > (gdb) p &timediff > $6 = (apr_time_t *) 0x7fffac98 > (gdb) p time > $7 = {time32_t (time32_t *)} 0x77fd0b08 <time> > (gdb) p &time > $8 = (time32_t (*)(time32_t *)) 0x77fd0b08 <time> > (gdb) c > Continuing. > [Inferior 1 (process 14739) exited with code 01] > (gdb) > > To me it looks like apr is also using a 64 bit type for time. So it's a > bit of a surprise for me that there is a problem. I find it also strange > that the time function (which seems to be from libc) seems to be related > to a 32 bit type. > > Can you maybe make sense of this? you need to debug this further, all sorts of things may be wrong here. i'd remove all other tests from the test exe and break on gettimeofday and time and see what the libc returns, also print the time in the test.
next prev parent reply other threads:[~2021-10-29 21:05 UTC|newest] Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-10-27 22:16 [musl] " Sebastian Kemper 2021-10-27 23:24 ` Érico Nogueira 2021-10-28 20:21 ` [musl] " Sebastian Kemper 2021-10-28 21:34 ` Sebastian Kemper 2021-10-29 3:10 ` Érico Nogueira 2021-10-29 14:40 ` Sebastian Kemper 2021-10-29 21:04 ` Szabolcs Nagy [this message] 2021-10-29 22:44 ` Sebastian Kemper 2021-10-30 1:00 ` Rich Felker 2021-10-30 10:57 ` Sebastian Kemper 2021-10-30 17:56 ` Rich Felker 2021-10-30 19:07 ` Sebastian Kemper
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20211029210445.GT37904@port70.net \ --to=nsz@port70.net \ --cc=ericonr@disroot.org \ --cc=musl@lists.openwall.com \ --subject='Re: [musl] Re: freeswitch and musl 1.2.x (time64 most likely)' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Code repositories for project(s) associated with this inbox: https://git.vuxu.org/mirror/musl/ This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).