bug-datamash
[Top][All Lists]
Advanced

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

Re: datamash 1.7 for ppc64le - tests/datamash-error-msgs fails


From: Jiri Hladky
Subject: Re: datamash 1.7 for ppc64le - tests/datamash-error-msgs fails
Date: Wed, 23 Feb 2022 17:56:38 +0100

Added bug-datamash@gnu.org on Cc. 

On Wed, Feb 23, 2022 at 5:55 PM Jiri Hladky <hladky.jiri@gmail.com> wrote:
Hi Assaf,

I got the update from Jakub Jelinek on BZ2057524. In short, this is not a gcc issue, but it is a glibc vs. gnulib vs. the package issue.

See https://bugzilla.redhat.com/show_bug.cgi?id=2057524#c10

===============================================================================================
This is a bug on the datamash/gnulib side.
For error declaration it uses #include "error.h" in src/system.h which picks up "lib/error.h":

# 75 "src/system.h" 2
# 1 "lib/error.h" 1
# 52 "lib/error.h"
extern void error (int __status, int __errnum, const char *__format, ...)
     __attribute__ ((__format__ (__printf__, 3, 4)));

extern void error_at_line (int __status, int __errnum, const char *__fname,
                           unsigned int __lineno, const char *__format, ...)
     __attribute__ ((__format__ (__printf__, 5, 6)));

but that is some gnulib prototype for the function, not the glibc one, which is in <error.h>
(i.e. /usr/include/error.h).
That header provides similar declaration, but also includes <bits/error-ldbl.h> header
in certain conditions which makes sure to redirect the error call to __ieee128_error for -mabi=ieeelongdouble
on ppc64le (which is now the default in F36 and later).
Now, it would be fine to use the ?gnulib? error.h if its implementation would be also used,
but that doesn't seem to be the case and you are instead using the glibc definition.

In any way, this has really nothing to do with gcc, it is a glibc vs. gnulib vs. the package issue.

===============================================================================================

Could you please look into it? 

Thanks a lot!
Jirka

On Wed, Feb 23, 2022 at 5:32 PM Jiri Hladky <hladky.jiri@gmail.com> wrote:
Hi Assaf,

I think the issue is caused by GCC bug - I have opened this BZ:
Bug 2057524 - gcc (GCC) 12.0.1 - producing wrong code for error call with long double value on ppc64le

Thanks
Jirka

On Tue, Feb 22, 2022 at 3:21 AM Jiri Hladky <hladky.jiri@gmail.com> wrote:
Hi Assaf,

I have located the test. Below is the actual output and expected output. 

Could you please help to understand what it means? Is it some parsing error? 

Thanks a lot
Jirka


Failing tests:
https://github.com/agordon/datamash/blob/master/tests/datamash-error-msgs.pl#L210

Wrong output:
./datamash trimmean:12  1
./datamash: invalid trim mean value 4.94066e-324 (expected 0 <= X <= 0.5)

./datamash trimmean:0.51  1
./datamash: invalid trim mean value 4.92089e-323 (expected 0 <= X <= 0.5)

Expected output:
$datamash trimmean:12  1
datamash: invalid trim mean value 12 (expected 0 <= X <= 0.5)

$datamash trimmean:0.51  1
datamash: invalid trim mean value 0.51 (expected 0 <= X <= 0.5)

On Tue, Feb 22, 2022 at 2:57 AM Jiri Hladky <hladky.jiri@gmail.com> wrote:
Hi Assaf,

when trying to compile datamash 1.7 for ppc64le, I'm getting this test failure [1], but ONLY for Fedora Rawhide, and Fedora 36:


Fedora 35 and RHEL-9 (EPEL9) are not affected. 

Do you have any suggestions as to what might be the root cause? 

Complete build.log is attached. 

Thanks a lot
Jirka

[1] 
FAIL: tests/datamash-error-msgs
===============================

datamash-error-msgs.pl: test e103: stderr mismatch, comparing e103.2 (expected) and e103.E (actual)
*** e103.2      Mon Feb 21 19:56:53 2022
--- e103.E      Mon Feb 21 19:56:53 2022
***************
*** 1 ****
! datamash: invalid trim mean value 12 (expected 0 <= X <= 0.5)
--- 1 ----
! datamash: invalid trim mean value 8.49793e-321 (expected 0 <= X <= 0.5)
datamash-error-msgs.pl: test e104: stderr mismatch, comparing e104.2 (expected) and e104.E (actual)
*** e104.2      Mon Feb 21 19:56:53 2022
--- e104.E      Mon Feb 21 19:56:53 2022
***************
*** 1 ****
! datamash: invalid trim mean value 0.51 (expected 0 <= X <= 0.5)
--- 1 ----
! datamash: invalid trim mean value 8.50267e-321 (expected 0 <= X <= 0.5)
FAIL tests/datamash-error-msgs.pl (exit status: 1)




reply via email to

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