Your message dated Tue, 12 Sep 2023 15:52:36 +0000
with message-id <[email protected]>
and subject line Bug#1041416: fixed in sdl12-compat
1.2.64+git20230904+g9359cfa-1
has caused the Debian Bug report #1041416,
regarding sdl12-compat: could work around libsdl-perl incorrectly freeing
SDL_SetVideoMode() result
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
1041416: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1041416
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: libsdl-perl, sdl12-compat
Control: found -1 libsdl-perl/2.548-3
Control: found -1 sdl12-compat/1.2.64-5
Control: block 1039911 by -1
Severity: serious
Tags: trixie sid ftbfs
User: [email protected]
Usertags: breaks needs-update
Since sdl12-compat took over the libsdl1.2debian and libsdl1.2-dev
packages from the old libsdl1.2, the test suite from libsdl-perl is
sometimes crashing in t/core_video.t. It seems to be failing consistently
on 32-bit architectures, and intermittently on some 64-bit architectures
(arm64 and s390x). I didn't see this before starting the transition
because I had used amd64 for my test-rebuilds, and amd64 seems to be
consistently unaffected.
I originally saw this in the autopkgtest runs on ci.debian.net, but I was
able to reproduce a similar failure during build-time testing on i386.
I didn't see a similar crash when testing real games, so I don't know
whether this is a crash that can affect games in practice, or just a
test issue.
It is not yet clear to me whether this is a libsdl-perl bug or a
sdl12-compat bug, so for now the bug is reported as affecting both
packages. It can be reassigned to either libsdl-perl or sdl12-compat
when a root cause is found.
In the cases where it fails, there are two failure modes that I've seen.
One failure mode is that t/core_video.t crashes with signal 11 (SIGSEGV)
during testing, usually (perhaps always?) after test point 65, for
example in
<https://ci.debian.net/data/autopkgtest/testing/armel/libs/libsdl-perl/35792469/log.gz>:
147s t/core_video.t ..................
147s ok 1 - SDL::Video->can(...)
147s ok 2 - SDL_SWSURFACE should be imported
...
147s ok 63 - '[get_video_surface] Checking if we get a surface ref back' isa
'SDL::Surface'
147s ok 64 - [video_driver_name] This is your driver name: dummy
147s ok 65 - [video_mode_ok] Checking if an integer was return
147s All 65 subtests passed
147s (2 TODO tests unexpectedly succeeded)
...
289s t/core_video.t (Wstat: 11 (Signal: SEGV) Tests: 65 Failed:
0)
289s TODO passed: 57, 59
289s Non-zero wait status: 11
289s Parse errors: No plan found in TAP output
The other failure mode is that t/core_video.t completes testing and calls
done_testing(), but then crashes with SIGSEGV during exit, for example in
<https://ci.debian.net/data/autopkgtest/testing/arm64/libs/libsdl-perl/35707567/log.gz>:
369s t/core_video.t ..................
369s ok 1 - SDL::Video->can(...)
369s ok 2 - SDL_SWSURFACE should be imported
...
369s ok 108 # skip No window manager available
369s ok 109 # skip No window manager available
369s ok 110 - Are we still alive? Checking for segfaults
369s 1..110
369s All 110 subtests passed
369s (less 39 skipped subtests: 71 okay)
369s (2 TODO tests unexpectedly succeeded)
...
499s t/core_video.t (Wstat: 11 (Signal: SEGV) Tests: 110 Failed:
0)
499s TODO passed: 57, 59
499s Non-zero wait status: 11
In the s390x log
<https://ci.debian.net/data/autopkgtest/testing/s390x/libs/libsdl-perl/35709601/log.gz>
we can also see an error message from glibc's malloc implementation
indicating memory corruption, perhaps a double-free or something like
that:
130s ok 64 - [video_driver_name] This is your driver name: dummy
130s ok 65 - [video_mode_ok] Checking if an integer was return
130s corrupted size vs. prev_size
This is blocking migration of sdl12-compat to testing (#1039911).
smcv
--- End Message ---
--- Begin Message ---
Source: sdl12-compat
Source-Version: 1.2.64+git20230904+g9359cfa-1
Done: Simon McVittie <[email protected]>
We believe that the bug you reported is fixed in the latest version of
sdl12-compat, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Simon McVittie <[email protected]> (supplier of updated sdl12-compat package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Format: 1.8
Date: Tue, 12 Sep 2023 16:06:09 +0100
Source: sdl12-compat
Architecture: source
Version: 1.2.64+git20230904+g9359cfa-1
Distribution: experimental
Urgency: medium
Maintainer: Debian SDL package maintainers
<[email protected]>
Changed-By: Simon McVittie <[email protected]>
Closes: 1041416 1051106
Changes:
sdl12-compat (1.2.64+git20230904+g9359cfa-1) experimental; urgency=medium
.
* New upstream git snapshot
- Improve compatibility with games that incorrectly try to free the
video surface (Closes: #1041416)
- Add a hint/quirk for forcing XInitThreads to be called
- Add quirks table entries for Mark of the Ninja (Closes: #1051106)
and Trine
- Fix return value of SDL_SetPalette(): 0 on error, 1 on success
- Fix a crash if SDL_LoadWAV() fails to open the file
- Improve compile-time robustness with newer SDL2
- Update included copy of dr_mp3 (no functional changes)
- macOS- and OS/2-specific changes not relevant to Debian
* d/p/SDL_config.h-Assume-that-all-platforms-have-ISO-C89-stdde.patch,
d/p/include-Use-struct-private_hwdata-incomplete-type-for-API.patch,
d/p/SDL_config-Define-HAVE_MALLOC_H-on-glibc-based-platforms.patch:
Drop patches, applied upstream
* d/gbp.conf, d/watch.git-snapshots: Configure for git snapshots
Checksums-Sha1:
e23e87572514f8b442b0ca2e31b040775cfd009c 2726
sdl12-compat_1.2.64+git20230904+g9359cfa-1.dsc
ab71a466cc440986bc7660bf737e025b04b030b5 455710
sdl12-compat_1.2.64+git20230904+g9359cfa.orig.tar.gz
0a72799a866410bd5bd48f21706c4c86473ca246 11460
sdl12-compat_1.2.64+git20230904+g9359cfa-1.debian.tar.xz
af7e891baebb3cf75657197a3e5697b24d2afc0d 10886
sdl12-compat_1.2.64+git20230904+g9359cfa-1_source.buildinfo
Checksums-Sha256:
2c626542f3095f52e8aec83447d375b340894aee89c591f02e73037e3489c130 2726
sdl12-compat_1.2.64+git20230904+g9359cfa-1.dsc
3a12fc4bfd8575e13506f880095646e7711c6a682d7ec7d92f122113f26f39d3 455710
sdl12-compat_1.2.64+git20230904+g9359cfa.orig.tar.gz
4806659634287b58c7dd2603a6f9d3842e4157b8e0fff7abf8a42173443715cf 11460
sdl12-compat_1.2.64+git20230904+g9359cfa-1.debian.tar.xz
e64062692e6c88f70c42f3b68185a8b8ac3176d25f7795a64dfd9b4a87c60dc6 10886
sdl12-compat_1.2.64+git20230904+g9359cfa-1_source.buildinfo
Files:
86abf585df48600d1ce21c050bea36c0 2726 libs optional
sdl12-compat_1.2.64+git20230904+g9359cfa-1.dsc
8ccded681ada855b1c17e88baad2faaf 455710 libs optional
sdl12-compat_1.2.64+git20230904+g9359cfa.orig.tar.gz
2f42c701337bf4e996ac41635032a84b 11460 libs optional
sdl12-compat_1.2.64+git20230904+g9359cfa-1.debian.tar.xz
a3dd1103fc1c600d2b9c8148529fbb33 10886 libs optional
sdl12-compat_1.2.64+git20230904+g9359cfa-1_source.buildinfo
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEENuxaZEik9e95vv6Y4FrhR4+BTE8FAmUAhnIACgkQ4FrhR4+B
TE9JSg/9Fl8GO7bEtYdGZfkAgQQv+JoLbgPYNON9JqhNHFPxGEBpevgR98X0jQ84
qanFAM/PnJy9SDAqs6oIg5sT0ugk61UgyfnYXhsilfS34KKFJZsiLHW1Dv+CCwzS
bkGm4uq3tKYc5liFE92N6dXgrphduSru/27hQEwlik81vQEZsEXemWxeQM3jLGjp
IKM9Nd4zbD+uqktnq3wVuD7ZarH2IOmi/rgLTpNWMzOki3OEPl4X6FcCmDHZO/Qe
r/o0hQ13WP/JZglqgkUyzXAiZNsAV48eRzGRCsM6Zm94yFFGdggkP8ZsgIiq0NGe
cSMzUbZ3R+j7CfWY3mV0dFsRt1Jw70lQ+k//uBYLzm0iB/6FkPVNlSFssGE7TYLn
QfBsXVL3X+SUlw2KfaOt47OcFJRAReSac3mjnBHnLXNNhnSiqtsQjynJlL1l/aOk
I+5EmEa+g2zl6byh9fDHiJCFKIilomuJZBvG+bFEtKGpV1VD+o1Fhr/4euISBODV
363cDeRZcMJv88eN1Ic3w2U6F3KrWpp96fjHR9VdtqkHC+ifErYh+MmzV4bEfIWm
/9s4GblefNrdmVtm1rC6g3rYKXhaa8/XUlKbWlARWdaL5Gesq/cvPRRyeaHvgMaM
8/S/SRdi17MAFiGsGX/5ncVOt0lORKsrUnKkE5jdflz57UVQqzE=
=4uy/
-----END PGP SIGNATURE-----
--- End Message ---