bug-autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[sr #110354] Parallel autotest produces mangled output on Solaris 10


From: Zack Weinberg
Subject: [sr #110354] Parallel autotest produces mangled output on Solaris 10
Date: Sat, 31 Oct 2020 11:09:26 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0

URL:
  <https://savannah.gnu.org/support/?110354>

                 Summary: Parallel autotest produces mangled output on Solaris
10
                 Project: Autoconf
            Submitted by: zackw
            Submitted on: Sat 31 Oct 2020 03:09:25 PM UTC
                Category: None
                Priority: 5 - Normal
                Severity: 3 - Normal
                  Status: None
                 Privacy: Public
             Assigned to: None
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
        Operating System: None

    _______________________________________________________

Details:

On Solaris 10, with CONFIG_SHELL=/bin/bash (version 3.2.51(1)-release, I
believe), parallel autotest may produce mangled output, with more than one
test result reported on a single line:


./autotest.at:1451: $CONFIG_SHELL ./micro-suite -j4
stdout:
## -------------------------------------------------------------- ##
## GNU Nonsense 1.0 test suite: suite to test parallel execution. ##
## -------------------------------------------------------------- ##

  3: test number 3                                   ok  2: test number 2     
                             ok  1: test number 1                             
     ok


  4: test number 4                                   ok
  5: test number 5                                   ok
  6: test number 6                                   ok
  7: test number 7                                   ok
  8: test number 8                                   ok
  9: test number 9                                   ok 10: test number 10    
                             ok

 11: test number 11                                  ok
 12: test number 12                                  ok
 13: test number 13                                  ok
 14: test number 14                                  ok 15: test number 15    
                             ok

 16: test number 16                                  ok

## ------------- ##
## Test results. ##
## ------------- ##

All 16 tests were successful.


This causes test #212 to fail, because it's looking for 16 copies of 'ok' each
on their own line:


./autotest.at:1452: grep -c '^.\{53\}ok' stdout
1c1
< 16
---
> 12


I don't know if there's anything we can do about this.  It looks like a
classic "two or more processes writing to the same pipe at once with the wrong
amount of buffering" bug and we don't control the code doing the buffering.  I
have been tinkering with replacing the parallel test driver with `make -j` but
that's a long way from done and might not actually help.

(Originally reported by Dagobert as part of sr #110320, logs extracted from
file #49873.)




    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/support/?110354>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]