GNU bug report logs - #42771
smalltalk fails to build

Previous Next

Package: guix;

Reported by: Michael Rohleder <mike <at> rohleder.de>

Date: Sat, 8 Aug 2020 18:54:02 UTC

Severity: normal

Tags: fixed

Done: Miguel Ángel Arruga Vivas <rosen644835 <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


Message #23 received at 42771 <at> debbugs.gnu.org (full text, mbox):

From: Miguel Ángel Arruga Vivas <rosen644835 <at> gmail.com>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 42771 <at> debbugs.gnu.org, Holger Peters <holger.peters <at> posteo.de>
Subject: Re: bug#42771: smalltalk fails to build
Date: Mon, 28 Dec 2020 12:42:56 +0100
[Message part 1 (text/plain, inline)]
Hi,

I've been investigating just a bit about this.

Ludovic Courtès <ludo <at> gnu.org> writes:

> (1) investigate why the test is failing (I think it’s a single test
> failure here),

Currently there are two main problems with 3.2.5:

  - Integer multiplication overflow handling invokes undefined behavior,
    which is "cleaned up" by the compiler.  This is why
    [ 100 fact / 99 fact ] returns <new> 0, and it's solved with the
    first patch---trimmed down from the upstream patch, to avoid
    conflicts.

   - ANSI test suite fails with errors like these:
----------------------------------8<-----------------------------------
--- /dev/null   2020-12-24 20:38:33.836725540 +0000
+++ /tmp/guix-build-smalltalk-3.2.5.drv-0/smalltalk-3.2.5/tests/testsuite.dir/at-groups/47/stderr       2020-12-28 09:25:57.283891452 +0000
@@ -0,0 +1,13 @@
+gst: Aborted
+gst: Error occurred while not in byte code interpreter!!
+/tmp/guix-build-smalltalk-3.2.5.drv-0/smalltalk-3.2.5/libgst/.libs/libgst.so.7(+0x72d97)[0x7ffff7f5ed97]
+/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/lib/libc.so.6(+0x36b20)[0x7ffff7b3bb20]
+/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/lib/libc.so.6(gsignal+0xca)[0x7ffff7b3baba]
+/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/lib/libc.so.6(abort+0x165)[0x7ffff7b3cbf5]
+/tmp/guix-build-smalltalk-3.2.5.drv-0/smalltalk-3.2.5/libgst/.libs/libgst.so.7(+0x2c936)[0x7ffff7f18936]
+/gnu/store/yrwirrblml57nwga1aza6rg3l9s8qga0-libsigsegv-2.12/lib/libsigsegv.so.2(+0x128c)[0x7ffff7ee728c]
+/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/lib/libc.so.6(+0x36b20)[0x7ffff7b3bb20]
+/tmp/guix-build-smalltalk-3.2.5.drv-0/smalltalk-3.2.5/libgst/.libs/libgst.so.7(+0x569f0)[0x7ffff7f429f0]
+/tmp/guix-build-smalltalk-3.2.5.drv-0/smalltalk-3.2.5/libgst/.libs/libgst.so.7(+0x72919)[0x7ffff7f5e919]
+/tmp/guix-build-smalltalk-3.2.5.drv-0/smalltalk-3.2.5/libgst/.libs/libgst.so.7(+0x2e4c7)[0x7ffff7f1a4c7]
+/tmp/guix-build-smalltalk-3.2.5.drv-0/smalltalk-3.2.5/tests/testsuite.dir/at-groups/47/test-source: line 20: 21205 Aborted                 $TIMEOUT gst $image_path -f $abs_srcdir/AnsiRun.st ArrayANSITest
stdout:
./testsuite.at:83: exit code was 134, expected 0
47. testsuite.at:83: 47. ArrayANSITest (testsuite.at:83): FAILED (testsuite.at:83)
---------------------------------->8-----------------------------------

>      (2) try to determine whether it’s serious or not,

The first one is pretty serious.  The second one might as bad as the
first one or may be a flaw on the tests and could be omitted.

>      (3) see if we can work around it with reasonable effort, and if
>      not, skip just this test.

This only should be the case when the problem is on the test side:
either it's using something we don't want to provide, as side channels,
or the check itself is buggy; never when the test is working properly
because we would be delivering buggy software after we have been warned
about it.

I cannot spot where the second error was fixed, but 3.2.91 as provided
with the second patch doesn't manifest it.

>   2. I think we should just have ‘smalltalk’ (latest release) and
>      ‘smalltalk-next’ (VCS snapshot).  Having an extra package for the
>      release candidate is not really useful IMO, and not something we
>      generally do.

The last change made to GNU Smalltalk's master branch was more than 2
years ago, the latest change affecting executable paths was February
2017.  IMHO, providing a patched release candidate (or even the
snapshot) seems the best option until the project release a new version,
as in fact we aren't providing currently a useful package.

Happy hacking!
Miguel

PS: Its build isn't reproducible:
  - gst.im has inside some kind of timestamp.  This probably needs
    changes on the source code.
  - package.xml and kernel/ folders contain different timestamps inside
    dot-star files---a wrapper to zip or something like
    reset-gzip-timestamps could solve this issue.

[0001-gnu-smalltalk-Fix-integer-multiplication-overflow.patch (text/x-patch, attachment)]
[0002-gnu-smalltalk-Update-to-version-3.2.91.patch (text/x-patch, attachment)]

This bug report was last modified 4 years and 193 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.