Bug#1025775: libsdl2 breaks cataclysm-dda autopkgtest in lxc: only bottom left corner appears in screenshot

Simon McVittie smcv at debian.org
Fri Dec 9 17:58:38 GMT 2022


On Fri, 09 Dec 2022 at 13:45:17 +0000, Simon McVittie wrote:
> On Thu, 08 Dec 2022 at 21:55:07 +0100, Paul Gevers wrote:
> > With a recent upload of libsdl2 the autopkgtest of cataclysm-dda fails in
> > testing when that autopkgtest is run with the binary packages of libsdl2
> > from unstable. It passes when run with only packages from testing. In
> > tabular form:
> > 
> >                        pass            fail
> > libsdl2                from testing    2.26.0+dfsg-1
> > cataclysm-dda          from testing    0.F-3-8
> > all others             from testing    from testing
> 
> The test is to:
> 
> * run cataclysm-tiles in the background
> * wait 15 seconds
> * focus the cataclysm-tiles window
> * take a screenshot
> * use tesseract to do OCR on the window contents
> * look for some specific strings in the window contents
...
> I can reproduce this with a lxc container inside a bookworm VM:
> 
>     $ sudo autopkgtest-build-lxc debian bookworm amd64
>     $ apt download libsdl2-2.0-0=2.26.0+dfsg-1
>     $ rm -fr ~/artifacts; \
>       autopkgtest \
>           --no-built-binaries \
>           --shell-fail \
>           -o ~/artifacts \
>           ~/libsdl2-2.0-0_2.26.0+dfsg-1_amd64.deb \
>           . \
>           -- lxc --sudo autopkgtest-bookworm-amd64

I can also reproduce this by poking a specific libSDL2-2.0.so.0 into the
container like this:

    $ rm -fr ~/artifacts;
      autopkgtest \
      --no-built-binaries \
      --test-name=command1 \
      --copy ~/libsdl2-2.0-0_2.26.0+dfsg-1_amd64/usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0.2600.0:/test/libSDL2-2.0.so.0 \
      --env=LD_LIBRARY_PATH=/test \
      -o ~/artifacts \
      . \
      -- lxc --sudo autopkgtest-bookworm-amd64

which lets me bisect SDL (in progress) with commands like:

    $ rm -fr ~/artifacts;
      ./autogen.sh && \
      ./configure && \
      make -j5 && \
      autopkgtest \
      --no-built-binaries \
      --test-name=command1 \
      --copy $(readlink -f build/.libs/libSDL2-2.0.so.0):/test/libSDL2-2.0.so.0 \
      --env=LD_LIBRARY_PATH=/test \
      -o ~/artifacts \
      /path/to/cataclysm-dda \
      -- lxc --sudo autopkgtest-bookworm-amd64

Meanwhile, I also have what I think is a workaround: if d/tests/control
and d/tests/cataclysm-tiles install and run a window manager in the Xvfb
environment (I used openbox), then it seems cataclysm-tiles becomes
correctly full-screen. This seems like a more realistic test-case anyway,
because in reality Debian users are going to run cataclysm-tiles in an
X11 or Wayland session with a working X11 window manager.

    smcv
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-d-tests-test-tiles-Run-a-window-manager-inside-Xvfb.patch
Type: text/x-diff
Size: 1715 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-sdl-maintainers/attachments/20221209/8602f5ed/attachment.patch>


More information about the Pkg-sdl-maintainers mailing list