<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>15625</bug_id>
          
          <creation_ts>2024-10-16 09:05:04 +0000</creation_ts>
          <short_desc>AB-INT: rust process-sigpipe fails on qemu: mips64, ppc</short_desc>
          <delta_ts>2025-01-15 12:15:52 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>10</classification_id>
          <classification>QA/Testing</classification>
          <product>Functional (self) Testing</product>
          <component>general</component>
          <version>unspecified</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard>AB-INT</status_whiteboard>
          <keywords></keywords>
          <priority>Medium+</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>5.2 M1</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mathieu Dubois-Briand">mathieu.dubois-briand</reporter>
          <assigned_to name="Unassigned">unassigned</assigned_to>
          <cc>adrian.freihofer</cc>
    
    <cc>adrian.freihofer</cc>
    
    <cc>chuckwolber</cc>
    
    <cc>peter.tatrai.ext</cc>
    
    <cc>randy.macleod</cc>
    
    <cc>sundeep.kokkonda</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>No (bug/feature does not impact docs)</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>99878</commentid>
    <comment_count>0</comment_count>
    <who name="Mathieu Dubois-Briand">mathieu.dubois-briand</who>
    <bug_when>2024-10-16 09:05:04 +0000</bug_when>
    <thetext>qemumips64-tc alma9-vk-1
https://valkyrie.yoctoproject.org//#/builders/21/builds/226/steps/12/logs/stdio

failures:

---- [ui] tests/ui/process/process-sigpipe.rs stdout ----

error: test run failed!
status: exit status: 1
command: RUST_TEST_THREADS=&quot;96&quot; &quot;/srv/pokybuild/yocto-worker/qemumips64-tc/build/build-st-1702276/tmp/work/mips64r2-poky-linux/rust/1.79.0/rustc-1.79.0-src/build/x86_64-unknown-linux-gnu/stage0-tools-bin/remote-test-client&quot; &quot;run&quot; &quot;0&quot; &quot;/srv/pokybuild/yocto-worker/qemumips64-tc/build/build-st-1702276/tmp/work/mips64r2-poky-linux/rust/1.79.0/rustc-1.79.0-src/build/x86_64-unknown-linux-gnu/test/ui/process/process-sigpipe/a&quot;
--- stdout -------------------------------
uploaded &quot;/srv/pokybuild/yocto-worker/qemumips64-tc/build/build-st-1702276/tmp/work/mips64r2-poky-linux/rust/1.79.0/rustc-1.79.0-src/build/x86_64-unknown-linux-gnu/test/ui/process/process-sigpipe/a&quot;, waiting for result
------------------------------------------
stderr: none</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99882</commentid>
    <comment_count>1</comment_count>
    <who name="Mathieu Dubois-Briand">mathieu.dubois-briand</who>
    <bug_when>2024-10-16 15:42:52 +0000</bug_when>
    <thetext>qemuppc-tc alma9-vk-1
https://valkyrie.yoctoproject.org/#/builders/49/builds/177/steps/12/logs/stdio</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99906</commentid>
    <comment_count>2</comment_count>
    <who name="Randy MacLeod">randy.macleod</who>
    <bug_when>2024-10-17 14:46:41 +0000</bug_when>
    <thetext>Rust on these targets is tier 3 in Rust upstream.
We need someone who has an interest in these targets to help out directly or at least proivide lots of help Sundeep&apos;s team.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99940</commentid>
    <comment_count>3</comment_count>
    <who name="Mathieu Dubois-Briand">mathieu.dubois-briand</who>
    <bug_when>2024-10-18 10:19:54 +0000</bug_when>
    <thetext>qemumips64-tc alma9-vk-1
https://valkyrie.yoctoproject.org/#/builders/21/builds/226/steps/12/logs/stdio</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100050</commentid>
    <comment_count>4</comment_count>
    <who name="Peter Tatrai">peter.tatrai.ext</who>
    <bug_when>2024-10-28 20:47:22 +0000</bug_when>
    <thetext>All these runs failed on the same test:

&gt; test [ui] tests/ui/process/process-sigpipe.rs ... FAILED

The test itself is straightforward. It starts a shell with the command `while echo y; do :; done | head` and expects it to complete within 5 seconds. More details can be found here: https://github.com/rust-lang/rust/blob/master/tests/ui/process/process-sigpipe.rs.

I suspect that under heavy system load, the test might not complete in time. I reproduced the failure by simulating load with stress -m 48 on a system with 24 logical cores.

To avoid this failure, I see two possible solutions: either increase the timeout (perhaps to 10 seconds) or skip the test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100151</commentid>
    <comment_count>5</comment_count>
    <who name="Adrian">adrian.freihofer</who>
    <bug_when>2024-11-14 08:05:29 +0000</bug_when>
    <thetext>The proposed fix is now on master branch: https://git.yoctoproject.org/poky/commit/?id=b82bb08f15587a376b2b4da5ff553b630e87283d

Lets hope this improves the situation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100155</commentid>
    <comment_count>6</comment_count>
    <who name="Randy MacLeod">randy.macleod</who>
    <bug_when>2024-11-14 15:15:21 +0000</bug_when>
    <thetext>Thanks for the fix Peter.

Adrian, 
I&apos;m resolving the defect as fixed.
If we see the same symptom, most likely Mathieu will re-open this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100497</commentid>
    <comment_count>7</comment_count>
    <who name="Mathieu Dubois-Briand">mathieu.dubois-briand</who>
    <bug_when>2024-12-24 09:53:50 +0000</bug_when>
    <thetext>qemuppc-tc alma9-vk-1 master completed at 2024-12-23T05:30:31Z
https://valkyrie.yoctoproject.org/#/builders/49/builds/680/steps/12/logs/stdio

qemuppc-tc alma9-vk-1 mathieu/master-next completed at 2024-12-23T16:35:57Z
https://valkyrie.yoctoproject.org/#/builders/49/builds/681/steps/12/logs/stdio</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100500</commentid>
    <comment_count>8</comment_count>
    <who name="Adrian">adrian.freihofer</who>
    <bug_when>2024-12-24 14:33:42 +0000</bug_when>
    <thetext>Definitely not the Christmas present I was most hoping for...

But it still looks like a simple timing issue. Arguments in favor of this:
- Code sets a timeout.
- Peter was able to prove that overloading the build machine during this test leads to a timeout.
- Also this error looks like a simple timeout:
  - 13590: test [ui] tests/ui/process/process-sigpipe.rs has been running for a long time
  - 13600: test [ui] tests/ui/process/process-sigpipe.rs ... FAILED

On the other hand ...
- does it really only occur on ppc and mips because they have such bad qemu implementations? Or could it be that the same bug that occurs on other architectures is not being reported here?
- Did increasing the timeout by a factor of 2 (5000 -&gt; 10000) reduce the occurrence of this error?

Is it worth trying to increase the timeout by a factor of 10 instead of just 2, or are we overlooking something else?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100502</commentid>
    <comment_count>9</comment_count>
    <who name="Randy MacLeod">randy.macleod</who>
    <bug_when>2024-12-24 19:53:29 +0000</bug_when>
    <thetext>Adrian,

We&apos;ve found that timeouts often need to be significantly increased so let&apos;s try a 10x increase to see if that resolves the issue.

If you also want to also satisfy developers who are working interactively on an idle machine, you can use the original timeout value but retry 10 times, issuing a warning at each stage until finally failing with an error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100626</commentid>
    <comment_count>10</comment_count>
    <who name="Mathieu Dubois-Briand">mathieu.dubois-briand</who>
    <bug_when>2025-01-14 10:07:23 +0000</bug_when>
    <thetext>qemuppc-tc alma9-vk-1 master completed at 2025-01-05T06:13:11Z
https://valkyrie.yoctoproject.org/#/builders/49/builds/730/steps/12/logs/stdio</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100645</commentid>
    <comment_count>11</comment_count>
    <who name="Adrian">adrian.freihofer</who>
    <bug_when>2025-01-15 12:15:52 +0000</bug_when>
    <thetext>Sent another patch to increase the timeout by 10 times. First try was with 2 times.

https://patchwork.yoctoproject.org/project/oe-core/patch/20250114221701.13257-1-adrian.freihofer@siemens.com/</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>