Summary
Build fails on Debian/armel
Metadata
- Id: c4c1be3816c819762bc1327942237885d0afde28
- Trac id: 1637
- Type: defect
- Reporter: felix
- Owner:
- Cc:
- Status: closed
- Component: core libraries
- Estimated difficulty: medium
- Resolution: fixed
- Priority: critical
- Milestone: 5.2
- Version: 5.1.0
- Changetime: 2019-12-01 12:48:50 UTC
- Created: 2019-07-27 22:07:03 UTC
- Keywords:
Description
Reported by Davide Puricelli:
> Some days ago I uploaded the amd64 package to Debian unstable, > so our porting teams could recompile it on every architecture that > Debian supports; unfortunately the build process didn't go well > everywhere, as you can see from this report page: > > https://buildd.debian.org/status/package.php?p=chicken&suite=sid > > For now, we can ignore the architectures with a grey background on that > page, as they're not full supported by Debian, but the armel fail is > serious because it prevents Chicken migration from unstable to testing > distribution. > > I'm not so up-to-date on chicken internals (and on armel even worse), > so I was thinking if you could take a look at build log and tell me > if you have a clue about what went wrong and how we can fix it.
Changes and comments
[2019-07-27 22:08:21 UTC] felix wrote:
Relevant part from the build logs:
old: #s8(-128 -127 -2 -1 0 1 2 126 127) new: #s8(127 126 2 1 0 -1 -2 -127 -128) old: #u16(0 1 2 65534 65535) new: #u16(65535 65534 2 1 0) old: #s16(-32768 -32767 -2 -1 0 1 2 32766 32767) new: #s16(32767 32766 2 1 0 -1 -2 -32767 -32768) old: #u32(0 1 2 4294967294 4294967295) new: #u32(4294967295 4294967294 2 1 0) make[1]: *** [rules.make:974: check] Error 70 make[1]: Leaving directory '/<<PKGBUILDDIR>>' dh_auto_test: make -j1 check returned exit code 2 make: *** [debian/rules:16: build-arch] Error 255
[2019-07-28 20:53:35 UTC] sjamaan wrote:
Perhaps fixed by 0f65f998e9af551be9201594651794263f582666?
[2019-11-04 15:09:39 UTC] sjamaan wrote:
Potentially caused by code generation issue. https://svnweb.freebsd.org/ports/head/lang/gcc8-devel/Makefile?view=markup&pathrev=507194 fixes that.
[2019-11-06 19:26:24 UTC] kooda wrote:
I can reproduce the bug (segfault when interpreting the lolevel tests) under these conditions:
CHICKEN 5.1.0 and master (e25965cdd25e521a5622f9712b76843458e887f2) using gcc 9.2.0:
Using built-in specs. COLLECT_GCC=/usr/bin/gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/armv6-alpine-linux-musleabihf/9.2.0/lto-wrapper Target: armv6-alpine-linux-musleabihf Configured with: /home/buildozer/aports/main/gcc/src/gcc-9.2.0/configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --build=armv6-alpine-linux-musleabihf --host=armv6-alpine-linux-musleabihf --target=armv6-alpine-linux-musleabihf --with-pkgversion='Alpine 9.2.0' --enable-checking=release --disable-fixed-point --disable-libstdcxx-pch --disable-multilib --disable-nls --disable-werror --disable-symvers --enable-__cxa_atexit --enable-default-pie --enable-default-ssp --enable-cloog-backend --enable-languages=c,c++,objc,fortran,ada --with-arch=armv6zk --with-tune=arm1176jzf-s --with-fpu=vfp --with-float=hard --with-abi=aapcs-linux --disable-libquadmath --disable-libssp --disable-libmpx --disable-libmudflap --disable-libsanitizer --enable-shared --enable-threads --enable-tls --disable-libitm --with-system-zlib --with-linker-hash-style=gnu Thread model: posix gcc version 9.2.0 (Alpine 9.2.0)
However, building and testing both CHICKEN 5.1.0 and master with gcc 6.4.0 doesn’t trigger the error.
COLLECT_GCC=gcc-6 COLLECT_LTO_WRAPPER=/usr/libexec/gcc/armv6-alpine-linux-musleabihf/6.4.0/lto-wrapper Target: armv6-alpine-linux-musleabihf Configured with: /home/buildozer/aports/community/gcc6/src/gcc-6.4.0/configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --build=armv6-alpine-linux-musleabihf --host=armv6-alpine-linux-musleabihf --target=armv6-alpine-linux-musleabihf --program-suffix=-6 --with-pkgversion='Alpine 6.4.0' --enable-checking=release --disable-bootstrap --disable-fixed-point --disable-libstdcxx-pch --disable-multilib --disable-nls --disable-werror --disable-libatomic --disable-libgomp --disable-libitm --disable-libquadmath --disable-symvers --enable-__cxa_atexit --enable-default-pie --enable-cloog-backend --enable-version-specific-runtime-libs --enable-languages=c,c++,java --with-arch=armv6zk --with-tune=arm1176jzf-s --with-fpu=vfp --with-float=hard --with-abi=aapcs-linux --disable-libssp --disable-libmpx --disable-libmudflap --disable-libsanitizer --enable-shared --enable-threads --enable-tls --with-system-zlib --with-jvm-root=/usr/lib/jvm/java-1.5-gcj --with-linker-hash-style=gnu Thread model: posix gcc version 6.4.0 (Alpine 6.4.0)
[2019-11-06 19:30:04 UTC] kooda wrote:
This (smaller) test case triggers the segfault:
(import chicken.locative chicken.gc srfi-4)
(define old (u32vector 0 1 2 4294967294 4294967295))
(define new (make-u32vector 5))
(do ((i 0 (add1 i)))
((= i 5))
(let ((loc-src (make-locative old i))
(loc-dst (make-locative new (- 5 i 1))))
(locative-set! loc-dst (locative-ref loc-src))))
(assert (eqv? (u32vector-ref old 4) (u32vector-ref new 0)))
(gc #t)
[2019-11-28 13:32:30 UTC] kooda wrote:
Commit 4746bd9556b7650c279c718bb0d5edf2c5ca5b01 fixes the problem for me.
It would be nice to get confirmation that the original problem is gone too.
[2019-12-01 12:48:50 UTC] sjamaan changed status from new to closed
[2019-12-01 12:48:50 UTC] sjamaan set resolution to fixed
[2019-12-01 12:48:50 UTC] sjamaan wrote:
Davide Puricelli got back to us and the bug is gone on this platform.