public inbox for libc-help@sourceware.org
 help / color / mirror / Atom feed
From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
To: Letu Ren <fantasquex@gmail.com>
Cc: Florian Weimer <fweimer@redhat.com>,
	Letu Ren via Libc-help <libc-help@sourceware.org>
Subject: Re: How to skip test when building glibc
Date: Tue, 21 Jun 2022 09:21:04 -0300	[thread overview]
Message-ID: <F76503BC-127B-448C-AD59-DB00C8A8C429@linaro.org> (raw)
In-Reply-To: <CAEUwDuDW1d_t2SPOv02Z7qbLM=KUEnpA7bBVvd1s8mDcdiQvuw@mail.gmail.com>



> On 17 Jun 2022, at 05:12, Letu Ren <fantasquex@gmail.com> wrote:
> 
>> Yes I think it worth to set a higher bond for tests that require a lot of time,
>> the issue is usually we tests with faster machines where defaults are good
>> enough. If you may please open bugs with the required time on the platform
>> you are testing, it would require to adjust on each test code to increase the
>> required timeout.
> 
> I think I should report bugs to glibc. The problem is where to know
> the time limit for each failed unit test set by glibc and how to
> measure the time consumed by tests. I think using bash time is not
> precise. Is there something I can refer to?

The default configuration for all testcases is to create a helper parent 
process to handle timeout and spurious failures (such as segfault). You 
can disable it by using the —direct command line with testrun.sh (which 
runs the test using the built glibc loader and libraries):

  builddir$ time ./testrun testcase —direct

Some tests might require additional environment variables or arguments,
easiest way to check is to get them is to copy from make check log.

> 
>> This might be a bug either in the compiler or in the environment you are using.
>> The commit log for riscv32 libm-test-ulps (b2d175cdb755277ef5579fdac914768003bfbc5c)
>> states that values does not match the RV32 on QEMU, so it might what is
>> happening.
>> 
>> If you are running on real hardware, it might be case where floating-point
>> in non default rounding mode has higher ULPs than expected (I am assuming
>> the RV64 ones were done in read hardware). You can
>> regenerate the libm-test-ulps with `make regen-ulp`, this will show some
>> information on how to copy back the file on source tree.
>> 
>> We will need to increase the generic threshold what we consider an error
>> (as you can see any math function that shows ULPs larger than 8).
> 
> I use a HiFive Unmatched board to test. The hardware baseline is
> RV64GC and the ABI is lp64d. I don't think I have the ability to solve
> this problem currently. May need some time to learn how libm works. :(

So you are indeed testing against the real hardware.  Could you open a
bug report [1] with the output of ‘make regen-ulps’ ? I think we will
need to update the minimum required ULPs.

It can be also a regression on compiler that is generating larger error
bounds, since the current ULP baseline seems also to be generated on
read hardware.

> 
>> This is more worrisome because it means the NAN signal is not being
>> propagated by some FP operation. I think you will need to debug to
>> understand better that is happening, since strfromf code does a lot of FP
>> operations.
> 
> I don't think I have the ability to solve this problem currently. :(
> Anyway, thanks for replying and analyzing the reason why unit tests
> fail.  I will try to investigate them.

Could you also open another bug report with the output of the testcases?

> 
> Letu Ren

[1] https://sourceware.org/bugzilla/ <https://sourceware.org/bugzilla/>

  reply	other threads:[~2022-06-21 12:21 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-11  6:49 Letu Ren
2022-06-14 23:15 ` Adhemerval Zanella
2022-06-15 11:48   ` Letu Ren
2022-06-15 12:11     ` Florian Weimer
2022-06-15 12:51       ` Letu Ren
2022-06-15 20:33         ` Adhemerval Zanella
2022-06-16  5:13           ` Letu Ren
2022-06-16 17:43             ` Adhemerval Zanella
2022-06-17  8:12               ` Letu Ren
2022-06-21 12:21                 ` Adhemerval Zanella [this message]
2022-08-17  8:19                   ` Letu Ren

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=F76503BC-127B-448C-AD59-DB00C8A8C429@linaro.org \
    --to=adhemerval.zanella@linaro.org \
    --cc=fantasquex@gmail.com \
    --cc=fweimer@redhat.com \
    --cc=libc-help@sourceware.org \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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 read-only IMAP folder(s) and NNTP newsgroup(s).