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

Zack Weinberg <[email protected]>
Newsgroups gmane.comp.sysutils.autoconf.bugs
Message-ID <[email protected]>
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/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.