Your message dated Fri, 15 Sep 2023 09:57:00 +0000
with message-id <[email protected]>
and subject line Bug#1041416: fixed in sdl12-compat 1.2.66-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.66-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: Fri, 15 Sep 2023 09:27:02 +0100
Source: sdl12-compat
Architecture: source
Version: 1.2.66-1
Distribution: unstable
Urgency: medium
Maintainer: Debian SDL package maintainers
<[email protected]>
Changed-By: Simon McVittie <[email protected]>
Closes: 1041416 1051106
Changes:
sdl12-compat (1.2.66-1) unstable; urgency=medium
.
* New upstream prerelease (1.2.68 rc1)
- Avoid reporting unscaled mouse coordinates, fixing mouse offset in
Sid Meier's Alpha Centauri
- Make it possible to limit bits-per-pixel to a value from a hint/quirk
- Quirk workaround for: Hyperspace Delivery Boy
* d/gbp.conf: Back to the debian/latest branch
.
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:
975538271324363117ff1d683d5553b66cdb134c 2558 sdl12-compat_1.2.66-1.dsc
705e64955090655260e66490e80e041727b8d833 460193 sdl12-compat_1.2.66.orig.tar.gz
5d9f818518954a69f092ecaf5fa866dcded095bd 11588
sdl12-compat_1.2.66-1.debian.tar.xz
376b5b81e7e8e4abeb573de88ff539940a917fb0 10808
sdl12-compat_1.2.66-1_source.buildinfo
Checksums-Sha256:
a9f1d99b9e74923101dc31f2939fc374d9013df339f6b62f3bb2a35d1c627508 2558
sdl12-compat_1.2.66-1.dsc
0b5a4c92a2fabe6c8d676c7c79c6fc8a53f260d62ccdec4cbfcdaf88632dcec7 460193
sdl12-compat_1.2.66.orig.tar.gz
d724ce91df4d7698e2a4c40e7cce9c9faf2fc3654e1e04b537ca0841852fab0d 11588
sdl12-compat_1.2.66-1.debian.tar.xz
9cf7a1e90c1a349e4126d0169a6a404166fe827a5a9b1390d33230f7e6d781f8 10808
sdl12-compat_1.2.66-1_source.buildinfo
Files:
ca6265695336f0d579b542ef08d220d4 2558 libs optional sdl12-compat_1.2.66-1.dsc
7f25e6bd98042a10cf490793d1e10e2b 460193 libs optional
sdl12-compat_1.2.66.orig.tar.gz
362a85d41b1b30d8efbebc6e84d845f9 11588 libs optional
sdl12-compat_1.2.66-1.debian.tar.xz
de23c6210b4fc55bb946b11e5aca3506 10808 libs optional
sdl12-compat_1.2.66-1_source.buildinfo
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEENuxaZEik9e95vv6Y4FrhR4+BTE8FAmUEJZAACgkQ4FrhR4+B
TE/FmBAAjAp30ErX6ehmPjrHQP0gjU55lGaBQNxZImPPmzusNQkvVUs9oTdudckG
+xH9dh1kxgAFMrFIc2mmOOO4xte7tr3dEtroH2jV4ntYxoDxk3kCH+4T+5hbw5lJ
JwNzhNzW8+5C1dt3uHNocF4RC3MkV+qk+4Dhc8bghbdO6TTnCSaKGYAK2nxQstCi
RyRD3kFMjGuxXCtvWtn6Oohhwhk5u32FYEEZfOmfYOHHZOYP6NoOZsNwbfDLWyFS
XxYqqMpBLcgaQwqAfferM1PI3HPuz2i8/FMcrpp5RScKxGVdyjUOPYnz+HVOpRlx
fXt9RlhOKZZowdPAzicJD4AitPlGiUleX1zteGJeFy28che0Xd3skryTcnrsdq2C
Db0zfZ4lmviaE71XpoIlVh02tIZew0Epo1s+G51EwoJXZ1LZ0wvXHsEXUnJ/tSYP
a10KtoLI3p536D5i8JJ8HMUNiB/X/gl0YhmIf6t5lKlT+HDoo3ALA/Eh1+Z3kfWi
ynrhiymOia6GKc8hTB2YTuiVg2taHIJWOJvnQkRU+KstXQTR3HwErjXX0Nr3IJmq
kdHZlWXUHDJhrpJwLm03Tc+D/CNDkGfHu9WcEHayB/8cKZfNK7m1GWOavNPysM1U
xCsMyNy84lyHw9Cme+R+kfIi4TdjbzTIiwzSp42Mi6qB8uCLdK0=
=Nhg1
-----END PGP SIGNATURE-----
--- End Message ---