From: Christian E. <chr...@ca...> - 2021-06-10 10:23:07
|
Hi, I was starting to see current clisp in Ubuntu segfault when building Xindy => https://launchpad.net/ubuntu/+source/xindy/2.5.1.20160104-10 >From there I discovered that clisp itself is rather unhappy on s390x (and ppc64el): => https://launchpad.net/ubuntu/+source/clisp/1:2.49.20180218+really2.49.92-3build5 The build fails like: /home/ubuntu/clisp-2.49.20180218+really2.49.92/src/lispbibl.d:6673:6: error: #error oint_addr_mask does not cover CODE_ADDRESS_RANGE !! 6673 | #error oint_addr_mask does not cover CODE_ADDRESS_RANGE !! | The code for the error in clisp is: /* Verify the oint_addr_shift value w.r.t. the autoconfigured CODE_ADDRESS_RANGE and MALLOC_ADDRESS_RANGE values. */ #if !defined(WIDE_SOFT) /* The CODE_ADDRESS_RANGE needs to be checked because we store code pointers in Lisp objects (cf. macro ThePseudofun). In case of TYPECODES, the typecode() of such pointers must be machine_type, otherwise gc_mark() gets confused and crashes. */ #if (CODE_ADDRESS_RANGE >> addr_shift) & ~(oint_addr_mask >> oint_addr_shift) #error oint_addr_mask does not cover CODE_ADDRESS_RANGE !! #endif I debugged the values and they are: CODE_ADDRESS_RANGE 0x000002AA09000000UL addr_shift 0 oint_addr_mask (((2UL<<((64)-1))-1) & ~(0x01FC00000000UL | (1UL<<63))) oint_addr_shift 0 So we can ignore the shft and this comes down to CODE_ADDRESS_RANGE & ~(oint_addr_mask) 0x000002AA09000000UL & ~((((2UL<<((64)-1))-1) & ~(0x01FC00000000UL | (1UL<<63)))) = 0x000002AA09000000UL & ~(FFFFFFFFFFFFFFFF & 7FFFFE03FFFFFFFF) = 0x000002AA09000000UL & 800001FC00000000 = 000000A800000000 So the check is right, but I was unable to determine if the values made sense. I checked former versions of clisp and tried to build it in all the releases from 2018 until today. But they all fail the same way. For yet unknown reasons there was a single good build on 2019-09-05 => https://launchpadlibrarian.net/440395396/buildlog_ubuntu-eoan-s390x.clisp_1%3A2.49.20180218+really2.49.92-3build3_BUILDING.txt.gz But before&after and when retrying now all builds fail. I was downloading the clean latest 2.49.92 and ran a standard configur&make. It fails the same way, maybe that log can help you to spot the issue: => https://bugs.launchpad.net/ubuntu/+source/xindy/+bug/1931531/+attachment/5503834/+files/clsip-clean-fail.log I've seen the list is rather inactive, but I didn't want to leave the issue around without at least reporting it. Thanks in advance if there are any hints on how to resolve this! -- Christian Ehrhardt Staff Engineer, Ubuntu Server Canonical Ltd |