mainAutoconf - Support: sr #110985, "Substitute and define...

 
 

sr #110985: "Substitute and define special characters" test fails on NetBSD 9

Submitter:  Zack Weinberg <zackw>
Submitted:  Wed 20 Dec 2023 01:59:11 PM UTC
   
 
Priority:  * 2 - Eventually Severity:  2 - Minor
Status:  Need Info Privacy:  Public
Assigned to:  None Open/Closed:  Open
Operating System:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Wed 20 Dec 2023 01:59:11 PM UTC, original submission:  

On x86_64-unknown-netbsd9.3, running Autoconf's test suite consistently produces this failure:


Failed tests:
 NUM: FILE-NAME:LINE     TEST-GROUP-NAME
 270: torture.at:913     Substitute and define special characters


This test checks whether it is possible to pass a string through AC_SUBST that includes a byte with every possible value except 0x00.

The log for the testsuite says


configure: creating ./config.status
config.status: creating Foo
config.status: creating Zardoz
config.status: creating config.h
./torture.at:987: cat Foo
./torture.at:1000: cmp allowed-chars Zardoz
--- /dev/null   2023-12-19 14:19:58.701932966 -0500
+++ /net/u/1/z/zackw/autoconf-2.72d.16-9800e-dirty/tests/testsuite.dir/at-groups
/270/stdout     2023-12-19 14:19:58.910181000 -0500
@@ -0,0 +1 @@
+allowed-chars Zardoz differ: char 256, line 2
./torture.at:1000: exit code was 1, expected 0


Comparing hex dumps of the files "allowed-chars" and "Zardoz" shows that the problem is that an extra byte (with value 0x81) has been inserted before each byte with a value in the range 0x81 through 0x8b.  The extra bytes are not present in the value of @zardoz@ recorded in config.status, but they are present in the temporary file `subs1.awk` used by config.status (to see this file run `./config.status -d` and then look in the directory named confXXXXXX, where XXXXXX is some random sequence of alphanumerics).  Thus, this appears to be a bug in the handling of here documents in this system's /bin/sh.  However, the obvious cut-down version of the code in config.status does not show the bug:


$ printf 'xxd <<\\EOF\n\x80\x81\x82\x83\x84\x85\x86\x87\n\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\nEOF\n' > test.sh
$ /bin/sh test.sh
00000000: 8081 8283 8485 8687 0a88 898a 8b8c 8d8e  ................
00000010: 8f0a                                     ..


We need to pin down exactly what the bug is before we can do anything about it.

If you encounter a failure in this test on any platform besides -unknown-netbsd9, please post a comment here.  Please attach a tarball of the directory tests/testsuite.dir/270 (note: the number may be different if you are testing a version of Autoconf other than 2.72).

Zack Weinberg <zackw>
Group administrator

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #55471:  failed-test-270.tar.gz added by zackw (133KiB - application/gzip)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by zackw (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 2 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2023-12-20 zackw Priority5 - Unprioritized 2 - Eventually
    2023-12-20 zackw Attached File- Added failed-test-270.tar.gz, #55471

    Back to the top

    Powered by Savane 3.13-02a9.
    Corresponding source code