Apple's Ventura OS issue with RSB.

Karel Gardas karel at functional.vision
Tue Nov 8 09:15:05 UTC 2022


More info on this issue:

(1) the issue (internal compiler error) does not happen all the time. In 
fact there are builds which even complete. The ratio failure/ok is 10/30 
so far -- building in a loop 6/rtems-sparc.

(2) attempt to bootstrap with GCC failed even more miserably. At least 
with GCC 12.x I installed from homebrew. The symptoms are fork sys call 
failing and a lot of processes created during the configure stage of 
various packages in a manner that it's too much. Basically RSB's 
packages' configure scripts are a fork bomb for whatever reason here on 
Ventura when attempting to use homebrew GCC 12.x. See below.

Due to nature of unpredictability this is not something worth reporting 
to GCC team now IMHO. We need to investigate more.

Ryan, if I'm not mistaken you have M1 mini for RTEMS builds, is that 
right? If so, do you still have Monterey on it? If so, could you be so 
kind and loop building of RSB's 6/rtems-sparc and allow it run for some 
time to see if by any mistake we have not overlooked the same stability 
issues on Monterey too? Let's say 1-2 days run should be enough to tell 
us more or give us some confidence if all builds pass well.

What I did to my clean config in order to compile RSB is:

- install xz (from homebrew is fine), side effect of this is you will 
get Apple's command line developer tools installed too -- which you need.

- compile python3.10 from source -- you need to enable SSL on it 
otherwise RSB would not be able to download from https.

- set paths to those two and run RSB

Nothing more was needed on Monterey in order to RSB compile...

Thanks!
Karel



Fork issues (example):

checking whether strtoull is declared... no
checking whether strverscmp is declared... no
checking whether strnlen is declared... no
checking whether canonicalize_file_name must be declared... yes
checking for stdlib.h... (cached) yes
/Users/karel/src/macosx-fix-sis/rtems/build/arm-rtems6-gdb-11.2-arm64-apple-darwin22.1.0-1/gdb-11.2/libiberty/configure: 
fork: Resource temporarily unavailable
checking for unistd.h... (cached) yes
/Users/karel/src/macosx-fix-sis/rtems/build/arm-rtems6-gdb-11.2-arm64-apple-darwin22.1.0-1/gdb-11.2/libiberty/configure: 
fork: Resource temporarily unavailable
checking for sys/param.h... (cached) yes
/Users/karel/src/macosx-fix-sis/rtems/build/arm-rtems6-gdb-11.2-arm64-apple-darwin22.1.0-1/gdb-11.2/libiberty/configure: 
fork: Resource temporarily unavailable
checking for getpagesize... (cached) yes
checking for working mmap... no
checking for working strncmp... no
/Users/karel/src/macosx-fix-sis/rtems/build/arm-rtems6-gdb-11.2-arm64-apple-darwin22.1.0-1/gdb-11.2/libiberty/configure: 
fork: Resource temporarily unavailable
/Users/karel/src/macosx-fix-sis/rtems/build/arm-rtems6-gdb-11.2-arm64-apple-darwin22.1.0-1/gdb-11.2/libiberty/configure: 
fork: Resource temporarily unavailable
configure: updating cache ./config.cache
configure: creating ./config.status
/Users/karel/src/macosx-fix-sis/rtems/build/arm-rtems6-gdb-11.2-arm64-apple-darwin22.1.0-1/gdb-11.2/libiberty/configure: 
fork: Resource temporarily unavailable
./config.status: fork: Resource temporarily unavailable
./config.status: fork: Resource temporarily unavailable
/Users/karel/src/macosx-fix-sis/rtems/build/arm-rtems6-gdb-11.2-arm64-apple-darwin22.1.0-1/gdb-11.2/libiberty/configure: 
fork: Resource temporarily unavailable
/Users/karel/src/macosx-fix-sis/rtems/build/arm-rtems6-gdb-11.2-arm64-apple-darwin22.1.0-1/gdb-11.2/libiberty/configure: 
fork: Resource temporarily unavailable
make[1]: *** [configure-libiberty] Error 1
rm: conftest.dSYM: is a directory
BSD nm
checking whether ln -s works... yes



On 11/6/22 16:09, Joel Sherrill wrote:
> Is the cross gcc compiled with the native compiler provided by Apple? 
> The alternative would likely be you installing something special.
> 
> I wonder if using gcc to compile it would work. But there's not a real 
> solution.
> 
> Seems like an issue which needs reporting to gcc.
> 
> On Sun, Nov 6, 2022, 5:25 AM Karel Gardas <karel at functional.vision> wrote:
> 
> 
>        Folks,
> 
>     upgraded to Ventura from Monterey and this breaks RSB for unknown
>     reason. The issue looks like segfault/internal compiler error in GCC
>     while compiling newlib.
> 
>     6/rtems-sparc:
> 
>         CC       libc/stdlib/libc_a-strtoll_r.o
>         CC       libm/complex/libm_a-cpowf.o
>     ../../../../gnu-mirror-gcc-a5a6598/newlib/libm/complex/cexpf.c: In
>     function 'cexpf':
>     ../../../../gnu-mirror-gcc-a5a6598/newlib/libm/complex/cexpf.c:47:9:
>     internal compiler error: Segmentation fault: 11
>          47 |         w = r * cosf(y) + r * sinf(y) * I;
>             |         ^
>     libbacktrace could not find executable to open
>     Please submit a full bug report, with preprocessed source (by using
>     -freport-bug).
>     See <https://gcc.gnu.org/bugs/ <https://gcc.gnu.org/bugs/>> for
>     instructions.
>     make[6]: *** [libm/complex/libm_a-cexpf.o] Error 1
>     make[6]: *** Waiting for unfinished jobs....
>         CC       libc/stdlib/libc_a-strtoull_r.o
>         CC       libc/stdlib/libc_a-wcstoll.o
>         CC       libc/stdlib/libc_a-wcstoll_r.o
>         CC       libc/stdlib/libc_a-wcstoull.o
>         CC       libc/stdlib/libc_a-wcstoull_r.o
>         CC       libc/stdlib/libc_a-atoll.o
>     make[5]: *** [all] Error 2
>     make[4]: *** [multi-do] Error 1
>     make[3]: *** [all-multi] Error 2
>     make[3]: *** Waiting for unfinished jobs....
> 
> 
> 
>     6/rtems-arm:
> 
>         CC       libm/common/libm_a-s_isinf.o
>         CC       libm/common/libm_a-s_isinfd.o
>     ../../../../../../gnu-mirror-gcc-a5a6598/newlib/libm/common/s_expm1.c:
>     In function 'expm1':
>         CC       libm/common/libm_a-s_isnan.o
>     ../../../../../../gnu-mirror-gcc-a5a6598/newlib/libm/common/s_expm1.c:225:9:
>     internal compiler error: in real_from_string, at real.cc:2131
>         225 |         hfx = 0.5*x;
>             |         ^~~
>         CC       libm/common/libm_a-s_isnand.o
>     Please submit a full bug report, with preprocessed source (by using
>     -freport-bug).
>     See <https://gcc.gnu.org/bugs/ <https://gcc.gnu.org/bugs/>> for
>     instructions.
>     make[6]: *** [libm/common/libm_a-s_expm1.o] Error 1
>     make[6]: *** Waiting for unfinished jobs....
>         CC       libm/common/libm_a-s_log1p.o
>     make[5]: *** [all] Error 2
>     make[4]: *** [multi-do] Error 1
>     make[3]: *** [all-multi] Error 2
>     make[2]: *** [all] Error 2
>     make[1]: *** [all-target-newlib] Error 2
>     make: *** [all] Error 2
>     shell cmd failed: /bin/sh -ex
>     /Users/karel/src/macosx-fix-sis/rtems/build/arm-rtems6-gcc-a5a6598
> 
> 
>     So just HEADS UP to those using Mac OS X on Apple silicon!
> 
>     Karel
> 
>     _______________________________________________
>     devel mailing list
>     devel at rtems.org <mailto:devel at rtems.org>
>     http://lists.rtems.org/mailman/listinfo/devel
>     <http://lists.rtems.org/mailman/listinfo/devel>
> 



More information about the devel mailing list