bug#24516:

2016-09-22 Thread Jim Meyering
Nelson Beebe reported that the backref-multibyte-slow test was
failing. From his log, where I saw max_seconds=1, and the following
timeout 1s ... timed out.

I concluded that something (load on the underlying system, disk/kernel
latency) caused that final grep to take far more wall-clock time than
the former one. This would be expected if some other build/test were
running concurrently.

To work around that, I've written the attached: when the timeout would
be just 1s, increase it to 3. In coreutils tests (because there are so
many, and some were so abusive, and running them in parallel...), we
ended up increasing most timeouts to 10s, but for now, that seems like
it'd be overkill here.

I have so far been able to reproduce that failure, so the above is
just an educated guess. If someone can reproduce the failure and test
the patch, that'd be great.


grep-unwarranted-failure-of-backref-multibyte-slow.diff
Description: Binary data


bug#24505: getprogname vs. AIX [was: new snapshot available: grep-2.25.92-f3e9

2016-09-22 Thread Jim Meyering
On Thu, Sep 22, 2016 at 9:14 AM, Jim Meyering  wrote:
> On Thu, Sep 22, 2016 at 7:49 AM, Assaf Gordon  wrote:
...
> Thank you, Assaf.
> Good catch. I've made that correction and pushed to gnulib.

I have also pushed a grep commit to make it use the latest from gnulib:

  
http://git.savannah.gnu.org/cgit/grep.git/commit/?id=4a86a5e728ae0152048dd9a65d681f324c8aea17

With that, building on AIX should at least get past that compilation failure.





bug#24505: getprogname vs. AIX [was: new snapshot available: grep-2.25.92-f3e9

2016-09-22 Thread Jim Meyering
On Thu, Sep 22, 2016 at 7:49 AM, Assaf Gordon  wrote:
> Hello Jim,
>
> On 09/22/2016 12:25 AM, Jim Meyering wrote:
>>
>> Gordon reported this off-list:
>>
>> On AIX-7.1 32bit, compilation fails due to gnulib's new 'getprogname'
>> module:
>>  CC   getprogname.o
>>  getprogname.c: In function 'getprogname':
>>  getprogname.c:45:4: error: #error "getprogname module not ported to
>> this
>> OS"
>>  #  error "getprogname module not ported to this OS"
>>
>>
>> Thanks again for that report.
>> Here is a tentative patch (let's call it "pragmatic" -- it tests
>> explicitly for _AIX rather than a feature-test macro like
>> HAVE_GETPROCS64 and an additional macro from an autoconf test for the
>> existence of the procinfo.h header).
>>
>> Can someone let me know if this solves the problem?
>
>
> Sorry for not following up on that...
>
> The patch does not apply cleanly, I suspect you have a newer gnulib version
> than what's in
> grep's git repo (the patch's ChangeLog has an entry from Sep 16):
>
>   $ git id
>   v2.25-93-gdd6936c
>   $ cd gnulib
>   $ git id
>   v0.1-880-ga512e04
>   $ git am < ~/Downloads/gnulib-AIX-getprogname.diff
>   Applying: getprogname: port to AIX
>   error: patch failed: ChangeLog:1
>   error: ChangeLog: patch does not apply
>   Patch failed at 0001 getprogname: port to AIX
>   The copy of the patch that failed is found in:
> /home/gordon/projects/grep/.git/modules/gnulib/rebase-apply/patch
>   When you have resolved this problem, run "git am --continue".
>   If you prefer to skip this patch, run "git am --skip" instead.
>
> I patched 'lib/getprogname.c' directly, and compilation (on AIX) fails with:
>
> CC   getprogname.o
>   getprogname.c:74:1: error: expected identifier or '(' before '}' token
>}
>^
>   make: 1254-004 The error code from the last command is 1.
>
> Indeed there's an extra closing braces in line 74.
> After removing it, compilation succeeds with AIX 32bit (haven't been able to
> compile in 64bit yet, but that's not due to grep's code. I'll try again
> later tonight).

Thank you, Assaf.
Good catch. I've made that correction and pushed to gnulib.





bug#24505: getprogname vs. AIX [was: new snapshot available: grep-2.25.92-f3e9

2016-09-22 Thread Assaf Gordon

Hello Jim,

On 09/22/2016 12:25 AM, Jim Meyering wrote:

Gordon reported this off-list:


On AIX-7.1 32bit, compilation fails due to gnulib's new 'getprogname'
module:
 CC   getprogname.o
 getprogname.c: In function 'getprogname':
 getprogname.c:45:4: error: #error "getprogname module not ported to this
OS"
 #  error "getprogname module not ported to this OS"


Thanks again for that report.
Here is a tentative patch (let's call it "pragmatic" -- it tests
explicitly for _AIX rather than a feature-test macro like
HAVE_GETPROCS64 and an additional macro from an autoconf test for the
existence of the procinfo.h header).

Can someone let me know if this solves the problem?


Sorry for not following up on that...

The patch does not apply cleanly, I suspect you have a newer gnulib version 
than what's in
grep's git repo (the patch's ChangeLog has an entry from Sep 16):

  $ git id
  v2.25-93-gdd6936c
  $ cd gnulib
  $ git id
  v0.1-880-ga512e04
  $ git am < ~/Downloads/gnulib-AIX-getprogname.diff
  Applying: getprogname: port to AIX
  error: patch failed: ChangeLog:1
  error: ChangeLog: patch does not apply
  Patch failed at 0001 getprogname: port to AIX
  The copy of the patch that failed is found in: 
/home/gordon/projects/grep/.git/modules/gnulib/rebase-apply/patch
  When you have resolved this problem, run "git am --continue".
  If you prefer to skip this patch, run "git am --skip" instead.

I patched 'lib/getprogname.c' directly, and compilation (on AIX) fails with:

CC   getprogname.o
  getprogname.c:74:1: error: expected identifier or '(' before '}' token
   }
   ^
  make: 1254-004 The error code from the last command is 1.

Indeed there's an extra closing braces in line 74.
After removing it, compilation succeeds with AIX 32bit (haven't been able to 
compile in 64bit yet, but that's not due to grep's code. I'll try again later 
tonight).

regards,
 - assaf