[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: lightning 2.2.3 test failure on macos
From: |
Paulo César Pereira de Andrade |
Subject: |
Re: lightning 2.2.3 test failure on macos |
Date: |
Mon, 2 Sep 2024 17:48:05 -0300 |
Em seg., 2 de set. de 2024 às 17:16, Rui <rui@chenrui.dev> escreveu:
>
> Hi,
Hi,
> This is Rui, a homebrew maintainer, I ran into some regression test
> failure with the 2.2.3 release for OSX runners (related PR,
> https://github.com/Homebrew/homebrew-core/pull/162158), I think it
> might be Apple's System Integrity Protection related.
I just tested again, to be 100% certain:
$ uname -a
Darwin cfarm104.cfarm.net 21.6.0 Darwin Kernel Version 21.6.0: Mon Aug
22 20:20:05 PDT 2022; root:xnu-8020.140.49~2/RELEASE_ARM64_T8101 arm64
$ tar zxf lightning-2.2.2.tar.gz
$ cd lightning-2.2.3
$ ./configure --enable-assertions
...
$ make check
...
============================================================================
Testsuite summary for GNU lightning 2.2.3
============================================================================
# TOTAL: 79
# PASS: 79
# SKIP: 0
# XFAIL: 0
# FAIL: 0
# XPASS: 0
# ERROR: 0
============================================================================
...
> Let me know if I need to provide more information.
I do not know how homebrew works. Maybe it is some step specific to
homebrew, or security related indeed, possibly related to newer versions.
Please check if you can build it as I did above. Should need only clang
and libc headers for a minimal build. After making sure it builds, next step
is to debug what is wrong in homebrew.
It is possible that newer versions have different rules for mmap and exec
permission. At least for OpenBSD and NetBSD I did need to adapt code
recently. It might also be some system wide permission to only allow known
binaries to execute dynamically generated code. One such example was
not too long ago was Selinux did only allow binaries that were added to an
exception rule to be able to map executable memory (and execute that code);
nowadays the default is to allow it.
> Thanks,
> Rui
Thanks!
Paulo