I was thinking about having another bash at the haskell packages build corruption problem. There hadn't been many haskell builds attempted when I looked a few weeks ago.

Is it expected that the corruption of a few months ago would still occur ?

Mike.

On 13/04/2026 01:54, Samuel Thibault wrote:
Samuel Thibault, le lun. 13 avril 2026 01:41:16 +0200, a ecrit:
It seems to be helping a bit (I have seen a bit less corruption
apparently), but it seems we are still facing corruptions, notably when
building these packages:

haskell-dbus
haskell-graphviz
haskell-texmath
haskell-trifecta
haskell-typst

we end up with various symbol table issues etc. The attached "checkone"
script does some tests (give it the libghc-foo-dev.deb file name as
parameter) that end up failing on these packages results on the buildds.
But I can't reproduce that on my on box... (didn't use eatmydata,
though)

Samuel


Samuel Thibault, le jeu. 02 avril 2026 01:05:57 +0200, a ecrit:
Hello,

Thanks for this! I have pushed it to upstream glibc.

Samuel

Mike Kelly, le mer. 01 avril 2026 20:49:31 +0100, a ecrit:
This is my proposal to fix the SIGSTOP/SIGCONT issue where RPC calls
were being repeated even though the server will complete the request
as discussed in the thread:

https://lists.gnu.org/archive/html/bug-hurd/2026-03/msg00243.html

The very simple test case was to run tar whilst SIGSTOP/SIGCONT
multiple times from the shell:

# /usr/bin/tar xf data.tar.xz

Repeated interrupted extractions of the same archive result in file
differences in the output as some segments are written multiple times.

There are 2 patches that must be applied in the sequence specified:

1) Alterations to MSG_EXAMINE to provide the signal thread with access
to additional RPC input parameters. There was a case of 'return -1' in
the i386 version which made no sense in an inline macro and I'm
guessing was a historic leftover. I have altered it to match the
x86_64 version.

2) Patch 2 is the revised architecture independent fix for
SIGSTOP/SIGCONT.

I can confirm that this patch fixes this testcase on both hurd-i386
and hurd-amd64. I've run msgport utility and it runs with output
generated from report-wait so seems OK. Hopefully there are no
unforeseen negative consequences.

Cheers,

Mike.
#!/bin/bash
TMPDIR=/tmp/$$

        case $1 in
                *libghc*-dev_*)
                        ;;
                *)
                        exit 0
        esac
        echo checking $1
        dpkg-deb -x $1 $TMPDIR
        cd $TMPDIR || exit 0
        for i in $(find usr/lib/haskell-packages/ghc/lib -name \*.so) ; do
                if readelf -r $i | grep -q R_X86_64_NONE \
                    || LANG=C readelf -s $i 2>&1 | grep -q "readelf: Warning: local 
symbol" \
                    || ld $i -o $TMPDIR/test.so 2>&1 | grep -q "corrupt symbol 
table" \
                                   ; then
                        echo "$1 bogus"
                        break
                fi
                done
        rm -fr $TMPDIR


Reply via email to