Bug 1889433 - new strerrorname_np() in glibc2.32/Fedora33Beta returns error string rather than name
Summary: new strerrorname_np() in glibc2.32/Fedora33Beta returns error string rather t...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: glibc
Version: 33
Hardware: Unspecified
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Patsy Griffin
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-10-19 16:23 UTC by Ali Bahrami
Modified: 2020-11-14 01:12 UTC (History)
11 users (show)

Fixed In Version: glibc-2.32-2.fc33
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-11-14 01:12:29 UTC
Type: Bug


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Sourceware 26555 P2 RESOLVED strerrorname_np does not return the documented value 2020-11-10 14:20:24 UTC

Description Ali Bahrami 2020-10-19 16:23:31 UTC
Description of problem:
The new strerrorname_np() function in glibc 3.22 found in Fedora 33 Beta returns error strings rather than error names (i.e. what strerrordesc_np() is expected to return).

Version-Release number of selected component (if applicable):

glibc 2.32, in Fedora 33 Beta, downloaded on Friday Oct. 16.

How reproducible:

1. Call strerrorname_np() with an errno value, and observe that the error string is returned rather than the error name.
2.
3.

    % cat test2.c
    #include <stdio.h>
    #include <string.h>

    int
    main(int argc, char **argv)
    {
            printf("expect EINVAL: %s\n", strerrorname_np(22));
    }

    % gcc -D_GNU_SOURCE test2.c
    % ./a.out
    expect EINVAL: Invalid argument 


Actual results:

   expect EINVAL: Invalid argument 

Expected results:

   expect EINVAL: EINVAL

Additional info:

Comment 1 Carlos O'Donell 2020-10-20 13:49:47 UTC
This is a known issue and I worked with upstream to resolve this.

Fixed upstream with this commit:

commit cef95fdc2e4002ee6357d8d40ef73c8d875720e3
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date:   Mon Aug 31 11:53:51 2020 -0300

    string: Fix strerrorname_np return value [BZ #26555]
    
    It returns the string of the error constant, not its description (as
    strerrordesc_np).  To handle the Hurd error mapping, the ERR_MAP was
    removed from errlist.h to errlist.c.
    
    Also, the testcase test-strerr (added on 325081b9eb2) was not added
    on the check build neither it builds correctly.  This patch also
    changed it to decouple from errlist.h, the expected return values
    are added explicitly for both both strerrorname_np and strerrordesc_np
    directly.
    
    Checked on x86_64-linux-gnu and i686-linux-gnu.  I also run a make
    check for i686-gnu.

Fixed with commit 69beb5cbf85cae1c61fe7432500ac10880dc7b07 on release/2.32/master.

We are currently waiting for the Fedora 33 release to open to allow us to update the glibc release.

Comment 2 Ali Bahrami 2020-10-20 16:43:34 UTC
I apologize for filing a known issue. It did seem too obvious to
not already be known, and I did look, but apparently with the
wrong search terms.

Thanks for pulling the fix back to 2.32. It will be nice not
to have to wait for 2.33.

Comment 7 Fedora Update System 2020-11-11 12:22:41 UTC
FEDORA-2020-dd4d5f2d31 has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2020-dd4d5f2d31

Comment 8 Fedora Update System 2020-11-12 04:25:06 UTC
FEDORA-2020-dd4d5f2d31 has been pushed to the Fedora 33 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-dd4d5f2d31`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-dd4d5f2d31

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 9 Ali Bahrami 2020-11-13 17:24:01 UTC
I installed this from the testing repository by following the given directions, and can confirm that it addresses the issue. strerrorname_np() now correctly returns the error names. Thank You.

Comment 10 Fedora Update System 2020-11-14 01:12:29 UTC
FEDORA-2020-dd4d5f2d31 has been pushed to the Fedora 33 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.