Changeset 0800455


Ignore:
Timestamp:
02/18/2024 07:40:50 AM (7 months ago)
Author:
Xi Ruoyao <xry111@…>
Branches:
12.1, 12.2, 12.2-rc1, multilib, trunk, xry111/arm64, xry111/clfs-ng, xry111/loongarch, xry111/loongarch-12.1, xry111/loongarch-12.2, xry111/mips64el, xry111/multilib
Children:
5f2ba8c
Parents:
6b25d62
git-author:
Xi Ruoyao <xry111@…> (02/18/2024 07:34:58 AM)
git-committer:
Xi Ruoyao <xry111@…> (02/18/2024 07:40:50 AM)
Message:

Glibc: Re-organize test failures and mention how to rule out timed out tests

Glibc tests occansionally fail due to a timeout because:

  1. The hardware is slower than the developers expected.
  2. Some tests use multiple or even all CPU cores internally, for e.g. with 8 active CPU cores we may end up running 8 tests (due to -j8) each of them uses 8 cores in the worst case, resulting a severe congestion.

I'm almost sure nptl/tst-thread-affinity* are cases of 2.

Let's document how to rule out the timed out tests instead of making the
list of known failures longer and longer.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • chapter08/glibc.xml

    r6b25d62 r0800455  
    165165
    166166      <listitem>
    167         <para>Three <emphasis>nptl/tst-thread-affinity*</emphasis>
    168         tests are known to fail.</para>
    169       </listitem>
    170 
    171 <!-- Did not fail with glibc-2.38
    172       <listitem>
    173         <para><emphasis>misc/tst-ttyname</emphasis>
    174         is known to fail in the LFS chroot environment.</para>
    175       </listitem>
    176 -->
    177 
    178       <!-- https://sourceware.org/pipermail/libc-alpha/2022-August/141567.html -->
    179       <listitem>
    180         <para>The <emphasis>stdlib/tst-arc4random-thread</emphasis>
    181         test is known to fail if the host kernel is relatively old.</para>
    182       </listitem>
    183 
    184       <listitem>
    185167        <para>Some tests, for example
    186         <emphasis>nss/tst-nss-files-hosts-multi</emphasis>,
    187         are known to fail on relatively slow systems due to an internal
    188         timeout.</para>
     168        <emphasis>nss/tst-nss-files-hosts-multi</emphasis> and
     169        <emphasis>nptl/tst-thread-affinity*</emphasis>
     170        are known to fail due to a timeout (especially when the system is
     171        relatively slow and/or running the test suite with multiple
     172        parallel make jobs).  These tests can be identified with:</para>
     173
     174        <!-- TODO: Using nodump for freeze.  Change it to role="test" after
     175             12.1 release so jhalfs can list these in the log.  -->
     176        <screen role="nodump"><userinput>grep "Timed out" -l $(find -name \*.out)</userinput></screen>
     177
     178        <para>It's possible to re-run a single test with enlarged timeout
     179        with
     180        <command>TIMEOUTFACTOR=<replaceable>&lt;factor&gt;</replaceable>
     181        make test t=<replaceable>&lt;test name&gt;</replaceable></command>.
     182        For example, <command>TIMEOUTFACTOR=10 make test
     183        t=nss/tst-nss-files-hosts-multi</command> will re-run
     184        <emphasis>nss/tst-nss-files-hosts-multi</emphasis> with ten times
     185        the original timeout.</para>
    189186      </listitem>
    190187
    191188      <listitem>
    192189        <para>Additionally, some tests may fail with a relatively old CPU
    193         model or host kernel version.</para>
     190        model (for example
     191        <emphasis>elf/tst-cpu-features-cpuinfo</emphasis>) or host kernel
     192        version (for example
     193        <emphasis>stdlib/tst-arc4random-thread</emphasis>).</para>
    194194      </listitem>
    195195    </itemizedlist>
Note: See TracChangeset for help on using the changeset viewer.