public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* Re: [PATCH] src/ext4_resize.c: set errno to 0 before the strtoull call
       [not found]     ` <YeY6Uh8I7RlsCicw@mit.edu>
@ 2022-01-18  5:27       ` xuyang2018.jy
  2022-01-18 11:23         ` Adhemerval Zanella
                           ` (2 more replies)
  0 siblings, 3 replies; 21+ messages in thread
From: xuyang2018.jy @ 2022-01-18  5:27 UTC (permalink / raw)
  To: Theodore Ts'o, fweimer; +Cc: fstests, libc-alpha

on 2022/1/18 11:56, Theodore Ts'o wrote:
> On Tue, Jan 18, 2022 at 02:43:26AM +0000, xuyang2018.jy@fujitsu.com wrote:
>>> You're right of course, but out of curiosity, which C library are you
>>> using?
>> I use glibc-2.34.
>
> Hmm, ok.  I'm using glibc 2.31, and in this particular program, errno
> shouldn't have been set by any prior system call.  I'm guessing maybe
> it was something in crt0 which ended up setting errno?
It maybe a glibc bug.
I cc glibc mailing list and see whether they have met this problem.

@Florian

Now, I use glibc-2.34 and run the following program[1] but the errno is 
not 0 in the beginning. So is this a known bug on glibc-2.34(Theodore 
doesn't meet this problem on glicb-2.31)?

[1]https://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git/tree/src/ext4_resize.c

Best Regards
Yang Xu
>
> 						- Ted

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH] src/ext4_resize.c: set errno to 0 before the strtoull call
  2022-01-18  5:27       ` [PATCH] src/ext4_resize.c: set errno to 0 before the strtoull call xuyang2018.jy
@ 2022-01-18 11:23         ` Adhemerval Zanella
  2022-01-18 11:26           ` Florian Weimer
  2022-01-18 14:02         ` Florian Weimer
  2022-01-18 14:22         ` Andreas Schwab
  2 siblings, 1 reply; 21+ messages in thread
From: Adhemerval Zanella @ 2022-01-18 11:23 UTC (permalink / raw)
  To: xuyang2018.jy, Theodore Ts'o, fweimer; +Cc: libc-alpha, fstests

  

On 18/01/2022 02:27, xuyang2018.jy--- via Libc-alpha wrote:
> on 2022/1/18 11:56, Theodore Ts'o wrote:
>> On Tue, Jan 18, 2022 at 02:43:26AM +0000, xuyang2018.jy@fujitsu.com wrote:
>>>> You're right of course, but out of curiosity, which C library are you
>>>> using?
>>> I use glibc-2.34.
>>
>> Hmm, ok.  I'm using glibc 2.31, and in this particular program, errno
>> shouldn't have been set by any prior system call.  I'm guessing maybe
>> it was something in crt0 which ended up setting errno?
> It maybe a glibc bug.
> I cc glibc mailing list and see whether they have met this problem.
> 
> @Florian
> 
> Now, I use glibc-2.34 and run the following program[1] but the errno is 
> not 0 in the beginning. So is this a known bug on glibc-2.34(Theodore 
> doesn't meet this problem on glicb-2.31)?
> 
> [1]https://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git/tree/src/ext4_resize.c

The errno should be only set on a failure, no function shall set errno
to 0 (it is a POSIX definition which glibc adheres).  The application
need to explicitly set errno to 0 before the function call to check if 
an error occurs.

So you need to do:

  errno = 0
  new_size = strtoull(argv[2], &tmp, 10);
  if ((errno) || (*tmp != '\0')) {
    ...
  }


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH] src/ext4_resize.c: set errno to 0 before the strtoull call
  2022-01-18 11:23         ` Adhemerval Zanella
@ 2022-01-18 11:26           ` Florian Weimer
  2022-01-18 11:49             ` Adhemerval Zanella
  0 siblings, 1 reply; 21+ messages in thread
From: Florian Weimer @ 2022-01-18 11:26 UTC (permalink / raw)
  To: Adhemerval Zanella; +Cc: xuyang2018.jy, Theodore Ts'o, libc-alpha, fstests

* Adhemerval Zanella:

>   
>
> On 18/01/2022 02:27, xuyang2018.jy--- via Libc-alpha wrote:
>> on 2022/1/18 11:56, Theodore Ts'o wrote:
>>> On Tue, Jan 18, 2022 at 02:43:26AM +0000, xuyang2018.jy@fujitsu.com wrote:
>>>>> You're right of course, but out of curiosity, which C library are you
>>>>> using?
>>>> I use glibc-2.34.
>>>
>>> Hmm, ok.  I'm using glibc 2.31, and in this particular program, errno
>>> shouldn't have been set by any prior system call.  I'm guessing maybe
>>> it was something in crt0 which ended up setting errno?
>> It maybe a glibc bug.
>> I cc glibc mailing list and see whether they have met this problem.
>> 
>> @Florian
>> 
>> Now, I use glibc-2.34 and run the following program[1] but the errno is 
>> not 0 in the beginning. So is this a known bug on glibc-2.34(Theodore 
>> doesn't meet this problem on glicb-2.31)?
>> 
>> [1]https://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git/tree/src/ext4_resize.c
>
> The errno should be only set on a failure, no function shall set errno
> to 0 (it is a POSIX definition which glibc adheres).  The application
> need to explicitly set errno to 0 before the function call to check if 
> an error occurs.

While this is true, I think errno should still be 0 at the start of the
program.

Thanks,
Florian


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH] src/ext4_resize.c: set errno to 0 before the strtoull call
  2022-01-18 11:26           ` Florian Weimer
@ 2022-01-18 11:49             ` Adhemerval Zanella
  2022-01-18 12:00               ` Florian Weimer
  2022-01-18 12:04               ` Andreas Schwab
  0 siblings, 2 replies; 21+ messages in thread
From: Adhemerval Zanella @ 2022-01-18 11:49 UTC (permalink / raw)
  To: Florian Weimer; +Cc: xuyang2018.jy, Theodore Ts'o, libc-alpha, fstests



On 18/01/2022 08:26, Florian Weimer wrote:
> * Adhemerval Zanella:
> 
>>   
>>
>> On 18/01/2022 02:27, xuyang2018.jy--- via Libc-alpha wrote:
>>> on 2022/1/18 11:56, Theodore Ts'o wrote:
>>>> On Tue, Jan 18, 2022 at 02:43:26AM +0000, xuyang2018.jy@fujitsu.com wrote:
>>>>>> You're right of course, but out of curiosity, which C library are you
>>>>>> using?
>>>>> I use glibc-2.34.
>>>>
>>>> Hmm, ok.  I'm using glibc 2.31, and in this particular program, errno
>>>> shouldn't have been set by any prior system call.  I'm guessing maybe
>>>> it was something in crt0 which ended up setting errno?
>>> It maybe a glibc bug.
>>> I cc glibc mailing list and see whether they have met this problem.
>>>
>>> @Florian
>>>
>>> Now, I use glibc-2.34 and run the following program[1] but the errno is 
>>> not 0 in the beginning. So is this a known bug on glibc-2.34(Theodore 
>>> doesn't meet this problem on glicb-2.31)?
>>>
>>> [1]https://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git/tree/src/ext4_resize.c
>>
>> The errno should be only set on a failure, no function shall set errno
>> to 0 (it is a POSIX definition which glibc adheres).  The application
>> need to explicitly set errno to 0 before the function call to check if 
>> an error occurs.
> 
> While this is true, I think errno should still be 0 at the start of the
> program.

I think this is a implementation detail, I am not aware that either C or
POSIX now states it should initialized to any specific value (in fact, 
POSIX at Issue 5 [1] has removed the 'The value of errno is 0 at program 
start-up' on its description).

In any case, we set errno to be an uninitialized TLS variable.  Unless we
have a bug on .tbss initialization I think the issue is somewhere else.

[1] https://pubs.opengroup.org/onlinepubs/9699919799/functions/errno.html

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH] src/ext4_resize.c: set errno to 0 before the strtoull call
  2022-01-18 11:49             ` Adhemerval Zanella
@ 2022-01-18 12:00               ` Florian Weimer
  2022-01-18 12:04               ` Andreas Schwab
  1 sibling, 0 replies; 21+ messages in thread
From: Florian Weimer @ 2022-01-18 12:00 UTC (permalink / raw)
  To: Adhemerval Zanella; +Cc: xuyang2018.jy, Theodore Ts'o, libc-alpha, fstests

* Adhemerval Zanella:

> On 18/01/2022 08:26, Florian Weimer wrote:
>> * Adhemerval Zanella:
>> 
>>>   
>>>
>>> On 18/01/2022 02:27, xuyang2018.jy--- via Libc-alpha wrote:
>>>> on 2022/1/18 11:56, Theodore Ts'o wrote:
>>>>> On Tue, Jan 18, 2022 at 02:43:26AM +0000, xuyang2018.jy@fujitsu.com wrote:
>>>>>>> You're right of course, but out of curiosity, which C library are you
>>>>>>> using?
>>>>>> I use glibc-2.34.
>>>>>
>>>>> Hmm, ok.  I'm using glibc 2.31, and in this particular program, errno
>>>>> shouldn't have been set by any prior system call.  I'm guessing maybe
>>>>> it was something in crt0 which ended up setting errno?
>>>> It maybe a glibc bug.
>>>> I cc glibc mailing list and see whether they have met this problem.
>>>>
>>>> @Florian
>>>>
>>>> Now, I use glibc-2.34 and run the following program[1] but the errno is 
>>>> not 0 in the beginning. So is this a known bug on glibc-2.34(Theodore 
>>>> doesn't meet this problem on glicb-2.31)?
>>>>
>>>> [1]https://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git/tree/src/ext4_resize.c
>>>
>>> The errno should be only set on a failure, no function shall set errno
>>> to 0 (it is a POSIX definition which glibc adheres).  The application
>>> need to explicitly set errno to 0 before the function call to check if 
>>> an error occurs.
>> 
>> While this is true, I think errno should still be 0 at the start of the
>> program.
>
> I think this is a implementation detail, I am not aware that either C or
> POSIX now states it should initialized to any specific value (in fact, 
> POSIX at Issue 5 [1] has removed the 'The value of errno is 0 at program 
> start-up' on its description).

It would be nice to stay compatible with that.

> In any case, we set errno to be an uninitialized TLS variable.  Unless we
> have a bug on .tbss initialization I think the issue is somewhere else.

I suspect it's some additional system call, which is why I requested
strace output.

Thanks,
Florian


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH] src/ext4_resize.c: set errno to 0 before the strtoull call
  2022-01-18 11:49             ` Adhemerval Zanella
  2022-01-18 12:00               ` Florian Weimer
@ 2022-01-18 12:04               ` Andreas Schwab
  2022-01-18 12:26                 ` Adhemerval Zanella
  1 sibling, 1 reply; 21+ messages in thread
From: Andreas Schwab @ 2022-01-18 12:04 UTC (permalink / raw)
  To: Adhemerval Zanella
  Cc: Florian Weimer, xuyang2018.jy, Theodore Ts'o, libc-alpha, fstests

On Jan 18 2022, Adhemerval Zanella wrote:

> I think this is a implementation detail, I am not aware that either C or
> POSIX now states it should initialized to any specific value (in fact, 
> POSIX at Issue 5 [1] has removed the 'The value of errno is 0 at program 
> start-up' on its description).

It's still part of the C standard, though.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510  2552 DF73 E780 A9DA AEC1
"And now for something completely different."

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH] src/ext4_resize.c: set errno to 0 before the strtoull call
  2022-01-18 12:04               ` Andreas Schwab
@ 2022-01-18 12:26                 ` Adhemerval Zanella
  0 siblings, 0 replies; 21+ messages in thread
From: Adhemerval Zanella @ 2022-01-18 12:26 UTC (permalink / raw)
  To: Andreas Schwab
  Cc: Florian Weimer, xuyang2018.jy, Theodore Ts'o, libc-alpha, fstests



On 18/01/2022 09:04, Andreas Schwab wrote:
> On Jan 18 2022, Adhemerval Zanella wrote:
> 
>> I think this is a implementation detail, I am not aware that either C or
>> POSIX now states it should initialized to any specific value (in fact, 
>> POSIX at Issue 5 [1] has removed the 'The value of errno is 0 at program 
>> start-up' on its description).
> 
> It's still part of the C standard, though.
> 

And I think it is error-prone, since it requires caller to handle two 
different assumptions (whether the function is called after program 
initialization or after errno might be clobbered).

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH] src/ext4_resize.c: set errno to 0 before the strtoull call
  2022-01-18  5:27       ` [PATCH] src/ext4_resize.c: set errno to 0 before the strtoull call xuyang2018.jy
  2022-01-18 11:23         ` Adhemerval Zanella
@ 2022-01-18 14:02         ` Florian Weimer
  2022-01-19  6:14           ` xuyang2018.jy
  2022-01-18 14:22         ` Andreas Schwab
  2 siblings, 1 reply; 21+ messages in thread
From: Florian Weimer @ 2022-01-18 14:02 UTC (permalink / raw)
  To: xuyang2018.jy--- via Libc-alpha; +Cc: Theodore Ts'o, xuyang2018.jy, fstests

* xuyang2018.jy:

> on 2022/1/18 11:56, Theodore Ts'o wrote:
>> On Tue, Jan 18, 2022 at 02:43:26AM +0000, xuyang2018.jy@fujitsu.com wrote:
>>>> You're right of course, but out of curiosity, which C library are you
>>>> using?
>>> I use glibc-2.34.
>>
>> Hmm, ok.  I'm using glibc 2.31, and in this particular program, errno
>> shouldn't have been set by any prior system call.  I'm guessing maybe
>> it was something in crt0 which ended up setting errno?
> It maybe a glibc bug.
> I cc glibc mailing list and see whether they have met this problem.
>
> @Florian
>
> Now, I use glibc-2.34 and run the following program[1] but the errno is 
> not 0 in the beginning. So is this a known bug on glibc-2.34(Theodore 
> doesn't meet this problem on glicb-2.31)?
>
> [1]https://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git/tree/src/ext4_resize.c

I'm not aware of this issue.  Could you run strace or strace -k to see
where the failing system call is coming from?  Thanks.

Florian


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH] src/ext4_resize.c: set errno to 0 before the strtoull call
  2022-01-18  5:27       ` [PATCH] src/ext4_resize.c: set errno to 0 before the strtoull call xuyang2018.jy
  2022-01-18 11:23         ` Adhemerval Zanella
  2022-01-18 14:02         ` Florian Weimer
@ 2022-01-18 14:22         ` Andreas Schwab
  2022-01-18 14:29           ` H.J. Lu
  2022-01-19  2:07           ` xuyang2018.jy
  2 siblings, 2 replies; 21+ messages in thread
From: Andreas Schwab @ 2022-01-18 14:22 UTC (permalink / raw)
  To: xuyang2018.jy; +Cc: Theodore Ts'o, fweimer, fstests, libc-alpha

On Jan 18 2022, xuyang2018.jy@fujitsu.com wrote:

> Now, I use glibc-2.34 and run the following program[1] but the errno is 
> not 0 in the beginning. So is this a known bug on glibc-2.34(Theodore 
> doesn't meet this problem on glicb-2.31)?
>
> [1]https://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git/tree/src/ext4_resize.c

Note that there is a call to open preceding the strtoull call, so no
guarantees can be made about the value of errno before the latter.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510  2552 DF73 E780 A9DA AEC1
"And now for something completely different."

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH] src/ext4_resize.c: set errno to 0 before the strtoull call
  2022-01-18 14:22         ` Andreas Schwab
@ 2022-01-18 14:29           ` H.J. Lu
  2022-01-18 14:43             ` Yann Droneaud
  2022-01-19  2:07           ` xuyang2018.jy
  1 sibling, 1 reply; 21+ messages in thread
From: H.J. Lu @ 2022-01-18 14:29 UTC (permalink / raw)
  To: Andreas Schwab
  Cc: xuyang2018.jy, fweimer, libc-alpha, Theodore Ts'o, fstests

On Tue, Jan 18, 2022 at 6:22 AM Andreas Schwab <schwab@linux-m68k.org> wrote:
>
> On Jan 18 2022, xuyang2018.jy@fujitsu.com wrote:
>
> > Now, I use glibc-2.34 and run the following program[1] but the errno is
> > not 0 in the beginning. So is this a known bug on glibc-2.34(Theodore
> > doesn't meet this problem on glicb-2.31)?
> >
> > [1]https://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git/tree/src/ext4_resize.c
>
> Note that there is a call to open preceding the strtoull call, so no
> guarantees can be made about the value of errno before the latter.
>

strtoull man page:

RETURN VALUE
       The strtoul() function returns either the result of the conversion  or,
       if  there  was  a leading minus sign, the negation of the result of the
       conversion represented as an unsigned value, unless the original  (non‐
       negated)  value  would  overflow; in the latter case, strtoul() returns
       ULONG_MAX and sets errno to ERANGE.  Precisely the same holds for  str‐
       toull() (with ULLONG_MAX instead of ULONG_MAX).

new_size = strtoull(argv[2], &tmp, 10);
if ((errno) || (*tmp != '\0')) {
^^^^^^^^^^^^ Shouldn't errno be checked only after the prior function
return value is checked first?

fprintf(stderr, "%s: invalid new size\n", argv[0]);
return 1;
}

-- 
H.J.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH] src/ext4_resize.c: set errno to 0 before the strtoull call
  2022-01-18 14:29           ` H.J. Lu
@ 2022-01-18 14:43             ` Yann Droneaud
  2022-01-18 14:54               ` H.J. Lu
  0 siblings, 1 reply; 21+ messages in thread
From: Yann Droneaud @ 2022-01-18 14:43 UTC (permalink / raw)
  To: libc-alpha

Hi,

Le 18/01/2022 à 15:29, H.J. Lu via Libc-alpha a écrit :
> On Tue, Jan 18, 2022 at 6:22 AM Andreas Schwab <schwab@linux-m68k.org> wrote:
>> On Jan 18 2022, xuyang2018.jy@fujitsu.com wrote:
>>
>>> Now, I use glibc-2.34 and run the following program[1] but the errno is
>>> not 0 in the beginning. So is this a known bug on glibc-2.34(Theodore
>>> doesn't meet this problem on glicb-2.31)?
>>>
>>> [1]https://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git/tree/src/ext4_resize.c
>> Note that there is a call to open preceding the strtoull call, so no
>> guarantees can be made about the value of errno before the latter.
>>
> strtoull man page:
>
> RETURN VALUE
>         The strtoul() function returns either the result of the conversion  or,
>         if  there  was  a leading minus sign, the negation of the result of the
>         conversion represented as an unsigned value, unless the original  (non‐
>         negated)  value  would  overflow; in the latter case, strtoul() returns
>         ULONG_MAX and sets errno to ERANGE.  Precisely the same holds for  str‐
>         toull() (with ULLONG_MAX instead of ULONG_MAX).
>
> new_size = strtoull(argv[2], &tmp, 10);
> if ((errno) || (*tmp != '\0')) {
> ^^^^^^^^^^^^ Shouldn't errno be checked only after the prior function
> return value is checked first?
>
> fprintf(stderr, "%s: invalid new size\n", argv[0]);
> return 1;
> }

Something like:

         errno = 0; /* must be cleared to distinguish error */
         tmp = NULL;
         new_size = strtoull(argv[2], &p, 0);
         if ((new_size == 0 || new_size == ULONGLONG_MAX) && errno) {
		fprintf(stderr, "%s: invalid new size\n", argv[0]);
		return 1;
	}

         if (tmp) {
                 /* error, unused trailing characters */
                 if (*tmp) {
			fprintf(stderr, "%s: invalid new size\n", argv[0]);
			return 1;
                 }

                 /* error, empty string */
                 if (tmp == argv[2]) {
			fprintf(stderr, "%s: invalid new size\n", argv[0]);
			return 1;

                 }
         }

-- 
Yann Droneaud
OPTEYA


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH] src/ext4_resize.c: set errno to 0 before the strtoull call
  2022-01-18 14:43             ` Yann Droneaud
@ 2022-01-18 14:54               ` H.J. Lu
  2022-01-18 15:30                 ` Andreas Schwab
  0 siblings, 1 reply; 21+ messages in thread
From: H.J. Lu @ 2022-01-18 14:54 UTC (permalink / raw)
  To: Yann Droneaud; +Cc: GNU C Library

On Tue, Jan 18, 2022 at 6:43 AM Yann Droneaud <ydroneaud@opteya.com> wrote:
>
> Hi,
>
> Le 18/01/2022 à 15:29, H.J. Lu via Libc-alpha a écrit :
> > On Tue, Jan 18, 2022 at 6:22 AM Andreas Schwab <schwab@linux-m68k.org> wrote:
> >> On Jan 18 2022, xuyang2018.jy@fujitsu.com wrote:
> >>
> >>> Now, I use glibc-2.34 and run the following program[1] but the errno is
> >>> not 0 in the beginning. So is this a known bug on glibc-2.34(Theodore
> >>> doesn't meet this problem on glicb-2.31)?
> >>>
> >>> [1]https://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git/tree/src/ext4_resize.c
> >> Note that there is a call to open preceding the strtoull call, so no
> >> guarantees can be made about the value of errno before the latter.
> >>
> > strtoull man page:
> >
> > RETURN VALUE
> >         The strtoul() function returns either the result of the conversion  or,
> >         if  there  was  a leading minus sign, the negation of the result of the
> >         conversion represented as an unsigned value, unless the original  (non‐
> >         negated)  value  would  overflow; in the latter case, strtoul() returns
> >         ULONG_MAX and sets errno to ERANGE.  Precisely the same holds for  str‐
> >         toull() (with ULLONG_MAX instead of ULONG_MAX).
> >
> > new_size = strtoull(argv[2], &tmp, 10);
> > if ((errno) || (*tmp != '\0')) {
> > ^^^^^^^^^^^^ Shouldn't errno be checked only after the prior function
> > return value is checked first?
> >
> > fprintf(stderr, "%s: invalid new size\n", argv[0]);
> > return 1;
> > }
>
> Something like:
>
>          errno = 0; /* must be cleared to distinguish error */
^^^^^^^^^^^^^^^^^ Remove it.
>          tmp = NULL;
>          new_size = strtoull(argv[2], &p, 0);
>          if ((new_size == 0 || new_size == ULONGLONG_MAX) && errno) {
 Change it to

if (new_size == 0 || (new_size == ULONGLONG_MAX) && errno)) {
>                 fprintf(stderr, "%s: invalid new size\n", argv[0]);
>                 return 1;
>         }
>
>          if (tmp) {
>                  /* error, unused trailing characters */
>                  if (*tmp) {
>                         fprintf(stderr, "%s: invalid new size\n", argv[0]);
>                         return 1;
>                  }
>
>                  /* error, empty string */
>                  if (tmp == argv[2]) {
>                         fprintf(stderr, "%s: invalid new size\n", argv[0]);
>                         return 1;
>
>                  }
>          }
>
> --
> Yann Droneaud
> OPTEYA
>


-- 
H.J.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH] src/ext4_resize.c: set errno to 0 before the strtoull call
  2022-01-18 14:54               ` H.J. Lu
@ 2022-01-18 15:30                 ` Andreas Schwab
  0 siblings, 0 replies; 21+ messages in thread
From: Andreas Schwab @ 2022-01-18 15:30 UTC (permalink / raw)
  To: H.J. Lu via Libc-alpha; +Cc: Yann Droneaud, H.J. Lu

On Jan 18 2022, H.J. Lu via Libc-alpha wrote:

>> Something like:
>>
>>          errno = 0; /* must be cleared to distinguish error */
> ^^^^^^^^^^^^^^^^^ Remove it.

You cannot remove that.  strtoull will not modify errno when there is no
error, so if you want to distinguish a valid return value from an
erroneous one you need to clear errno before the call.

https://pubs.opengroup.org/onlinepubs/9699919799/functions/strtoul.html

    Since 0, {ULONG_MAX}, and {ULLONG_MAX} are returned on error and are
    also valid returns on success, an application wishing to check for error
    situations should set errno to 0, then call strtoul() or strtoull(),
    then check errno.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510  2552 DF73 E780 A9DA AEC1
"And now for something completely different."

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH] src/ext4_resize.c: set errno to 0 before the strtoull call
  2022-01-18 14:22         ` Andreas Schwab
  2022-01-18 14:29           ` H.J. Lu
@ 2022-01-19  2:07           ` xuyang2018.jy
  2022-01-19  8:23             ` Andreas Schwab
  1 sibling, 1 reply; 21+ messages in thread
From: xuyang2018.jy @ 2022-01-19  2:07 UTC (permalink / raw)
  To: Andreas Schwab; +Cc: Theodore Ts'o, fweimer, fstests, libc-alpha

on 2022/1/18 22:22, Andreas Schwab wrote:
> On Jan 18 2022, xuyang2018.jy@fujitsu.com wrote:
> 
>> Now, I use glibc-2.34 and run the following program[1] but the errno is
>> not 0 in the beginning. So is this a known bug on glibc-2.34(Theodore
>> doesn't meet this problem on glicb-2.31)?
>>
>> [1]https://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git/tree/src/ext4_resize.c
> 
> Note that there is a call to open preceding the strtoull call, so no
> guarantees can be made about the value of errno before the latter.
I just tried, the errno is 1 before open syscall.

Best Regards
Yang Xu
> 

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH] src/ext4_resize.c: set errno to 0 before the strtoull call
  2022-01-18 14:02         ` Florian Weimer
@ 2022-01-19  6:14           ` xuyang2018.jy
  2022-01-19  7:19             ` xuyang2018.jy
  0 siblings, 1 reply; 21+ messages in thread
From: xuyang2018.jy @ 2022-01-19  6:14 UTC (permalink / raw)
  To: Florian Weimer; +Cc: xuyang2018.jy, Theodore Ts'o, fstests, libc-alpha

[-- Attachment #1: Type: text/plain, Size: 3241 bytes --]

on 2022/1/18 22:02, Florian Weimer wrote:
> * xuyang2018.jy:
> 
>> on 2022/1/18 11:56, Theodore Ts'o wrote:
>>> On Tue, Jan 18, 2022 at 02:43:26AM +0000, xuyang2018.jy@fujitsu.com wrote:
>>>>> You're right of course, but out of curiosity, which C library are you
>>>>> using?
>>>> I use glibc-2.34.
>>>
>>> Hmm, ok.  I'm using glibc 2.31, and in this particular program, errno
>>> shouldn't have been set by any prior system call.  I'm guessing maybe
>>> it was something in crt0 which ended up setting errno?
>> It maybe a glibc bug.
>> I cc glibc mailing list and see whether they have met this problem.
>>
>> @Florian
>>
>> Now, I use glibc-2.34 and run the following program[1] but the errno is
>> not 0 in the beginning. So is this a known bug on glibc-2.34(Theodore
>> doesn't meet this problem on glicb-2.31)?
>>
>> [1]https://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git/tree/src/ext4_resize.c
> 
> I'm not aware of this issue.  Could you run strace or strace -k to see
> where the failing system call is coming from?  Thanks.
Even before open call, errno is also 1.

The strace output see attachment.

I found the following difference(compare with glibc-2.28, search 'err'
keywords)

bad(glibc-2.34):

map(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
= 0x7fdf815a3000
 > /usr/lib64/ld-linux-x86-64.so.2(__mmap+0x26) [0x21c56]
 > /usr/lib64/ld-linux-x86-64.so.2(rtld_malloc+0xa0) [0x1dc50]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_check_map_versions+0x4ec) [0x121fc]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_check_all_versions+0x3e) [0x124de]
 > /usr/lib64/ld-linux-x86-64.so.2(version_check_doit+0x1b) [0x1cab]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_receive_error+0x31) [0x1e811]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1e46) [0x4416]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
arch_prctl(ARCH_SET_FS, 0x7fdf815a4480) = 0

good(glibc-2.28):

map(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
= 0x7febd628b000
 > /usr/lib64/ld-2.28.so(__mmap+0x47) [0x1c377]
 > /usr/lib64/ld-2.28.so(malloc+0x8a) [0x1a94a]
 > /usr/lib64/ld-2.28.so(_dl_allocate_tls_storage+0x23) [0x12ac3]
 > /usr/lib64/ld-2.28.so(init_tls+0xa5) [0x1da5]
 > /usr/lib64/ld-2.28.so(dl_main+0x2c6d) [0x51ed]
 > /usr/lib64/ld-2.28.so(_dl_sysdep_start+0x48e) [0x1a14e]
 > /usr/lib64/ld-2.28.so(_dl_start+0x275) [0x2135]
 > /usr/lib64/ld-2.28.so(_start+0x7) [0x1087]
 > No DWARF information found
arch_prctl(ARCH_SET_FS, 0x7febd628b740) = 0

Also if use gcc to compile this c program directly instead of using make
in xfstests testsuite,  the errno value is normal(0).

After tried, I found if using the following command, errno is still 0
gcc ext4_resize.c -g -O2  -D_GNU_SOURCE   -D_FILE_OFFSET_BITS=64
-funsigned-char -fno-strict-aliasing  -Wall -o ext4_resize

But if I used link with lcap, then errno becomes 1 in the beginning.

Even I use lastest upstream libcap, this problem still occurs.

I am still looking into it .

Best Regards
Yang Xu

> 
> Florian
> 


[-- Attachment #2: strace.txt --]
[-- Type: text/plain, Size: 82151 bytes --]

execve("./ext4_resize", ["./ext4_resize"], 0x7ffda6deb608 /* 68 vars */) = 0
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x0) [0x1090]
 > no matching address range
brk(NULL)                               = 0x9e6000
 > /usr/lib64/ld-linux-x86-64.so.2(__brk+0xb) [0x20b2b]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3a8) [0x1d648]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
arch_prctl(0x3001 /* ARCH_??? */, 0x7ffe1eef7140) = -1 EINVAL (Invalid argument)
 > /usr/lib64/ld-linux-x86-64.so.2(init_cpu_features.constprop.0+0x50f) [0x1b64f]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3ad) [0x1d64d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
 > /usr/lib64/ld-linux-x86-64.so.2(access+0xb) [0x2193b]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1c8c) [0x425c]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
openat(AT_FDCWD, "/usr/lib64/mpich/lib/glibc-hwcaps/x86-64-v3/libhandle.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
 > /usr/lib64/ld-linux-x86-64.so.2(__GI___open_nocancel+0x38) [0x21aa8]
 > /usr/lib64/ld-linux-x86-64.so.2(open_verify.constprop.0+0x40) [0x6910]
 > /usr/lib64/ld-linux-x86-64.so.2(open_path+0x1c4) [0x71b4]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x367) [0x9f47]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
newfstatat(AT_FDCWD, "/usr/lib64/mpich/lib/glibc-hwcaps/x86-64-v3", 0x7ffe1eef6370, 0) = -1 ENOENT (No such file or directory)
 > /usr/lib64/ld-linux-x86-64.so.2(fstatat+0xe) [0x2186e]
 > /usr/lib64/ld-linux-x86-64.so.2(open_path+0x392) [0x7382]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x367) [0x9f47]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
openat(AT_FDCWD, "/usr/lib64/mpich/lib/glibc-hwcaps/x86-64-v2/libhandle.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
 > /usr/lib64/ld-linux-x86-64.so.2(__GI___open_nocancel+0x38) [0x21aa8]
 > /usr/lib64/ld-linux-x86-64.so.2(open_verify.constprop.0+0x40) [0x6910]
 > /usr/lib64/ld-linux-x86-64.so.2(open_path+0x1c4) [0x71b4]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x367) [0x9f47]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
newfstatat(AT_FDCWD, "/usr/lib64/mpich/lib/glibc-hwcaps/x86-64-v2", 0x7ffe1eef6370, 0) = -1 ENOENT (No such file or directory)
 > /usr/lib64/ld-linux-x86-64.so.2(fstatat+0xe) [0x2186e]
 > /usr/lib64/ld-linux-x86-64.so.2(open_path+0x392) [0x7382]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x367) [0x9f47]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
openat(AT_FDCWD, "/usr/lib64/mpich/lib/tls/haswell/x86_64/libhandle.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
 > /usr/lib64/ld-linux-x86-64.so.2(__GI___open_nocancel+0x38) [0x21aa8]
 > /usr/lib64/ld-linux-x86-64.so.2(open_verify.constprop.0+0x40) [0x6910]
 > /usr/lib64/ld-linux-x86-64.so.2(open_path+0x1c4) [0x71b4]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x367) [0x9f47]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
newfstatat(AT_FDCWD, "/usr/lib64/mpich/lib/tls/haswell/x86_64", 0x7ffe1eef6370, 0) = -1 ENOENT (No such file or directory)
 > /usr/lib64/ld-linux-x86-64.so.2(fstatat+0xe) [0x2186e]
 > /usr/lib64/ld-linux-x86-64.so.2(open_path+0x392) [0x7382]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x367) [0x9f47]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
openat(AT_FDCWD, "/usr/lib64/mpich/lib/tls/haswell/libhandle.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
 > /usr/lib64/ld-linux-x86-64.so.2(__GI___open_nocancel+0x38) [0x21aa8]
 > /usr/lib64/ld-linux-x86-64.so.2(open_verify.constprop.0+0x40) [0x6910]
 > /usr/lib64/ld-linux-x86-64.so.2(open_path+0x1c4) [0x71b4]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x367) [0x9f47]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
newfstatat(AT_FDCWD, "/usr/lib64/mpich/lib/tls/haswell", 0x7ffe1eef6370, 0) = -1 ENOENT (No such file or directory)
 > /usr/lib64/ld-linux-x86-64.so.2(fstatat+0xe) [0x2186e]
 > /usr/lib64/ld-linux-x86-64.so.2(open_path+0x392) [0x7382]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x367) [0x9f47]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
openat(AT_FDCWD, "/usr/lib64/mpich/lib/tls/x86_64/libhandle.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
 > /usr/lib64/ld-linux-x86-64.so.2(__GI___open_nocancel+0x38) [0x21aa8]
 > /usr/lib64/ld-linux-x86-64.so.2(open_verify.constprop.0+0x40) [0x6910]
 > /usr/lib64/ld-linux-x86-64.so.2(open_path+0x1c4) [0x71b4]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x367) [0x9f47]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
newfstatat(AT_FDCWD, "/usr/lib64/mpich/lib/tls/x86_64", 0x7ffe1eef6370, 0) = -1 ENOENT (No such file or directory)
 > /usr/lib64/ld-linux-x86-64.so.2(fstatat+0xe) [0x2186e]
 > /usr/lib64/ld-linux-x86-64.so.2(open_path+0x392) [0x7382]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x367) [0x9f47]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
openat(AT_FDCWD, "/usr/lib64/mpich/lib/tls/libhandle.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
 > /usr/lib64/ld-linux-x86-64.so.2(__GI___open_nocancel+0x38) [0x21aa8]
 > /usr/lib64/ld-linux-x86-64.so.2(open_verify.constprop.0+0x40) [0x6910]
 > /usr/lib64/ld-linux-x86-64.so.2(open_path+0x1c4) [0x71b4]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x367) [0x9f47]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
newfstatat(AT_FDCWD, "/usr/lib64/mpich/lib/tls", 0x7ffe1eef6370, 0) = -1 ENOENT (No such file or directory)
 > /usr/lib64/ld-linux-x86-64.so.2(fstatat+0xe) [0x2186e]
 > /usr/lib64/ld-linux-x86-64.so.2(open_path+0x392) [0x7382]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x367) [0x9f47]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
openat(AT_FDCWD, "/usr/lib64/mpich/lib/haswell/x86_64/libhandle.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
 > /usr/lib64/ld-linux-x86-64.so.2(__GI___open_nocancel+0x38) [0x21aa8]
 > /usr/lib64/ld-linux-x86-64.so.2(open_verify.constprop.0+0x40) [0x6910]
 > /usr/lib64/ld-linux-x86-64.so.2(open_path+0x1c4) [0x71b4]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x367) [0x9f47]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
newfstatat(AT_FDCWD, "/usr/lib64/mpich/lib/haswell/x86_64", 0x7ffe1eef6370, 0) = -1 ENOENT (No such file or directory)
 > /usr/lib64/ld-linux-x86-64.so.2(fstatat+0xe) [0x2186e]
 > /usr/lib64/ld-linux-x86-64.so.2(open_path+0x392) [0x7382]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x367) [0x9f47]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
openat(AT_FDCWD, "/usr/lib64/mpich/lib/haswell/libhandle.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
 > /usr/lib64/ld-linux-x86-64.so.2(__GI___open_nocancel+0x38) [0x21aa8]
 > /usr/lib64/ld-linux-x86-64.so.2(open_verify.constprop.0+0x40) [0x6910]
 > /usr/lib64/ld-linux-x86-64.so.2(open_path+0x1c4) [0x71b4]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x367) [0x9f47]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
newfstatat(AT_FDCWD, "/usr/lib64/mpich/lib/haswell", 0x7ffe1eef6370, 0) = -1 ENOENT (No such file or directory)
 > /usr/lib64/ld-linux-x86-64.so.2(fstatat+0xe) [0x2186e]
 > /usr/lib64/ld-linux-x86-64.so.2(open_path+0x392) [0x7382]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x367) [0x9f47]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
openat(AT_FDCWD, "/usr/lib64/mpich/lib/x86_64/libhandle.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
 > /usr/lib64/ld-linux-x86-64.so.2(__GI___open_nocancel+0x38) [0x21aa8]
 > /usr/lib64/ld-linux-x86-64.so.2(open_verify.constprop.0+0x40) [0x6910]
 > /usr/lib64/ld-linux-x86-64.so.2(open_path+0x1c4) [0x71b4]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x367) [0x9f47]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
newfstatat(AT_FDCWD, "/usr/lib64/mpich/lib/x86_64", 0x7ffe1eef6370, 0) = -1 ENOENT (No such file or directory)
 > /usr/lib64/ld-linux-x86-64.so.2(fstatat+0xe) [0x2186e]
 > /usr/lib64/ld-linux-x86-64.so.2(open_path+0x392) [0x7382]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x367) [0x9f47]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
openat(AT_FDCWD, "/usr/lib64/mpich/lib/libhandle.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
 > /usr/lib64/ld-linux-x86-64.so.2(__GI___open_nocancel+0x38) [0x21aa8]
 > /usr/lib64/ld-linux-x86-64.so.2(open_verify.constprop.0+0x40) [0x6910]
 > /usr/lib64/ld-linux-x86-64.so.2(open_path+0x1c4) [0x71b4]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x367) [0x9f47]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
newfstatat(AT_FDCWD, "/usr/lib64/mpich/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}, 0) = 0
 > /usr/lib64/ld-linux-x86-64.so.2(fstatat+0xe) [0x2186e]
 > /usr/lib64/ld-linux-x86-64.so.2(open_path+0x392) [0x7382]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x367) [0x9f47]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
 > /usr/lib64/ld-linux-x86-64.so.2(__GI___open_nocancel+0x38) [0x21aa8]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_read_whole_file+0x29) [0x11669]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_load_cache_lookup+0x173) [0x19143]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x3d2) [0x9fb2]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
newfstatat(3, "", {st_mode=S_IFREG|0644, st_size=209131, ...}, AT_EMPTY_PATH) = 0
 > /usr/lib64/ld-linux-x86-64.so.2(fstatat+0xe) [0x2186e]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_read_whole_file+0x4b) [0x1168b]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_load_cache_lookup+0x173) [0x19143]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x3d2) [0x9fb2]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mmap(NULL, 209131, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fdf817da000
 > /usr/lib64/ld-linux-x86-64.so.2(__mmap+0x26) [0x21c56]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_read_whole_file+0x84) [0x116c4]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_load_cache_lookup+0x173) [0x19143]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x3d2) [0x9fb2]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
close(3)                                = 0
 > /usr/lib64/ld-linux-x86-64.so.2(__GI___close_nocancel+0xb) [0x2196b]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_read_whole_file+0x6a) [0x116aa]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_load_cache_lookup+0x173) [0x19143]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x3d2) [0x9fb2]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
openat(AT_FDCWD, "/lib64/libhandle.so.1", O_RDONLY|O_CLOEXEC) = 3
 > /usr/lib64/ld-linux-x86-64.so.2(__GI___open_nocancel+0x38) [0x21aa8]
 > /usr/lib64/ld-linux-x86-64.so.2(open_verify.constprop.0+0x40) [0x6910]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x417) [0x9ff7]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\22\0\0\0\0\0\0"..., 832) = 832
 > /usr/lib64/ld-linux-x86-64.so.2(__read_nocancel+0x8) [0x21af8]
 > /usr/lib64/ld-linux-x86-64.so.2(open_verify.constprop.0+0x84) [0x6954]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x417) [0x9ff7]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=20280, ...}, AT_EMPTY_PATH) = 0
 > /usr/lib64/ld-linux-x86-64.so.2(fstatat+0xe) [0x2186e]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x4c1) [0x8a01]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdf817d8000
 > /usr/lib64/ld-linux-x86-64.so.2(__mmap+0x26) [0x21c56]
 > /usr/lib64/ld-linux-x86-64.so.2(rtld_malloc+0xa0) [0x1dc50]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_new_object+0x74) [0xc7f4]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0xd9) [0x8619]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mmap(NULL, 24616, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fdf817d1000
 > /usr/lib64/ld-linux-x86-64.so.2(__mmap+0x26) [0x21c56]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x301) [0x8841]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mmap(0x7fdf817d2000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7fdf817d2000
 > /usr/lib64/ld-linux-x86-64.so.2(__mmap+0x26) [0x21c56]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x456) [0x8996]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mmap(0x7fdf817d4000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7fdf817d4000
 > /usr/lib64/ld-linux-x86-64.so.2(__mmap+0x26) [0x21c56]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x456) [0x8996]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mmap(0x7fdf817d5000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7fdf817d5000
 > /usr/lib64/ld-linux-x86-64.so.2(__mmap+0x26) [0x21c56]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x456) [0x8996]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mmap(0x7fdf817d6000, 4136, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fdf817d6000
 > /usr/lib64/ld-linux-x86-64.so.2(__mmap+0x26) [0x21c56]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x1047) [0x9587]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
close(3)                                = 0
 > /usr/lib64/ld-linux-x86-64.so.2(__GI___close_nocancel+0xb) [0x2196b]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0xd7f) [0x92bf]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
openat(AT_FDCWD, "/usr/lib64/mpich/lib/libacl.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
 > /usr/lib64/ld-linux-x86-64.so.2(__GI___open_nocancel+0x38) [0x21aa8]
 > /usr/lib64/ld-linux-x86-64.so.2(open_verify.constprop.0+0x40) [0x6910]
 > /usr/lib64/ld-linux-x86-64.so.2(open_path+0x1c4) [0x71b4]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x367) [0x9f47]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
openat(AT_FDCWD, "/lib64/libacl.so.1", O_RDONLY|O_CLOEXEC) = 3
 > /usr/lib64/ld-linux-x86-64.so.2(__GI___open_nocancel+0x38) [0x21aa8]
 > /usr/lib64/ld-linux-x86-64.so.2(open_verify.constprop.0+0x40) [0x6910]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x417) [0x9ff7]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260%\0\0\0\0\0\0"..., 832) = 832
 > /usr/lib64/ld-linux-x86-64.so.2(__read_nocancel+0x8) [0x21af8]
 > /usr/lib64/ld-linux-x86-64.so.2(open_verify.constprop.0+0x84) [0x6954]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x417) [0x9ff7]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=41120, ...}, AT_EMPTY_PATH) = 0
 > /usr/lib64/ld-linux-x86-64.so.2(fstatat+0xe) [0x2186e]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x4c1) [0x8a01]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mmap(NULL, 40984, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fdf817c6000
 > /usr/lib64/ld-linux-x86-64.so.2(__mmap+0x26) [0x21c56]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x301) [0x8841]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mprotect(0x7fdf817c8000, 28672, PROT_NONE) = 0
 > /usr/lib64/ld-linux-x86-64.so.2(__mprotect+0xb) [0x21d0b]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x360) [0x88a0]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mmap(0x7fdf817c8000, 20480, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7fdf817c8000
 > /usr/lib64/ld-linux-x86-64.so.2(__mmap+0x26) [0x21c56]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x456) [0x8996]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mmap(0x7fdf817cd000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0x7fdf817cd000
 > /usr/lib64/ld-linux-x86-64.so.2(__mmap+0x26) [0x21c56]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x456) [0x8996]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mmap(0x7fdf817cf000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x8000) = 0x7fdf817cf000
 > /usr/lib64/ld-linux-x86-64.so.2(__mmap+0x26) [0x21c56]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x456) [0x8996]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mmap(0x7fdf817d0000, 24, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fdf817d0000
 > /usr/lib64/ld-linux-x86-64.so.2(__mmap+0x26) [0x21c56]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x1047) [0x9587]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
close(3)                                = 0
 > /usr/lib64/ld-linux-x86-64.so.2(__GI___close_nocancel+0xb) [0x2196b]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0xd7f) [0x92bf]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
openat(AT_FDCWD, "/usr/lib64/mpich/lib/libaio.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
 > /usr/lib64/ld-linux-x86-64.so.2(__GI___open_nocancel+0x38) [0x21aa8]
 > /usr/lib64/ld-linux-x86-64.so.2(open_verify.constprop.0+0x40) [0x6910]
 > /usr/lib64/ld-linux-x86-64.so.2(open_path+0x1c4) [0x71b4]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x367) [0x9f47]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
openat(AT_FDCWD, "/lib64/libaio.so.1", O_RDONLY|O_CLOEXEC) = 3
 > /usr/lib64/ld-linux-x86-64.so.2(__GI___open_nocancel+0x38) [0x21aa8]
 > /usr/lib64/ld-linux-x86-64.so.2(open_verify.constprop.0+0x40) [0x6910]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x417) [0x9ff7]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000\21\0\0\0\0\0\0"..., 832) = 832
 > /usr/lib64/ld-linux-x86-64.so.2(__read_nocancel+0x8) [0x21af8]
 > /usr/lib64/ld-linux-x86-64.so.2(open_verify.constprop.0+0x84) [0x6954]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x417) [0x9ff7]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=16448, ...}, AT_EMPTY_PATH) = 0
 > /usr/lib64/ld-linux-x86-64.so.2(fstatat+0xe) [0x2186e]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x4c1) [0x8a01]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mmap(NULL, 16416, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fdf817c1000
 > /usr/lib64/ld-linux-x86-64.so.2(__mmap+0x26) [0x21c56]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x301) [0x8841]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mmap(0x7fdf817c2000, 4096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7fdf817c2000
 > /usr/lib64/ld-linux-x86-64.so.2(__mmap+0x26) [0x21c56]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x456) [0x8996]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mmap(0x7fdf817c3000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7fdf817c3000
 > /usr/lib64/ld-linux-x86-64.so.2(__mmap+0x26) [0x21c56]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x456) [0x8996]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mmap(0x7fdf817c4000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7fdf817c4000
 > /usr/lib64/ld-linux-x86-64.so.2(__mmap+0x26) [0x21c56]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x456) [0x8996]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mmap(0x7fdf817c5000, 32, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fdf817c5000
 > /usr/lib64/ld-linux-x86-64.so.2(__mmap+0x26) [0x21c56]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x1047) [0x9587]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
close(3)                                = 0
 > /usr/lib64/ld-linux-x86-64.so.2(__GI___close_nocancel+0xb) [0x2196b]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0xd7f) [0x92bf]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
openat(AT_FDCWD, "/usr/lib64/mpich/lib/libcap.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
 > /usr/lib64/ld-linux-x86-64.so.2(__GI___open_nocancel+0x38) [0x21aa8]
 > /usr/lib64/ld-linux-x86-64.so.2(open_verify.constprop.0+0x40) [0x6910]
 > /usr/lib64/ld-linux-x86-64.so.2(open_path+0x1c4) [0x71b4]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x367) [0x9f47]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
openat(AT_FDCWD, "/lib64/libcap.so.2", O_RDONLY|O_CLOEXEC) = 3
 > /usr/lib64/ld-linux-x86-64.so.2(__GI___open_nocancel+0x38) [0x21aa8]
 > /usr/lib64/ld-linux-x86-64.so.2(open_verify.constprop.0+0x40) [0x6910]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x417) [0x9ff7]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0p'\0\0\0\0\0\0"..., 832) = 832
 > /usr/lib64/ld-linux-x86-64.so.2(__read_nocancel+0x8) [0x21af8]
 > /usr/lib64/ld-linux-x86-64.so.2(open_verify.constprop.0+0x84) [0x6954]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x417) [0x9ff7]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=36912, ...}, AT_EMPTY_PATH) = 0
 > /usr/lib64/ld-linux-x86-64.so.2(fstatat+0xe) [0x2186e]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x4c1) [0x8a01]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mmap(NULL, 36920, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fdf817b7000
 > /usr/lib64/ld-linux-x86-64.so.2(__mmap+0x26) [0x21c56]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x301) [0x8841]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mmap(0x7fdf817b9000, 16384, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7fdf817b9000
 > /usr/lib64/ld-linux-x86-64.so.2(__mmap+0x26) [0x21c56]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x456) [0x8996]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mmap(0x7fdf817bd000, 8192, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x7fdf817bd000
 > /usr/lib64/ld-linux-x86-64.so.2(__mmap+0x26) [0x21c56]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x456) [0x8996]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mmap(0x7fdf817bf000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0x7fdf817bf000
 > /usr/lib64/ld-linux-x86-64.so.2(__mmap+0x26) [0x21c56]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x456) [0x8996]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
close(3)                                = 0
 > /usr/lib64/ld-linux-x86-64.so.2(__GI___close_nocancel+0xb) [0x2196b]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0xd7f) [0x92bf]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
openat(AT_FDCWD, "/usr/lib64/mpich/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
 > /usr/lib64/ld-linux-x86-64.so.2(__GI___open_nocancel+0x38) [0x21aa8]
 > /usr/lib64/ld-linux-x86-64.so.2(open_verify.constprop.0+0x40) [0x6910]
 > /usr/lib64/ld-linux-x86-64.so.2(open_path+0x1c4) [0x71b4]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x367) [0x9f47]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
openat(AT_FDCWD, "/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
 > /usr/lib64/ld-linux-x86-64.so.2(__GI___open_nocancel+0x38) [0x21aa8]
 > /usr/lib64/ld-linux-x86-64.so.2(open_verify.constprop.0+0x40) [0x6910]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x417) [0x9ff7]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240\327\2\0\0\0\0\0"..., 832) = 832
 > /usr/lib64/ld-linux-x86-64.so.2(__read_nocancel+0x8) [0x21af8]
 > /usr/lib64/ld-linux-x86-64.so.2(open_verify.constprop.0+0x84) [0x6954]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x417) [0x9ff7]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784
 > /usr/lib64/ld-linux-x86-64.so.2(__GI___pread64_nocancel+0xe) [0x21b2e]
 > /usr/lib64/ld-linux-x86-64.so.2(open_verify.constprop.0+0x490) [0x6d60]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x417) [0x9ff7]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
pread64(3, "\4\0\0\0 \0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0"..., 48, 848) = 48
 > /usr/lib64/ld-linux-x86-64.so.2(__GI___pread64_nocancel+0xe) [0x21b2e]
 > /usr/lib64/ld-linux-x86-64.so.2(open_verify.constprop.0+0x298) [0x6b68]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x417) [0x9ff7]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\227>V\331\327\275\371\232\313\236\260\35\346\312\353\3"..., 68, 896) = 68
 > /usr/lib64/ld-linux-x86-64.so.2(__GI___pread64_nocancel+0xe) [0x21b2e]
 > /usr/lib64/ld-linux-x86-64.so.2(open_verify.constprop.0+0x298) [0x6b68]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x417) [0x9ff7]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=2389584, ...}, AT_EMPTY_PATH) = 0
 > /usr/lib64/ld-linux-x86-64.so.2(fstatat+0xe) [0x2186e]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x4c1) [0x8a01]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784
 > /usr/lib64/ld-linux-x86-64.so.2(__GI___pread64_nocancel+0xe) [0x21b2e]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x833) [0x8d73]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mmap(NULL, 2136784, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fdf815ad000
 > /usr/lib64/ld-linux-x86-64.so.2(__mmap+0x26) [0x21c56]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x301) [0x8841]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mprotect(0x7fdf815d9000, 1880064, PROT_NONE) = 0
 > /usr/lib64/ld-linux-x86-64.so.2(__mprotect+0xb) [0x21d0b]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x360) [0x88a0]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mmap(0x7fdf815d9000, 1531904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2c000) = 0x7fdf815d9000
 > /usr/lib64/ld-linux-x86-64.so.2(__mmap+0x26) [0x21c56]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x456) [0x8996]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mmap(0x7fdf8174f000, 344064, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1a2000) = 0x7fdf8174f000
 > /usr/lib64/ld-linux-x86-64.so.2(__mmap+0x26) [0x21c56]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x456) [0x8996]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mmap(0x7fdf817a4000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1f6000) = 0x7fdf817a4000
 > /usr/lib64/ld-linux-x86-64.so.2(__mmap+0x26) [0x21c56]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x456) [0x8996]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mmap(0x7fdf817aa000, 51920, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fdf817aa000
 > /usr/lib64/ld-linux-x86-64.so.2(__mmap+0x26) [0x21c56]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x1047) [0x9587]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
close(3)                                = 0
 > /usr/lib64/ld-linux-x86-64.so.2(__GI___close_nocancel+0xb) [0x2196b]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0xd7f) [0x92bf]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
openat(AT_FDCWD, "/usr/lib64/mpich/lib/libattr.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
 > /usr/lib64/ld-linux-x86-64.so.2(__GI___open_nocancel+0x38) [0x21aa8]
 > /usr/lib64/ld-linux-x86-64.so.2(open_verify.constprop.0+0x40) [0x6910]
 > /usr/lib64/ld-linux-x86-64.so.2(open_path+0x1c4) [0x71b4]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x367) [0x9f47]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
openat(AT_FDCWD, "/lib64/libattr.so.1", O_RDONLY|O_CLOEXEC) = 3
 > /usr/lib64/ld-linux-x86-64.so.2(__GI___open_nocancel+0x38) [0x21aa8]
 > /usr/lib64/ld-linux-x86-64.so.2(open_verify.constprop.0+0x40) [0x6910]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x417) [0x9ff7]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P%\0\0\0\0\0\0"..., 832) = 832
 > /usr/lib64/ld-linux-x86-64.so.2(__read_nocancel+0x8) [0x21af8]
 > /usr/lib64/ld-linux-x86-64.so.2(open_verify.constprop.0+0x84) [0x6954]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x417) [0x9ff7]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
newfstatat(3, "", {st_mode=S_IFREG|0755, st_size=28552, ...}, AT_EMPTY_PATH) = 0
 > /usr/lib64/ld-linux-x86-64.so.2(fstatat+0xe) [0x2186e]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x4c1) [0x8a01]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mmap(NULL, 28688, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fdf815a5000
 > /usr/lib64/ld-linux-x86-64.so.2(__mmap+0x26) [0x21c56]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x301) [0x8841]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mmap(0x7fdf815a7000, 12288, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7fdf815a7000
 > /usr/lib64/ld-linux-x86-64.so.2(__mmap+0x26) [0x21c56]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x456) [0x8996]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mmap(0x7fdf815aa000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5000) = 0x7fdf815aa000
 > /usr/lib64/ld-linux-x86-64.so.2(__mmap+0x26) [0x21c56]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x456) [0x8996]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mmap(0x7fdf815ab000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5000) = 0x7fdf815ab000
 > /usr/lib64/ld-linux-x86-64.so.2(__mmap+0x26) [0x21c56]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x456) [0x8996]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mmap(0x7fdf815ac000, 16, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fdf815ac000
 > /usr/lib64/ld-linux-x86-64.so.2(__mmap+0x26) [0x21c56]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0x1047) [0x9587]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
close(3)                                = 0
 > /usr/lib64/ld-linux-x86-64.so.2(__GI___close_nocancel+0xb) [0x2196b]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_from_fd+0xd7f) [0x92bf]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object+0x1ee) [0x9dce]
 > /usr/lib64/ld-linux-x86-64.so.2(openaux+0x34) [0xec24]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_catch_exception+0x6d) [0x1e70d]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_map_object_deps+0x43d) [0xf06d]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1cd1) [0x42a1]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fdf815a3000
 > /usr/lib64/ld-linux-x86-64.so.2(__mmap+0x26) [0x21c56]
 > /usr/lib64/ld-linux-x86-64.so.2(rtld_malloc+0xa0) [0x1dc50]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_check_map_versions+0x4ec) [0x121fc]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_check_all_versions+0x3e) [0x124de]
 > /usr/lib64/ld-linux-x86-64.so.2(version_check_doit+0x1b) [0x1cab]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_receive_error+0x31) [0x1e811]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1e46) [0x4416]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
arch_prctl(ARCH_SET_FS, 0x7fdf815a4480) = 0
 > /usr/lib64/ld-linux-x86-64.so.2(init_tls+0xeb) [0x1b6b]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x2bac) [0x517c]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
set_tid_address(0x7fdf815a4750)         = 2231526
 > /usr/lib64/ld-linux-x86-64.so.2(__tls_init_tp+0x52) [0x18792]
 > /usr/lib64/ld-linux-x86-64.so.2(init_tls+0xf3) [0x1b73]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x2bac) [0x517c]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
set_robust_list(0x7fdf815a4760, 24)     = 0
 > /usr/lib64/ld-linux-x86-64.so.2(__tls_init_tp+0xac) [0x187ec]
 > /usr/lib64/ld-linux-x86-64.so.2(init_tls+0xf3) [0x1b73]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x2bac) [0x517c]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mprotect(0x7fdf817a4000, 12288, PROT_READ) = 0
 > /usr/lib64/ld-linux-x86-64.so.2(__mprotect+0xb) [0x21d0b]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_protect_relro+0x44) [0xcd14]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_relocate_object+0xe17) [0xdc27]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x257c) [0x4b4c]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mprotect(0x7fdf815ab000, 4096, PROT_READ) = 0
 > /usr/lib64/ld-linux-x86-64.so.2(__mprotect+0xb) [0x21d0b]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_protect_relro+0x44) [0xcd14]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_relocate_object+0xe17) [0xdc27]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x257c) [0x4b4c]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mprotect(0x7fdf817bf000, 4096, PROT_READ) = 0
 > /usr/lib64/ld-linux-x86-64.so.2(__mprotect+0xb) [0x21d0b]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_protect_relro+0x44) [0xcd14]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_relocate_object+0xe17) [0xdc27]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x257c) [0x4b4c]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mprotect(0x7fdf817c4000, 4096, PROT_READ) = 0
 > /usr/lib64/ld-linux-x86-64.so.2(__mprotect+0xb) [0x21d0b]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_protect_relro+0x44) [0xcd14]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_relocate_object+0xe17) [0xdc27]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x257c) [0x4b4c]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mprotect(0x7fdf817cf000, 4096, PROT_READ) = 0
 > /usr/lib64/ld-linux-x86-64.so.2(__mprotect+0xb) [0x21d0b]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_protect_relro+0x44) [0xcd14]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_relocate_object+0xe17) [0xdc27]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x257c) [0x4b4c]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mprotect(0x7fdf817d5000, 4096, PROT_READ) = 0
 > /usr/lib64/ld-linux-x86-64.so.2(__mprotect+0xb) [0x21d0b]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_protect_relro+0x44) [0xcd14]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_relocate_object+0xe17) [0xdc27]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x257c) [0x4b4c]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mprotect(0x403000, 4096, PROT_READ)     = 0
 > /usr/lib64/ld-linux-x86-64.so.2(__mprotect+0xb) [0x21d0b]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_protect_relro+0x44) [0xcd14]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_relocate_object+0xe17) [0xdc27]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x257c) [0x4b4c]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
mprotect(0x7fdf8183f000, 8192, PROT_READ) = 0
 > /usr/lib64/ld-linux-x86-64.so.2(__mprotect+0xb) [0x21d0b]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_protect_relro+0x44) [0xcd14]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_relocate_object+0xe17) [0xdc27]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x27c8) [0x4d98]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
 > /usr/lib64/libc.so.6(__getrlimit+0x14) [0x106fa4]
 > /usr/lib64/libc.so.6(__libc_early_init+0x3b) [0x15a96b]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x23da) [0x49aa]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
munmap(0x7fdf817da000, 209131)          = 0
 > /usr/lib64/ld-linux-x86-64.so.2(munmap+0xb) [0x21cdb]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_unload_cache+0x2f) [0x1938f]
 > /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x240b) [0x49db]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
 > /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
 > no matching address range
prctl(PR_CAPBSET_READ, CAP_MAC_OVERRIDE) = 1
 > /usr/lib64/libc.so.6(prctl+0x51) [0x112381]
 > /usr/lib64/libcap.so.2.48(cap_get_bound+0x16) [0x3206]
 > /usr/lib64/libcap.so.2.48() [0x27b5]
 > /usr/lib64/ld-linux-x86-64.so.2(call_init+0xbd) [0x108ad]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_init+0x7b) [0x1099b]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start_user+0x31) [0x10c9]
 > no matching address range
prctl(PR_CAPBSET_READ, 0x30 /* CAP_??? */) = -1 EINVAL (Invalid argument)
 > /usr/lib64/libc.so.6(prctl+0x51) [0x112381]
 > /usr/lib64/libcap.so.2.48(cap_get_bound+0x16) [0x3206]
 > /usr/lib64/libcap.so.2.48() [0x27b5]
 > /usr/lib64/ld-linux-x86-64.so.2(call_init+0xbd) [0x108ad]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_init+0x7b) [0x1099b]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start_user+0x31) [0x10c9]
 > no matching address range
prctl(PR_CAPBSET_READ, CAP_CHECKPOINT_RESTORE) = 1
 > /usr/lib64/libc.so.6(prctl+0x51) [0x112381]
 > /usr/lib64/libcap.so.2.48(cap_get_bound+0x16) [0x3206]
 > /usr/lib64/libcap.so.2.48() [0x27b5]
 > /usr/lib64/ld-linux-x86-64.so.2(call_init+0xbd) [0x108ad]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_init+0x7b) [0x1099b]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start_user+0x31) [0x10c9]
 > no matching address range
prctl(PR_CAPBSET_READ, 0x2c /* CAP_??? */) = -1 EINVAL (Invalid argument)
 > /usr/lib64/libc.so.6(prctl+0x51) [0x112381]
 > /usr/lib64/libcap.so.2.48(cap_get_bound+0x16) [0x3206]
 > /usr/lib64/libcap.so.2.48() [0x27b5]
 > /usr/lib64/ld-linux-x86-64.so.2(call_init+0xbd) [0x108ad]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_init+0x7b) [0x1099b]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start_user+0x31) [0x10c9]
 > no matching address range
prctl(PR_CAPBSET_READ, 0x2a /* CAP_??? */) = -1 EINVAL (Invalid argument)
 > /usr/lib64/libc.so.6(prctl+0x51) [0x112381]
 > /usr/lib64/libcap.so.2.48(cap_get_bound+0x16) [0x3206]
 > /usr/lib64/libcap.so.2.48() [0x27b5]
 > /usr/lib64/ld-linux-x86-64.so.2(call_init+0xbd) [0x108ad]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_init+0x7b) [0x1099b]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start_user+0x31) [0x10c9]
 > no matching address range
prctl(PR_CAPBSET_READ, 0x29 /* CAP_??? */) = -1 EINVAL (Invalid argument)
 > /usr/lib64/libc.so.6(prctl+0x51) [0x112381]
 > /usr/lib64/libcap.so.2.48(cap_get_bound+0x16) [0x3206]
 > /usr/lib64/libcap.so.2.48() [0x27b5]
 > /usr/lib64/ld-linux-x86-64.so.2(call_init+0xbd) [0x108ad]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_init+0x7b) [0x1099b]
 > /usr/lib64/ld-linux-x86-64.so.2(_dl_start_user+0x31) [0x10c9]
 > no matching address range
write(2, "insufficient arguments\n", 23insufficient arguments
) = 23
 > /usr/lib64/libc.so.6(__write+0x17) [0x101a57]
 > /usr/lib64/libc.so.6(_IO_file_write@@GLIBC_2.2.5+0x2c) [0x856bc]
 > /usr/lib64/libc.so.6(new_do_write+0x65) [0x84a35]
 > /usr/lib64/libc.so.6(_IO_file_xsputn@@GLIBC_2.2.5+0x16d) [0x85d8d]
 > /usr/lib64/libc.so.6(_IO_fwrite+0xb6) [0x7ae16]
 > /root/xfstests-dev/src/ext4_resize(main+0x36) [0x4010d6]
 > /usr/lib64/libc.so.6(__libc_start_call_main+0x7f) [0x2d55f]
 > /usr/lib64/libc.so.6(__libc_start_main@@GLIBC_2.34+0x7b) [0x2d60b]
 > /root/xfstests-dev/src/ext4_resize(_start+0x24) [0x4011b4]
exit_group(1)                           = ?
+++ exited with 1 +++
 > /usr/lib64/libc.so.6(_exit+0x31) [0xdd6f1]
 > /usr/lib64/libc.so.6(__run_exit_handlers+0x1c1) [0x44e81]
 > /usr/lib64/libc.so.6(exit+0x1f) [0x44f3f]
 > /usr/lib64/libc.so.6(__libc_start_call_main+0x86) [0x2d566]
 > /usr/lib64/libc.so.6(__libc_start_main@@GLIBC_2.34+0x7b) [0x2d60b]
 > /root/xfstests-dev/src/ext4_resize(_start+0x24) [0x4011b4]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH] src/ext4_resize.c: set errno to 0 before the strtoull call
  2022-01-19  6:14           ` xuyang2018.jy
@ 2022-01-19  7:19             ` xuyang2018.jy
  2022-01-19 13:57               ` Cristian Rodríguez
  0 siblings, 1 reply; 21+ messages in thread
From: xuyang2018.jy @ 2022-01-19  7:19 UTC (permalink / raw)
  To: morgan
  Cc: xuyang2018.jy, Florian Weimer, Theodore Ts'o, fstests, libc-alpha

Hi Andrew

errno doesn't be initialized to 0 when c program link with lcap since
libcap-2.30 (commit f1f62a748d7c Refactor the way we do the psx linkage
in libcap introduced this bug.)

The c example code as below:
-------------------------------------------
#include <stdio.h>
#include <errno.h>

int main(int argc, char **argv)
{
        printf("errno %d\n", errno);
        return 0;
}
---------------------------------------

#gcc test.c -lcap -o test
#./test
errno 1

Best Regards
Yang Xu
> on 2022/1/18 22:02, Florian Weimer wrote:
>> * xuyang2018.jy:
>>
>>> on 2022/1/18 11:56, Theodore Ts'o wrote:
>>>> On Tue, Jan 18, 2022 at 02:43:26AM +0000, xuyang2018.jy@fujitsu.com wrote:
>>>>>> You're right of course, but out of curiosity, which C library are you
>>>>>> using?
>>>>> I use glibc-2.34.
>>>>
>>>> Hmm, ok.  I'm using glibc 2.31, and in this particular program, errno
>>>> shouldn't have been set by any prior system call.  I'm guessing maybe
>>>> it was something in crt0 which ended up setting errno?
>>> It maybe a glibc bug.
>>> I cc glibc mailing list and see whether they have met this problem.
>>>
>>> @Florian
>>>
>>> Now, I use glibc-2.34 and run the following program[1] but the errno is
>>> not 0 in the beginning. So is this a known bug on glibc-2.34(Theodore
>>> doesn't meet this problem on glicb-2.31)?
>>>
>>> [1]https://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git/tree/src/ext4_resize.c
>>
>> I'm not aware of this issue.  Could you run strace or strace -k to see
>> where the failing system call is coming from?  Thanks.
> Even before open call, errno is also 1.
> 
> The strace output see attachment.
> 
> I found the following difference(compare with glibc-2.28, search 'err'
> keywords)
> 
> bad(glibc-2.34):
> 
> map(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
> = 0x7fdf815a3000
>   >  /usr/lib64/ld-linux-x86-64.so.2(__mmap+0x26) [0x21c56]
>   >  /usr/lib64/ld-linux-x86-64.so.2(rtld_malloc+0xa0) [0x1dc50]
>   >  /usr/lib64/ld-linux-x86-64.so.2(_dl_check_map_versions+0x4ec) [0x121fc]
>   >  /usr/lib64/ld-linux-x86-64.so.2(_dl_check_all_versions+0x3e) [0x124de]
>   >  /usr/lib64/ld-linux-x86-64.so.2(version_check_doit+0x1b) [0x1cab]
>   >  /usr/lib64/ld-linux-x86-64.so.2(_dl_receive_error+0x31) [0x1e811]
>   >  /usr/lib64/ld-linux-x86-64.so.2(dl_main+0x1e46) [0x4416]
>   >  /usr/lib64/ld-linux-x86-64.so.2(_dl_sysdep_start+0x3f6) [0x1d696]
>   >  /usr/lib64/ld-linux-x86-64.so.2(_dl_start+0x217) [0x2097]
>   >  /usr/lib64/ld-linux-x86-64.so.2(_start+0x7) [0x1097]
>   >  no matching address range
> arch_prctl(ARCH_SET_FS, 0x7fdf815a4480) = 0
> 
> good(glibc-2.28):
> 
> map(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
> = 0x7febd628b000
>   >  /usr/lib64/ld-2.28.so(__mmap+0x47) [0x1c377]
>   >  /usr/lib64/ld-2.28.so(malloc+0x8a) [0x1a94a]
>   >  /usr/lib64/ld-2.28.so(_dl_allocate_tls_storage+0x23) [0x12ac3]
>   >  /usr/lib64/ld-2.28.so(init_tls+0xa5) [0x1da5]
>   >  /usr/lib64/ld-2.28.so(dl_main+0x2c6d) [0x51ed]
>   >  /usr/lib64/ld-2.28.so(_dl_sysdep_start+0x48e) [0x1a14e]
>   >  /usr/lib64/ld-2.28.so(_dl_start+0x275) [0x2135]
>   >  /usr/lib64/ld-2.28.so(_start+0x7) [0x1087]
>   >  No DWARF information found
> arch_prctl(ARCH_SET_FS, 0x7febd628b740) = 0
> 
> Also if use gcc to compile this c program directly instead of using make
> in xfstests testsuite,  the errno value is normal(0).
> 
> After tried, I found if using the following command, errno is still 0
> gcc ext4_resize.c -g -O2  -D_GNU_SOURCE   -D_FILE_OFFSET_BITS=64
> -funsigned-char -fno-strict-aliasing  -Wall -o ext4_resize
> 
> But if I used link with lcap, then errno becomes 1 in the beginning.
> 
> Even I use lastest upstream libcap, this problem still occurs.
> 
> I am still looking into it .
> 
> Best Regards
> Yang Xu
> 
>>
>> Florian
>>
> 

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH] src/ext4_resize.c: set errno to 0 before the strtoull call
  2022-01-19  2:07           ` xuyang2018.jy
@ 2022-01-19  8:23             ` Andreas Schwab
  0 siblings, 0 replies; 21+ messages in thread
From: Andreas Schwab @ 2022-01-19  8:23 UTC (permalink / raw)
  To: xuyang2018.jy; +Cc: Theodore Ts'o, fweimer, fstests, libc-alpha

On Jan 19 2022, xuyang2018.jy@fujitsu.com wrote:

> I just tried, the errno is 1 before open syscall.

Worksforme.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510  2552 DF73 E780 A9DA AEC1
"And now for something completely different."

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH] src/ext4_resize.c: set errno to 0 before the strtoull call
  2022-01-19  7:19             ` xuyang2018.jy
@ 2022-01-19 13:57               ` Cristian Rodríguez
  2022-01-19 14:07                 ` Cristian Rodríguez
  0 siblings, 1 reply; 21+ messages in thread
From: Cristian Rodríguez @ 2022-01-19 13:57 UTC (permalink / raw)
  To: xuyang2018.jy
  Cc: morgan, Florian Weimer, Theodore Ts'o, libc-alpha, fstests

On Wed, Jan 19, 2022 at 4:20 AM xuyang2018.jy--- via Libc-alpha
<libc-alpha@sourceware.org> wrote:
>
> Hi Andrew
>
> errno doesn't be initialized to 0 when c program link with lcap since
> libcap-2.30 (commit f1f62a748d7c Refactor the way we do the psx linkage
> in libcap introduced this bug.)
>
> The c example code as below:
> -------------------------------------------
> #include <stdio.h>
> #include <errno.h>
>
> int main(int argc, char **argv)
> {
>         printf("errno %d\n", errno);
>         return 0;
> }
> ---------------------------------------
>
> #gcc test.c -lcap -o test
> #./test
> errno 1
>

Yes, that reproduces the problem, quite well. (link with
-Wl,--no-as-needed if it does not trigger the bug for you)

This is not a glibc problem though, looks like lcap is clobbering
errno. I'd bet good CLP on the code called in
__attribute__((constructor (300))) static void _initialize_libcap(void) .
I strongly suggest not to use constructors on shared libraries unless
all the components using the library are in your control and you are
sure constructors will not ruin some other application's day.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH] src/ext4_resize.c: set errno to 0 before the strtoull call
  2022-01-19 13:57               ` Cristian Rodríguez
@ 2022-01-19 14:07                 ` Cristian Rodríguez
  2022-01-19 14:50                   ` Andrew G. Morgan
  0 siblings, 1 reply; 21+ messages in thread
From: Cristian Rodríguez @ 2022-01-19 14:07 UTC (permalink / raw)
  To: xuyang2018.jy
  Cc: morgan, Florian Weimer, Theodore Ts'o, libc-alpha, fstests

On Wed, Jan 19, 2022 at 10:57 AM Cristian Rodríguez
<crrodriguez@opensuse.org> wrote:

> This is not a glibc problem though, looks like lcap is clobbering
> errno. I'd bet good CLP on the code called in
> __attribute__((constructor (300))) static void _initialize_libcap(void) .
> I strongly suggest not to use constructors on shared libraries unless
> all the components using the library are in your control and you are
> sure constructors will not ruin some other application's day.

__attribute__((constructor (300))) static void _initialize_libcap(void)
{
    if (_cap_max_bits) {
        return;
    }
    cap_set_syscall(NULL, NULL);  --> nope
    _binary_search(_cap_max_bits, cap_get_bound, 0, __CAP_MAXBITS,
__CAP_BITS); --> 🤔
    cap_proc_root("/proc");
}

do, what cap_get_bound does ?

int cap_get_bound(cap_value_t cap)
{
    int result;

    result = prctl(PR_CAPBSET_READ, pr_arg(cap), pr_arg(0));
    if (result < 0) {
        errno = -result; --> If all my bets paid , I would be rich..
here is your 1
        return -1;
    }
    return result;
}

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH] src/ext4_resize.c: set errno to 0 before the strtoull call
  2022-01-19 14:07                 ` Cristian Rodríguez
@ 2022-01-19 14:50                   ` Andrew G. Morgan
  2022-01-19 20:13                     ` Theodore Ts'o
  0 siblings, 1 reply; 21+ messages in thread
From: Andrew G. Morgan @ 2022-01-19 14:50 UTC (permalink / raw)
  To: Cristian Rodríguez
  Cc: xuyang2018.jy, Florian Weimer, Theodore Ts'o, libc-alpha, fstests

Thanks for finding this.

Fixed in:

https://git.kernel.org/pub/scm/libs/libcap/libcap.git/commit/?id=f25a1b7e69f7b33e6afb58b3e38f3450b7d2d9a0

Cheers

Andrew

On Wed, Jan 19, 2022 at 6:08 AM Cristian Rodríguez
<crrodriguez@opensuse.org> wrote:
>
> On Wed, Jan 19, 2022 at 10:57 AM Cristian Rodríguez
> <crrodriguez@opensuse.org> wrote:
>
> > This is not a glibc problem though, looks like lcap is clobbering
> > errno. I'd bet good CLP on the code called in
> > __attribute__((constructor (300))) static void _initialize_libcap(void) .
> > I strongly suggest not to use constructors on shared libraries unless
> > all the components using the library are in your control and you are
> > sure constructors will not ruin some other application's day.
>
> __attribute__((constructor (300))) static void _initialize_libcap(void)
> {
>     if (_cap_max_bits) {
>         return;
>     }
>     cap_set_syscall(NULL, NULL);  --> nope
>     _binary_search(_cap_max_bits, cap_get_bound, 0, __CAP_MAXBITS,
> __CAP_BITS); --> 🤔
>     cap_proc_root("/proc");
> }
>
> do, what cap_get_bound does ?
>
> int cap_get_bound(cap_value_t cap)
> {
>     int result;
>
>     result = prctl(PR_CAPBSET_READ, pr_arg(cap), pr_arg(0));
>     if (result < 0) {
>         errno = -result; --> If all my bets paid , I would be rich..
> here is your 1
>         return -1;
>     }
>     return result;
> }

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [PATCH] src/ext4_resize.c: set errno to 0 before the strtoull call
  2022-01-19 14:50                   ` Andrew G. Morgan
@ 2022-01-19 20:13                     ` Theodore Ts'o
  0 siblings, 0 replies; 21+ messages in thread
From: Theodore Ts'o @ 2022-01-19 20:13 UTC (permalink / raw)
  To: Andrew G. Morgan
  Cc: Cristian Rodríguez, xuyang2018.jy, Florian Weimer,
	libc-alpha, fstests

On Wed, Jan 19, 2022 at 06:50:41AM -0800, Andrew G. Morgan wrote:
> Thanks for finding this.
> 
> Fixed in:
> 
> https://git.kernel.org/pub/scm/libs/libcap/libcap.git/commit/?id=f25a1b7e69f7b33e6afb58b3e38f3450b7d2d9a0

Thanks!

FWIW, I agree that we should not have depended on it being initialized
to zero at the beginning program.  It was just wierd since it wasn't,
and I was wondering if it was some exotic (musl, dietlibc) C library
that was triggering it --- and then was surprised when it turned out
to be glibc.

The Jon Postel principle of "Be conservaive in what you send, and
liberal in what you accept" is good one to follow, so while it's nice
to some userspace programs that might not be as well-behaved as to not
depend on the status of errno when main() is called, we should fix the
calling program in xfstests as well.

Cheers,

						- Ted

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2022-01-19 20:13 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <1642405014-3287-1-git-send-email-xuyang2018.jy@fujitsu.com>
     [not found] ` <YeYmzJG5M0y9BcMc@mit.edu>
     [not found]   ` <61E6298D.80006@fujitsu.com>
     [not found]     ` <YeY6Uh8I7RlsCicw@mit.edu>
2022-01-18  5:27       ` [PATCH] src/ext4_resize.c: set errno to 0 before the strtoull call xuyang2018.jy
2022-01-18 11:23         ` Adhemerval Zanella
2022-01-18 11:26           ` Florian Weimer
2022-01-18 11:49             ` Adhemerval Zanella
2022-01-18 12:00               ` Florian Weimer
2022-01-18 12:04               ` Andreas Schwab
2022-01-18 12:26                 ` Adhemerval Zanella
2022-01-18 14:02         ` Florian Weimer
2022-01-19  6:14           ` xuyang2018.jy
2022-01-19  7:19             ` xuyang2018.jy
2022-01-19 13:57               ` Cristian Rodríguez
2022-01-19 14:07                 ` Cristian Rodríguez
2022-01-19 14:50                   ` Andrew G. Morgan
2022-01-19 20:13                     ` Theodore Ts'o
2022-01-18 14:22         ` Andreas Schwab
2022-01-18 14:29           ` H.J. Lu
2022-01-18 14:43             ` Yann Droneaud
2022-01-18 14:54               ` H.J. Lu
2022-01-18 15:30                 ` Andreas Schwab
2022-01-19  2:07           ` xuyang2018.jy
2022-01-19  8:23             ` Andreas Schwab

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).