Pasta Pasta <pa...@dash.org> writes: Process 46677 launched: '/Users/user/Development/dash/src/test/test_dash' (arm64) Running 1 test case... Process 46677 stopped * thread #1, name = 'd-test', queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x16fe00000) frame #0: 0x0000000100cd9e00 test_dash`__gmpn_sub_n + 120 test_dash`: -> 0x100cd9e00 <+120>: ldp x4, x5, [x1, #0x10] 0x100cd9e04 <+124>: ldp x8, x9, [x2, #0x10] 0x100cd9e08 <+128>: sbcs x12, x6, x10 0x100cd9e0c <+132>: sbcs x13, x7, x11 Target 0: (test_dash) stopped. (lldb) bt * thread #1, name = 'd-test', queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x16fe00000) * frame #0: 0x0000000100cd9e00 test_dash`__gmpn_sub_n + 120 frame #1: 0x0000000100cd84e4 test_dash`fp_subc_low + 24 frame #2: 0x0000000100cd9970 test_dash`fp3_sqrn_low + 220 ```
This pointed us to GMP as being the issue. We established the following procedure for testing GMP: Well, somebody calls the GMP low-level function mpn_sub_n, and that function crashes. I would say that this is not unlikely that the calling function is buggy. But there was a problem with GMP 6.2.1 wrt MacOS, which is that register 18 is reserved, but GMP's assembler uses it. We fixed that in the GMP repo long ago, You might want to try a GMP snapshot. ``` wget https://gmplib.org/download/gmp/gmp-6.2.1.tar.bz2 tar xf gmp-6.2.1.tar.bz2 cd gmp-6.2.1 ./configure make make check Works on my M1 running Ventura. I might have a better compiler (Apple clang version 13.0.0). There has been major problems with compiler bugs on Apple M1. -- Torbjörn Please encrypt, key id 0xC8601622 _______________________________________________ gmp-bugs mailing list gmp-bugs@gmplib.org https://gmplib.org/mailman/listinfo/gmp-bugs