You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by Branko Čibej <br...@apache.org> on 2017/11/04 22:29:21 UTC

Re: buildbot failure in on apr-x64-macosx-trunk

On 04.11.2017 23:03, buildbot@apache.org wrote:
> The Buildbot has detected a new failure on builder apr-x64-macosx-trunk while building . Full details are available at:
>     https://ci.apache.org/builders/apr-x64-macosx-trunk/builds/49
>
> Buildbot URL: https://ci.apache.org/
>
> Buildslave for this Build: svn-x64-macosx-dgvrs
>
> Build Reason: The AnyBranchScheduler scheduler named 'on-apr-commit' triggered this build
> Build Source Stamp: [branch apr/apr/trunk] 1814326
> Blamelist: ylavic
>
> BUILD FAILED: failed Build
>
> Sincerely,
>  -The Buildbot

From the buildbot log:

...
checking for getrandom... no
...
checking whether SYS_getrandom is declared... no
checking for arc4random_buf... yes
checking for entropy source... arc4random
...
/bin/sh /Volumes/apr-x64-macosx-trunk/libtool --silent --mode=compile clang -g -O2   -DHAVE_CONFIG_H  -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -DDARWIN_10   -I./include -I/srv/buildbot/slave/apr-x64-macosx-trunk/build/include/arch/unix -I./include/arch/unix -I/srv/buildbot/slave/apr-x64-macosx-trunk/build/include/arch/unix -I/srv/buildbot/slave/apr-x64-macosx-trunk/build/include -I/srv/buildbot/slave/apr-x64-macosx-trunk/build/include/private -I/Volumes/apr-x64-macosx-trunk/include/private  -o misc/unix/start.lo -c /srv/buildbot/slave/apr-x64-macosx-trunk/build/misc/unix/start.c && touch misc/unix/start.lo
/srv/buildbot/slave/apr-x64-macosx-trunk/build/misc/unix/rand.c:117:14: warning: implicit declaration of function 'getrandom' is invalid in C99 [-Wimplicit-function-declaration]
        rc = getrandom(buf, length, GRND_NONBLOCK);
             ^
/srv/buildbot/slave/apr-x64-macosx-trunk/build/misc/unix/rand.c:117:37: error: use of undeclared identifier 'GRND_NONBLOCK'
        rc = getrandom(buf, length, GRND_NONBLOCK);
                                    ^
1 warning and 1 error generated.


From apr_private.h:

#define HAVE_ARC4RANDOM_BUF 1
...
#define HAVE_DECL_SYS_GETRANDOM 0
...
/* #undef HAVE_GETRANDOM */


This looks like fallout from r1814326. This part is clearly wrong:

http://svn.apache.org/viewvc/apr/apr/trunk/misc/unix/rand.c?r1=1814326&r2=1814325&pathrev=1814326


The presence of the <sys/random.h> header does *not* mean that you can
use getrandom(); you always have to check HAVE_GETRANDOM explicitly. The
correct check is probably this:

#if defined(HAVE_SYS_RANDOM_H) && HAVE_GETRANDOM
#include <sys/random.h>
#define USE_GETRANDOM
#else ...


Interestingly enough, if this check were correct, APR would choose
arc4random_buf() on OSX 10.12, i.e., it would make use of stsp's patch.


-- Brane

Re: buildbot failure in on apr-x64-macosx-trunk

Posted by Branko Čibej <br...@apache.org>.
On 04.11.2017 23:49, Yann Ylavic wrote:
> On Sat, Nov 4, 2017 at 11:29 PM, Branko Čibej <br...@apache.org> wrote:
>> On 04.11.2017 23:03, buildbot@apache.org wrote:
>>> The Buildbot has detected a new failure on builder apr-x64-macosx-trunk while building . Full details are available at:
>>>     https://ci.apache.org/builders/apr-x64-macosx-trunk/builds/49
> []
>> This looks like fallout from r1814326. This part is clearly wrong:
>>
>> http://svn.apache.org/viewvc/apr/apr/trunk/misc/unix/rand.c?r1=1814326&r2=1814325&pathrev=1814326
>>
>>
>> The presence of the <sys/random.h> header does *not* mean that you can
>> use getrandom(); you always have to check HAVE_GETRANDOM explicitly. The
>> correct check is probably this:
>>
>> #if defined(HAVE_SYS_RANDOM_H) && HAVE_GETRANDOM
>> #include <sys/random.h>
>> #define USE_GETRANDOM
>> #else ...
> Thanks for the review!
>
> Fixed in r1814329 (hopefully).

You beat me to it, I was just testing a similar solution locally when
your commit came in.

>> Interestingly enough, if this check were correct, APR would choose
>> arc4random_buf() on OSX 10.12, i.e., it would make use of stsp's patch.
> I did not mean to force everyone to use latest Linux, I swear :)

Yeah, right, not as far as we know ... :)

-- Brane

Re: buildbot failure in on apr-x64-macosx-trunk

Posted by Yann Ylavic <yl...@gmail.com>.
On Sat, Nov 4, 2017 at 11:29 PM, Branko Čibej <br...@apache.org> wrote:
> On 04.11.2017 23:03, buildbot@apache.org wrote:
>> The Buildbot has detected a new failure on builder apr-x64-macosx-trunk while building . Full details are available at:
>>     https://ci.apache.org/builders/apr-x64-macosx-trunk/builds/49
[]
>
> This looks like fallout from r1814326. This part is clearly wrong:
>
> http://svn.apache.org/viewvc/apr/apr/trunk/misc/unix/rand.c?r1=1814326&r2=1814325&pathrev=1814326
>
>
> The presence of the <sys/random.h> header does *not* mean that you can
> use getrandom(); you always have to check HAVE_GETRANDOM explicitly. The
> correct check is probably this:
>
> #if defined(HAVE_SYS_RANDOM_H) && HAVE_GETRANDOM
> #include <sys/random.h>
> #define USE_GETRANDOM
> #else ...

Thanks for the review!

Fixed in r1814329 (hopefully).

>
> Interestingly enough, if this check were correct, APR would choose
> arc4random_buf() on OSX 10.12, i.e., it would make use of stsp's patch.

I did not mean to force everyone to use latest Linux, I swear :)


Regards,
Yann.