Your message dated Thu, 25 Feb 2021 22:20:00 +0000
with message-id <e1lfozi-00037k...@fasolo.debian.org>
and subject line Bug#982553: fixed in python-aalib 0.4-1
has caused the Debian Bug report #982553,
regarding python3-aalib: ABI mismatch on amd64
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 ow...@bugs.debian.org
immediately.)


-- 
982553: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=982553
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: python3-aalib
Version: 0.3.2-4
Severity: normal

Dear Maintainer,

It looks like there's an ABI mismatch between the structure layout
declared in the python code and the actual layout.

It causes python to allocate less memory than needed by the C library.
On rare occasions, the uninitialized field gets a non-zero value, which
produce weird behaviors.

Specifically, the struct fields of aa_hardware_params and
aa_render_params are only aligned on 4 bytes on i386 when compiled with
gcc. Not on x64 or any other architecture as far as I can tell.

When reading the beginning of aalib.h we can see:

/* The -malign-double switch changes binarry compatibility with structures
   containing floating point values.  To avoid this, set alignment manually
   to old value.  */

#ifdef __GNUC__
#ifdef __i386__
#define __AA_ALIGN __attribute__ ((__aligned__ (4)))
#define __AA_NOALIGN __attribute__ ((__packed__))
#endif
#endif


Which shows explicitely that the struct fields are only aligned or
packed on i386. Given the specificity of the condition and the comment
above, my guess would be that this was made only to prevent an ABI
breakage when upgrading gcc, and not a general definition.

Therefore I think that the _pack_ = 4 attribute when declaring the
structures is too strict.

class HardwareSettings(Structure):
    _pack_ = 4
    _fields_ = [
        # ...
    ]


Although I have no clue how to detect it, this should probably be set
only for the 32 bits builds on intel-compatible platforms (only when
__i386__ is set). Note that 32 bits systems can be installed on 64 bits
hardware, and 32 bits builds of python can be installed in 64 bits
debian systems. So it should really be the ELFCLASS of the library that
should be tested, neither the architecture of the hardware nor the
debian arch.


On the other hand, maybe an easier fix would be to have a more
consistent ABI on the aalib side? Although this would mean bumping the
ABI version and possibly breaking many packaged, this might be the best
long-term solution. If you think so, feel free to reassign this bug
report as needed.



Best regards,
Celelibi


-- System Information:
Debian Release: bullseye/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'testing-debug'), (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 5.9.0-5-amd64 (SMP w/2 CPU threads)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages python3-aalib depends on:
ii  libaa1   1.4p5-48
ii  python3  3.9.1-1

python3-aalib recommends no packages.

Versions of packages python3-aalib suggests:
ii  python3-pil  8.1.0-1

-- no debconf information

--- End Message ---
--- Begin Message ---
Source: python-aalib
Source-Version: 0.4-1
Done: Stefano Rivera <stefa...@debian.org>

We believe that the bug you reported is fixed in the latest version of
python-aalib, 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 982...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Stefano Rivera <stefa...@debian.org> (supplier of updated python-aalib 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 ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Thu, 25 Feb 2021 14:01:48 -0800
Source: python-aalib
Architecture: source
Version: 0.4-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Python Team <team+pyt...@tracker.debian.org>
Changed-By: Stefano Rivera <stefa...@debian.org>
Closes: 982553
Changes:
 python-aalib (0.4-1) unstable; urgency=medium
 .
   [ Stefano Rivera ]
   * New upstream release. (Closes: #982553)
   * Bump copyright years.
   * Add upstream metadata.
   * Bump Standards-Version to 4.5.1, no changes needed.
   * Run the new ABI-test.
     - B-D on libaa1-dev.
   * Install the changelog with dh_installchangelogs. There are no other docs
     to install.
   * Bump watch file to version 4.
 .
   [ Ondřej Nový ]
   * d/control: Update Maintainer field with new Debian Python Team
     contact address.
   * d/control: Update Vcs-* fields with new Debian Python Team Salsa
     layout.
 .
   [ Debian Janitor ]
   * Set upstream metadata fields: Repository.
Checksums-Sha1:
 afa2d6815283f7e4f47fb44660c773f5f3fb4eb1 1719 python-aalib_0.4-1.dsc
 eaec55fae044ecc8f8735fb818484e89e93b35c1 16136 python-aalib_0.4.orig.tar.gz
 c8c893c3dff98559d02433da288180ceaded2038 833 python-aalib_0.4.orig.tar.gz.asc
 7179a1695416b5ed335937193a4738c085a10327 14048 python-aalib_0.4-1.debian.tar.xz
 76b8685f2bee2c63d3eacaf91dd4b6753d19d55f 5899 
python-aalib_0.4-1_source.buildinfo
Checksums-Sha256:
 d6c447b97f1d8f28d5200059a6b21378e762df94e6d73fda2deab7975a9ae7d8 1719 
python-aalib_0.4-1.dsc
 3fc183d60f7f51d11ef2ad9609655e5e3f4867b9af06dccab9b57de1040d8c15 16136 
python-aalib_0.4.orig.tar.gz
 90bab75288269bcd288fd84f5d0134c98f08ff2ba247b8f6bdbf5b0b67e89d94 833 
python-aalib_0.4.orig.tar.gz.asc
 bcfcbaf163d50a21315b5927db9a0b9f9eebc9c5d13f23bbff4c7d3354389dbe 14048 
python-aalib_0.4-1.debian.tar.xz
 aedfb837d835eaf9ce43cb49ec41b0bc07fe51601e50d232e5282a0f0a55448b 5899 
python-aalib_0.4-1_source.buildinfo
Files:
 7a16591906eb87ea7d9a9bb4e054fe5e 1719 python optional python-aalib_0.4-1.dsc
 f017fcee366316b9b72bbfc302f0abab 16136 python optional 
python-aalib_0.4.orig.tar.gz
 4d49d8a73aa0982e189fce84d23bbd3d 833 python optional 
python-aalib_0.4.orig.tar.gz.asc
 259cbf5fcf778af6078bdb810154bbb8 14048 python optional 
python-aalib_0.4-1.debian.tar.xz
 9cc187582629687c9e935534135da05f 5899 python optional 
python-aalib_0.4-1_source.buildinfo

-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQTumtb5BSD6EfafSCRHew2wJjpU2AUCYDge1gAKCRBHew2wJjpU
2BPOAQD1kAaP6o+OSsX5rZ3g1idSRd4J7je3lp6yJ67bRxhPKwD/VBifJ2wqVw/C
b30P1rfOvtmJCxGpwP7o7evd3lQVSwg=
=x6wT
-----END PGP SIGNATURE-----

--- End Message ---
_______________________________________________
Python-modules-team mailing list
Python-modules-team@alioth-lists.debian.net
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/python-modules-team

Reply via email to