bug-gnu-pspp
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

PSPP-BUG: [bug #65892] pspp-output under some circumstances creates endl


From: anonymous
Subject: PSPP-BUG: [bug #65892] pspp-output under some circumstances creates endless stream of files
Date: Wed, 19 Jun 2024 04:05:57 -0400 (EDT)

URL:
  <https://savannah.gnu.org/bugs/?65892>

                 Summary: pspp-output under some circumstances creates endless
stream of files
                   Group: PSPP
               Submitter: None
               Submitted: Wed 19 Jun 2024 08:05:56 AM UTC
                Category: None
                Severity: 5 - Average
                  Status: None
             Assigned to: None
             Open/Closed: Open
                 Release: None
         Discussion Lock: Any
                  Effort: 0.00


    _______________________________________________________

Follow-up Comments:


-------------------------------------------------------
Date: Wed 19 Jun 2024 08:05:56 AM UTC By: Anonymous
When I tried to update the pspp package on Alpine, building the tool locally
on the host system worked just fine. But in the CI [1] the generation of the
images for the documentation fails:


    LANG=C
LSAN_OPTIONS="suppressions=/builds/maribu/aports/testing/pspp/src/pspp-2.0.1/tests/lsan.supp:print_suppressions=0:$LSAN_OPTIONS"
utilities/pspp-output convert doc/pspp-figures/flip.spv
doc/pspp-figures/flip.png -O trim=true -O left-margin=0in -O right-margin=0in
-O top-margin=0in -O bottom-margin=0in -O paper-size=7.5x99in
--table-look=./doc/tutorial.stt
    LANG=C
LSAN_OPTIONS="suppressions=/builds/maribu/aports/testing/pspp/src/pspp-2.0.1/tests/lsan.supp:print_suppressions=0:$LSAN_OPTIONS"
utilities/pspp-output convert doc/pspp-figures/frequencies.spv
doc/pspp-figures/frequencies.png -O trim=true -O left-margin=0in -O
right-margin=0in -O top-margin=0in -O bottom-margin=0in -O paper-size=7.5x99in
--table-look=./doc/tutorial.stt
    LANG=C
LSAN_OPTIONS="suppressions=/builds/maribu/aports/testing/pspp/src/pspp-2.0.1/tests/lsan.supp:print_suppressions=0:$LSAN_OPTIONS"
utilities/pspp-output convert doc/pspp-figures/matrix-print.spv
doc/pspp-figures/matrix-print.png -O trim=true -O left-margin=0in -O
right-margin=0in -O top-margin=0in -O bottom-margin=0in -O paper-size=7.5x99in
--table-look=./doc/tutorial.stt
    doc/pspp-figures/chisquare.png: error while writing to output stream
    doc/pspp-figures/chisquare.png-2: error while writing to output stream
    doc/pspp-figures/chisquare.png-3: error while writing to output stream
    doc/pspp-figures/chisquare.png-4: error while writing to output stream
    doc/pspp-figures/chisquare.png-5: error while writing to output stream
    doc/pspp-figures/chisquare.png-6: error while writing to output stream
    doc/pspp-figures/chisquare.png-7: error while writing to output stream
    doc/pspp-figures/chisquare.png-8: error while writing to output stream
    doc/pspp-figures/chisquare.png-9: error while writing to output stream
    doc/pspp-figures/chisquare.png-10: error while writing to output stream
    doc/pspp-figures/chisquare.png-11: error while writing to output stream
    doc/pspp-figures/chisquare.png-12: error while writing to output stream
    doc/pspp-figures/chisquare.png-13: error while writing to output stream
    doc/pspp-figures/chisquare.png-14: error while writing to output stream
    doc/pspp-figures/chisquare.png-15: error while writing to output stream
    doc/pspp-figures/chisquare.png-16: error while writing to output stream
    doc/pspp-figures/chisquare.png-17: error while writing to output stream

As you can see, some of the images are `pspp-output convert` invocations
actually succeed. But randomly the command fails, in which case it won't
recover and just keeps creating new files in an endless loop.

Yesterday, I was able to reliably trigger the issue when run in a container
using:

    $ podman run --rm --tty -i alpine:edge
    # From now on inside container:
    $ apk upgrade
    $ apk add alpine-sdk git doas-sudo-shim
    $ echo "permit persist :wheel" >> /etc/doas.conf
    $ adduser test              # password may be empty here
    $ adduser test abuild
    $ adduser test wheel
    $ su test
    $ abuild-keygen -ian        # password may be empty here
    $ git clone --depth 1 https://gitlab.alpinelinux.org/maribu/aports.git
    # we'll need to build spread-sheet-widget first
    $ cd ~/aports/testing/spread-sheet-widget/
    $ abuild -r
    # finally, we can build PSPP
    $ cd ~/aports/testing/pspp/
    $ abuild -r

It did reliably succeed when I build it locally on the host. I compared the
generated ELF files and couldn't spot any difference other than time stamps
and debug info. I even copied the whole folder of the host system (including
the build ELF files) to the container, ran `make generate-pngs` (or something
along the line) and that directly entered the error state again, using the
exact same ELF files of the host system (note: I had to create a folder with
the exact same path as on the host system for this to work). Today, I no
longer can reproduce the issue on my machine (both on host and inside a
container).

So: I believe there is a race condition that was triggered in the container
due to different timing.

[1]: https://gitlab.alpinelinux.org/maribu/aports/-/jobs/1423933







    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?65892>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]